** Description changed:

+ SRU Justification for Noble
+ 
+ [Impact]
+ checkbox test case, after-suspend-mediacard/sdhc-insert, failed.
+ 
+ [Fix]
+ The new series of the fix has been merged into v6.9
+ 
+ 6d4266675279 PCI/ASPM: Update save_state when configuration changes
+ 64dbb2d70744 PCI/ASPM: Disable L1 before configuring L1 Substates
+ c198fafa0125 PCI/ASPM: Call pci_save_ltr_state() from pci_save_pcie_state()
+ 17423360a27a PCI/ASPM: Save L1 PM Substates Capability for suspend/resume
+ 1e11b5494c3d PCI/ASPM: Move pci_save_ltr_state() to aspm.c
+ f3994bba8200 PCI/ASPM: Always build aspm.c
+ fa84f4435a62 PCI/ASPM: Move pci_configure_ltr() to aspm.c
+ 
+ [Test Case]
+ 1. suspend and resume.
+ 2. check if the error appears in dmesg
+ ~~~
+  pcieport 0000:00:1c.0: pciehp: Slot(5): Card not present
+  rtsx_pci 0000:05:00.0: Unable to change power state from D0 to D3hot, device 
inaccessible
+  rtsx_pci 0000:05:00.0: Unable to change power state from D3cold to D0, 
device inaccessible
+ ~~~
+ 
+ [Where the problems could occur]
+ 
+ =============================
  [Impact]
  checkbox test case, after-suspend-mediacard/sdhc-insert, failed.
  
  [Fix]
  Commit a7152be79b62 ("Revert "PCI/ASPM: Save L1 PM Substates Capability
  for suspend/resume"") reverted saving and restoring of ASPM L1 Substates
  due to a regression that caused resume from suspend to fail on certain
  systems. However, we never added this capability back and this is now
  causing systems fail to enter low power CPU states, drawing more power
  from the battery.
-     
+ 
  The original revert mentioned that we restore L1 PM substate configuration
  even though ASPM L1 may already be enabled. This is due the fact that
  the pci_restore_aspm_l1ss_state() was called before pci_restore_pcie_state().
-     
+ 
  Try to enable this functionality again following PCIe r6.0.1, sec 5.5.4
  more closely by:
-     
+ 
  1) Do not restore ASPM configuration in pci_restore_pcie_state() but
-    do that after PCIe capability is restored in pci_restore_aspm_state()
-    following PCIe r6.0, sec 5.5.4.
-     
+    do that after PCIe capability is restored in pci_restore_aspm_state()
+    following PCIe r6.0, sec 5.5.4.
+ 
  2) ASPM is first enabled on the upstream component and then downstream
-    (this is already forced by the parent-child ordering of Linux
-    Device Power Management framework).
-     
+    (this is already forced by the parent-child ordering of Linux
+    Device Power Management framework).
+ 
  3) Program ASPM L1 PM substate configuration before L1 enables.
-     
+ 
  4) Program ASPM L1 PM substate enables last after rest of the fields
-    in the capability are programmed.
-     
+    in the capability are programmed.
+ 
  5) Add denylist that skips restoring on the ASUS and TUXEDO systems
-    where these regressions happened, just in case. For the TUXEDO case
-    we only skip restore if the BIOS is involved in system suspend
-    (that's forcing "mem_sleep=deep" in the command line). This is to
-    avoid possible power regression when the default suspend to idle is
-    used, and at the same time make sure the devices continue working
-    after resume when the BIOS is involved.
+    where these regressions happened, just in case. For the TUXEDO case
+    we only skip restore if the BIOS is involved in system suspend
+    (that's forcing "mem_sleep=deep" in the command line). This is to
+    avoid possible power regression when the default suspend to idle is
+    used, and at the same time make sure the devices continue working
+    after resume when the BIOS is involved.
  
  [Test Case]
  1. suspend and resume.
  2. check if the error appears in dmesg
  ~~~
-  pcieport 0000:00:1c.0: pciehp: Slot(5): Card not present
-  rtsx_pci 0000:05:00.0: Unable to change power state from D0 to D3hot, device 
inaccessible
-  rtsx_pci 0000:05:00.0: Unable to change power state from D3cold to D0, 
device inaccessible
+  pcieport 0000:00:1c.0: pciehp: Slot(5): Card not present
+  rtsx_pci 0000:05:00.0: Unable to change power state from D0 to D3hot, device 
inaccessible
+  rtsx_pci 0000:05:00.0: Unable to change power state from D3cold to D0, 
device inaccessible
  ~~~
  
  [where the issue could happen]
  low, the patch works well on the reported malfunctioned ASUS platform too.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-6.5 in Ubuntu.
https://bugs.launchpad.net/bugs/2042500

Title:
  Fix after-suspend-mediacard/sdhc-insert test failed

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  In Progress
Status in linux-oem-6.1 package in Ubuntu:
  Invalid
Status in linux-oem-6.5 package in Ubuntu:
  Invalid
Status in linux-oem-6.8 package in Ubuntu:
  In Progress
Status in linux source package in Jammy:
  Invalid
Status in linux-oem-6.1 source package in Jammy:
  Fix Released
Status in linux-oem-6.5 source package in Jammy:
  Fix Released
Status in linux-oem-6.8 source package in Jammy:
  Invalid
Status in linux source package in Mantic:
  Won't Fix
Status in linux-oem-6.1 source package in Mantic:
  Invalid
Status in linux-oem-6.5 source package in Mantic:
  Invalid
Status in linux-oem-6.8 source package in Mantic:
  Invalid
Status in linux source package in Noble:
  In Progress
Status in linux-oem-6.1 source package in Noble:
  Invalid
Status in linux-oem-6.5 source package in Noble:
  Invalid
Status in linux-oem-6.8 source package in Noble:
  In Progress

Bug description:
  SRU Justification for Noble

  [Impact]
  checkbox test case, after-suspend-mediacard/sdhc-insert, failed.

  [Fix]
  The new series of the fix has been merged into v6.9

  6d4266675279 PCI/ASPM: Update save_state when configuration changes
  64dbb2d70744 PCI/ASPM: Disable L1 before configuring L1 Substates
  c198fafa0125 PCI/ASPM: Call pci_save_ltr_state() from pci_save_pcie_state()
  17423360a27a PCI/ASPM: Save L1 PM Substates Capability for suspend/resume
  1e11b5494c3d PCI/ASPM: Move pci_save_ltr_state() to aspm.c
  f3994bba8200 PCI/ASPM: Always build aspm.c
  fa84f4435a62 PCI/ASPM: Move pci_configure_ltr() to aspm.c

  [Test Case]
  1. suspend and resume.
  2. check if the error appears in dmesg
  ~~~
   pcieport 0000:00:1c.0: pciehp: Slot(5): Card not present
   rtsx_pci 0000:05:00.0: Unable to change power state from D0 to D3hot, device 
inaccessible
   rtsx_pci 0000:05:00.0: Unable to change power state from D3cold to D0, 
device inaccessible
  ~~~

  [Where the problems could occur]

  =============================
  [Impact]
  checkbox test case, after-suspend-mediacard/sdhc-insert, failed.

  [Fix]
  Commit a7152be79b62 ("Revert "PCI/ASPM: Save L1 PM Substates Capability
  for suspend/resume"") reverted saving and restoring of ASPM L1 Substates
  due to a regression that caused resume from suspend to fail on certain
  systems. However, we never added this capability back and this is now
  causing systems fail to enter low power CPU states, drawing more power
  from the battery.

  The original revert mentioned that we restore L1 PM substate configuration
  even though ASPM L1 may already be enabled. This is due the fact that
  the pci_restore_aspm_l1ss_state() was called before pci_restore_pcie_state().

  Try to enable this functionality again following PCIe r6.0.1, sec 5.5.4
  more closely by:

  1) Do not restore ASPM configuration in pci_restore_pcie_state() but
     do that after PCIe capability is restored in pci_restore_aspm_state()
     following PCIe r6.0, sec 5.5.4.

  2) ASPM is first enabled on the upstream component and then downstream
     (this is already forced by the parent-child ordering of Linux
     Device Power Management framework).

  3) Program ASPM L1 PM substate configuration before L1 enables.

  4) Program ASPM L1 PM substate enables last after rest of the fields
     in the capability are programmed.

  5) Add denylist that skips restoring on the ASUS and TUXEDO systems
     where these regressions happened, just in case. For the TUXEDO case
     we only skip restore if the BIOS is involved in system suspend
     (that's forcing "mem_sleep=deep" in the command line). This is to
     avoid possible power regression when the default suspend to idle is
     used, and at the same time make sure the devices continue working
     after resume when the BIOS is involved.

  [Test Case]
  1. suspend and resume.
  2. check if the error appears in dmesg
  ~~~
   pcieport 0000:00:1c.0: pciehp: Slot(5): Card not present
   rtsx_pci 0000:05:00.0: Unable to change power state from D0 to D3hot, device 
inaccessible
   rtsx_pci 0000:05:00.0: Unable to change power state from D3cold to D0, 
device inaccessible
  ~~~

  [where the issue could happen]
  low, the patch works well on the reported malfunctioned ASUS platform too.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/2042500/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to