blob: 18c660e82187303e2544e3bf24303c413600d312 [file] [log] [blame]
From 0714045a91aea35e1b1136bbd9b755b24b6a4371 Mon Sep 17 00:00:00 2001
From: Abhijeet Rao <abhijeet.rao@intel.corp-partner.google.com>
Date: Fri, 18 Mar 2022 02:56:36 +0000
Subject: [PATCH] Reland "FROMLIST: PCI/DPC: Disable DPC service when link is
in L2/L3 ready, L2 and L3 state"
This reverts commit c78ed2bbdacd3aa9d37d9c814ae839c0835f01fa.
Reason for revert: The hard hang issue will be fixed in CB. Hence these patches can be relanded
BUG=b:217419041
TEST=Connect Gatkex card and authorize it & run suspend_stress_test -c 10
Signed-off-by: Abhijeet Rao <abhijeet.rao@intel.corp-partner.google.com>
Original change's description:
> Revert "FROMLIST: PCI/DPC: Disable DPC service when link is in L2/L3 ready, L2 and L3 state"
>
> This reverts commit 93e7d232f85b0d597f8e9884386b9e3d43cedd3a.
>
> Reason for revert: debug patch : Causing regression with Soix, b/220796339
>
> BUG: b/220796339
>
> Original change's description:
> > FROMLIST: PCI/DPC: Disable DPC service when link is in L2/L3 ready, L2 and L3 state
> >
> > Since TLP and DLLP transmission is disabled for a Link in L2/L3 Ready,
> > L2 and L3 (i.e. device in D3hot and D3cold), and DPC depends on AER, so
> > also disable DPC here.
> >
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> > (am from https://patchwork.kernel.org/patch/12726164/)
> > (also found at https://lore.kernel.org/r/20220127025418.1989642-2-kai.heng.feng@canonical.com)
> >
> > BUG=b:217419041
> > TEST=Connect Gatkex card and authorize it & run suspend_stress_test -c 10
> > . S0ix test passes 10 cycles
> >
> > Signed-off-by: Prashant Malani <pmalani@chromium.org>
> > Signed-off-by: George D Sworo <george.d.sworo@intel.com>
> > Change-Id: Idcadb2bcaf1421709ec13eb667c9d006e24cf3d5
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3437706
> > Reviewed-by: Sean Paul <seanpaul@chromium.org>
> > Reviewed-by: Rajat Jain <rajatja@google.com>
>
> Bug: b:217419041
> Change-Id: I889cb1fd1dba06ef1ccc6f76d3079651b52e528e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3499774
> Reviewed-by: Rajat Jain <rajatja@google.com>
> Tested-by: Rajat Jain <rajatja@google.com>
> Commit-Queue: Rajat Jain <rajatja@google.com>
Bug: b:217419041
Change-Id: I3406f2fee4f2b5f7583528a5a3287fb29718c2e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3535339
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Rajat Jain <rajatja@google.com>
Commit-Queue: Rajat Jain <rajatja@google.com>
Tested-by: Rajat Jain <rajatja@google.com>
(cherry picked from commit 2336cd4cf7e1dfce9d956c4675fd9354144155fb)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3539623
---
drivers/pci/pcie/dpc.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c
index 2b6ef7efa3c113ad0c4b982dc922c7d661c7fffa..cf084d954cd0b7cc26282dec9c647654e157f528 100644
--- a/drivers/pci/pcie/dpc.c
+++ b/drivers/pci/pcie/dpc.c
@@ -495,13 +495,15 @@ static void dpc_remove(struct pcie_device *dev)
}
static struct pcie_port_service_driver dpcdriver = {
- .name = "dpc",
- .port_type = PCIE_ANY_PORT,
- .service = PCIE_PORT_SERVICE_DPC,
- .probe = dpc_probe,
- .suspend = dpc_suspend,
- .resume = dpc_resume,
- .remove = dpc_remove,
+ .name = "dpc",
+ .port_type = PCIE_ANY_PORT,
+ .service = PCIE_PORT_SERVICE_DPC,
+ .probe = dpc_probe,
+ .suspend = dpc_suspend,
+ .resume = dpc_resume,
+ .runtime_suspend = dpc_suspend,
+ .runtime_resume = dpc_resume,
+ .remove = dpc_remove,
};
int __init pcie_dpc_init(void)
--
2.46.0.rc2.264.g509ed76dc8-goog