Re: [PATCH 0/2] Fix s2idle resume on HP 15s-eq2xxx

From: Hans de Goede
Date: Tue Jul 11 2023 - 05:48:17 EST


Hi Mario,

On 7/10/23 20:39, Mario Limonciello wrote:
> HP 15s-eq2xxx has problems resuming from s2idle when IOMMU is enabled.
> This is the same root cause as some Lenovo laptops had where IOMMU enabled
> caused issues with NVME during s2idle resume from a problematic SMI.
>
> To series fixes the issue by re-using the same quirk developed from the
> older Lenovo laptops.
>
> Mario Limonciello (2):
> platform/x86: Move s2idle quirk from thinkpad-acpi to amd-pmc
> platform/x86/amd: pmc: Apply nvme quirk to HP 15s-eq2xxx
>
> drivers/platform/x86/amd/Makefile | 2 +-
> drivers/platform/x86/amd/pmc-quirks.c | 172 ++++++++++++++++++++++++++
> drivers/platform/x86/amd/pmc.c | 30 +----
> drivers/platform/x86/amd/pmc.h | 43 +++++++
> drivers/platform/x86/thinkpad_acpi.c | 143 ---------------------
> 5 files changed, 222 insertions(+), 168 deletions(-)
> create mode 100644 drivers/platform/x86/amd/pmc-quirks.c
> create mode 100644 drivers/platform/x86/amd/pmc.h

Thank you for your series, I've applied this series to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

For patch 1/2 the inclusion of linux/pci.h in
drivers/platform/x86/amd/pmc.h is not necessary, where as
some actually needed headers (types and mutex) were missing.

So I've moved the pci.h include back to pmc.c and added
a few missing includes. I have squashed the following diff
into 1/2 while merging for this:

diff --git a/drivers/platform/x86/amd/pmc-quirks.c b/drivers/platform/x86/amd/pmc-quirks.c
index cdf4c7d0a36b..362e7c0097d7 100644
--- a/drivers/platform/x86/amd/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc-quirks.c
@@ -9,6 +9,9 @@
*/

#include <linux/dmi.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <linux/slab.h>

#include "pmc.h"

diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c
index 5a9bc062fa8a..a8ca95a5d44c 100644
--- a/drivers/platform/x86/amd/pmc.c
+++ b/drivers/platform/x86/amd/pmc.c
@@ -20,6 +20,7 @@
#include <linux/iopoll.h>
#include <linux/limits.h>
#include <linux/module.h>
+#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/rtc.h>
#include <linux/serio.h>
diff --git a/drivers/platform/x86/amd/pmc.h b/drivers/platform/x86/amd/pmc.h
index 8f78985ba340..c27bd6a5642f 100644
--- a/drivers/platform/x86/amd/pmc.h
+++ b/drivers/platform/x86/amd/pmc.h
@@ -11,7 +11,8 @@
#ifndef PMC_H
#define PMC_H

-#include <linux/pci.h>
+#include <linux/types.h>
+#include <linux/mutex.h>

struct amd_pmc_dev {
void __iomem *regbase;

Since this is just changing #include-s this should not cause
any functional changes.

I will include this series in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans