Skip to content
Snippets Groups Projects
user avatar
Myron Stowe authored
JIRA: https://issues.redhat.com/browse/RHEL-83611
Upstream Status: b1049f2d68693c80a576c4578d96774a68df2bad

commit b1049f2d68693c80a576c4578d96774a68df2bad
Author: Werner Sembach <wse@tuxedocomputers.com>
Date:   Tue Jan 14 23:23:54 2025 +0100

    PCI: Avoid putting some root ports into D3 on TUXEDO Sirius Gen1

    commit 9d26d3a8 ("PCI: Put PCIe ports into D3 during suspend") sets the
    policy that all PCIe ports are allowed to use D3.  When the system is
    suspended if the port is not power manageable by the platform and won't be
    used for wakeup via a PME this sets up the policy for these ports to go
    into D3hot.

    This policy generally makes sense from an OSPM perspective but it leads to
    problems with wakeup from suspend on the TUXEDO Sirius 16 Gen 1 with a
    specific old BIOS. This manifests as a system hang.

    On the affected Device + BIOS combination, add a quirk for the root port of
    the problematic controller to ensure that these root ports are not put into
    D3hot at suspend.

    This patch is based on

      https://lore.kernel.org/linux-pci/20230708214457.1229-2-mario.limonciello@amd.com



    but with the added condition both in the documentation and in the code to
    apply only to the TUXEDO Sirius 16 Gen 1 with a specific old BIOS and only
    the affected root ports.

    Fixes: 9d26d3a8 ("PCI: Put PCIe ports into D3 during suspend")
Suggested-by: default avatarMario Limonciello <mario.limonciello@amd.com>
    Link: https://lore.kernel.org/r/20250114222436.1075456-1-wse@tuxedocomputers.com


Co-developed-by: default avatarGeorg Gottleuber <ggo@tuxedocomputers.com>
Signed-off-by: default avatarGeorg Gottleuber <ggo@tuxedocomputers.com>
Signed-off-by: default avatarWerner Sembach <wse@tuxedocomputers.com>
Signed-off-by: default avatarKrzysztof Wilczyński <kwilczynski@kernel.org>
    Cc: <stable@vger.kernel.org> # 6.1+

Signed-off-by: default avatarMyron Stowe <mstowe@redhat.com>
4df3bfe0
History
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Name Last commit Last update
..