Commit 269d4b06 authored by Jianmin Lv's avatar Jianmin Lv Committed by Hongchen Zhang
Browse files

PCI: PM: Fix pcie mrrs restoring

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I6BWFP



--------------------------------

Don't limit mmrs during resume, so that saved value can be
restored.

Fix patch "PCI: loongson: Improve the MRRS quirk for LS7A"

Signed-off-by: default avatarJianmin Lv <lvjianmin@loongson.cn>
Change-Id: I63c49e5c1d7e2a0a6eb3de9faa13cef1f94a4462
parent d4a1d525
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <linux/vmalloc.h>
#include <asm/dma.h>
#include <linux/aer.h>
#include <linux/suspend.h>
#include "pci.h"

DEFINE_MUTEX(pci_slot_mutex);
@@ -147,6 +148,11 @@ static bool pci_bridge_d3_disable;
/* Force bridge_d3 for all PCIe ports */
static bool pci_bridge_d3_force;

#ifndef CONFIG_PM_SLEEP
suspend_state_t pm_suspend_target_state;
#define pm_suspend_target_state (PM_SUSPEND_ON)
#endif

static int __init pcie_port_pm_setup(char *str)
{
	if (!strcmp(str, "off"))
@@ -5769,7 +5775,8 @@ int pcie_set_readrq(struct pci_dev *dev, int rq)

	v = (ffs(rq) - 8) << 12;

	if (bridge->no_inc_mrrs) {
	if (pm_suspend_target_state == PM_SUSPEND_ON &&
		bridge->no_inc_mrrs) {
		if (rq > pcie_get_readrq(dev))
			return -EINVAL;
	}