Commit 1f46f3a1 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 mrrs 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>
parent dbf0b272
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
#include <asm/dma.h>
#include <linux/aer.h>
#include <linux/bitfield.h>
#include <linux/suspend.h>
#include "pci.h"

DEFINE_MUTEX(pci_slot_mutex);
@@ -172,6 +173,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"))
@@ -6166,7 +6172,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) {
		int max_mrrs = pcie_get_readrq(dev);

		if (rq > max_mrrs) {