[PATCH v1] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list

Antheas Kapenekakis posted 1 patch 4 months ago
drivers/platform/x86/amd/pmc/pmc-quirks.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
[PATCH v1] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list
Posted by Antheas Kapenekakis 4 months ago
The Lenovo Legion Go 2 takes a long time to resume from suspend.
This is due to it having an nvme resume handler that interferes
with IOMMU mappings. It is a common issue with older Lenovo
laptops. Adding it to that quirk list fixes this issue.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4618
Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
---
 drivers/platform/x86/amd/pmc/pmc-quirks.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index d63aaad7ef59..0fadcf5f288a 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -204,6 +204,23 @@ static const struct dmi_system_id fwbug_list[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "82ND"),
 		}
 	},
+	/* https://gitlab.freedesktop.org/drm/amd/-/issues/4618 */
+	{
+		.ident = "Lenovo Legion Go 2",
+		.driver_data = &quirk_s2idle_bug,
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "83N0"),
+		}
+	},
+	{
+		.ident = "Lenovo Legion Go 2",
+		.driver_data = &quirk_s2idle_bug,
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "83N1"),
+		}
+	},
 	/* https://gitlab.freedesktop.org/drm/amd/-/issues/2684 */
 	{
 		.ident = "HP Laptop 15s-eq2xxx",

base-commit: a8cdf51cda30f7461a98af821e8a28c5cb5f8878
-- 
2.51.0
Re: [PATCH v1] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list
Posted by Ilpo Järvinen 3 months ago
On Wed, 08 Oct 2025 15:50:57 +0200, Antheas Kapenekakis wrote:

> The Lenovo Legion Go 2 takes a long time to resume from suspend.
> This is due to it having an nvme resume handler that interferes
> with IOMMU mappings. It is a common issue with older Lenovo
> laptops. Adding it to that quirk list fixes this issue.
> 
> 


Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list
      commit: ad537973e63dbd8fa1342489c818ab26cf447649

--
 i.
Re: [PATCH v1] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list
Posted by Mario Limonciello 4 months ago
On 10/8/25 8:50 AM, Antheas Kapenekakis wrote:
> The Lenovo Legion Go 2 takes a long time to resume from suspend.
> This is due to it having an nvme resume handler that interferes
> with IOMMU mappings. It is a common issue with older Lenovo
> laptops. Adding it to that quirk list fixes this issue.
> 
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4618
> Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>

This makes sense for BIOS in the field.
If this is fixed in the BIOS later I'd like to narrow the quirk at a 
later time.

Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>

> ---
>   drivers/platform/x86/amd/pmc/pmc-quirks.c | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> index d63aaad7ef59..0fadcf5f288a 100644
> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> @@ -204,6 +204,23 @@ static const struct dmi_system_id fwbug_list[] = {
>   			DMI_MATCH(DMI_PRODUCT_NAME, "82ND"),
>   		}
>   	},
> +	/* https://gitlab.freedesktop.org/drm/amd/-/issues/4618 */
> +	{
> +		.ident = "Lenovo Legion Go 2",
> +		.driver_data = &quirk_s2idle_bug,
> +		.matches = {
> +			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "83N0"),
> +		}
> +	},
> +	{
> +		.ident = "Lenovo Legion Go 2",
> +		.driver_data = &quirk_s2idle_bug,
> +		.matches = {
> +			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "83N1"),
> +		}
> +	},
>   	/* https://gitlab.freedesktop.org/drm/amd/-/issues/2684 */
>   	{
>   		.ident = "HP Laptop 15s-eq2xxx",
> 
> base-commit: a8cdf51cda30f7461a98af821e8a28c5cb5f8878