Loading arch/x86/pci/fixup.c +30 −0 Original line number Diff line number Diff line Loading @@ -1010,4 +1010,34 @@ DECLARE_PCI_FIXUP_SUSPEND(PCI_VENDOR_ID_AMD, 0x1668, amd_rp_pme_suspend); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, 0x1668, amd_rp_pme_resume); DECLARE_PCI_FIXUP_SUSPEND(PCI_VENDOR_ID_AMD, 0x1669, amd_rp_pme_suspend); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, 0x1669, amd_rp_pme_resume); /* * Putting PCIe root ports on Ryzen SoCs with USB4 controllers into D3hot * may cause problems when the system attempts wake up from s2idle. * * On the TUXEDO Sirius 16 Gen 1 with a specific old BIOS this manifests as * a system hang. */ static const struct dmi_system_id quirk_tuxeo_rp_d3_dmi_table[] = { { .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TUXEDO"), DMI_EXACT_MATCH(DMI_BOARD_NAME, "APX958"), DMI_EXACT_MATCH(DMI_BIOS_VERSION, "V1.00A00_20240108"), }, }, {} }; static void quirk_tuxeo_rp_d3(struct pci_dev *pdev) { struct pci_dev *root_pdev; if (dmi_check_system(quirk_tuxeo_rp_d3_dmi_table)) { root_pdev = pcie_find_root_port(pdev); if (root_pdev) root_pdev->dev_flags |= PCI_DEV_FLAGS_NO_D3; } } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1502, quirk_tuxeo_rp_d3); #endif /* CONFIG_SUSPEND */ Loading
arch/x86/pci/fixup.c +30 −0 Original line number Diff line number Diff line Loading @@ -1010,4 +1010,34 @@ DECLARE_PCI_FIXUP_SUSPEND(PCI_VENDOR_ID_AMD, 0x1668, amd_rp_pme_suspend); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, 0x1668, amd_rp_pme_resume); DECLARE_PCI_FIXUP_SUSPEND(PCI_VENDOR_ID_AMD, 0x1669, amd_rp_pme_suspend); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, 0x1669, amd_rp_pme_resume); /* * Putting PCIe root ports on Ryzen SoCs with USB4 controllers into D3hot * may cause problems when the system attempts wake up from s2idle. * * On the TUXEDO Sirius 16 Gen 1 with a specific old BIOS this manifests as * a system hang. */ static const struct dmi_system_id quirk_tuxeo_rp_d3_dmi_table[] = { { .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TUXEDO"), DMI_EXACT_MATCH(DMI_BOARD_NAME, "APX958"), DMI_EXACT_MATCH(DMI_BIOS_VERSION, "V1.00A00_20240108"), }, }, {} }; static void quirk_tuxeo_rp_d3(struct pci_dev *pdev) { struct pci_dev *root_pdev; if (dmi_check_system(quirk_tuxeo_rp_d3_dmi_table)) { root_pdev = pcie_find_root_port(pdev); if (root_pdev) root_pdev->dev_flags |= PCI_DEV_FLAGS_NO_D3; } } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1502, quirk_tuxeo_rp_d3); #endif /* CONFIG_SUSPEND */