** Changed in: linux-oem-6.11 (Ubuntu Noble)
       Status: In Progress => Fix Committed

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

Title:
  Handle IOMMU IVRS entries with mismatched UID on AMD Strix or newer
  platforms

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  Fix Released
Status in linux-oem-6.11 package in Ubuntu:
  Invalid
Status in linux-oem-6.14 package in Ubuntu:
  Invalid
Status in linux source package in Noble:
  Invalid
Status in linux-oem-6.11 source package in Noble:
  Fix Committed
Status in linux-oem-6.14 source package in Noble:
  In Progress
Status in linux source package in Oracular:
  In Progress
Status in linux-oem-6.11 source package in Oracular:
  Invalid
Status in linux-oem-6.14 source package in Oracular:
  Invalid
Status in linux source package in Plucky:
  In Progress
Status in linux-oem-6.11 source package in Plucky:
  Invalid
Status in linux-oem-6.14 source package in Plucky:
  Invalid
Status in linux source package in Questing:
  Fix Released
Status in linux-oem-6.11 source package in Questing:
  Invalid
Status in linux-oem-6.14 source package in Questing:
  Invalid

Bug description:
  [ SRU Justification ]

  [ Impact ]

  A BIOS upgrade has changed the IVRS DTE UID for a device that no
  longer matches the UID in the SSDT and may potentially affect s0i3 on
  Linux systems.

  [ Test Plan ]

  1. Dump IVRS table:
  ```
  # install acpica-tools
  $ sudo apt-get install --no-install-recommends --yes acpica-tools
  $ sudo acpidump -o acpi.dump
  $ acpixtract -a acpi.dump
  $ iasl -d ivrs.dat

  ```

  2. Search for subtable type F0 in decoded ivrs.dsl:
  ```
  [176h 0374 001h]               Subtable Type : F0 [Device Entry: ACPI HID 
Named Device]
  [177h 0375 002h]                   Device ID : 00A5
  [179h 0377 001h] Data Setting (decoded below) : 40
                                      INITPass : 0
                                      EIntPass : 0
                                       NMIPass : 0
                                      Reserved : 0
                                   System MGMT : 0
                                    LINT0 Pass : 1
                                    LINT1 Pass : 0
  [17Ah 0378 008h]                    ACPI HID : "AMDI0020"
  [182h 0386 008h]                    ACPI CID : 0000000000000000
  [18Ah 0394 001h]                  UID Format : 02
  [18Bh 0395 001h]                  UID Length : 04
  [18Ch 0396 004h]                         UID : "ID01"
  ```

  3. Locate the MHSP device from SSDT tables:
  ```
   grep -n 'Device (MHSP)' -A4 ssdt*.dsl
  ssdt34.dsl:25:        Device (MHSP)
  ssdt34.dsl-26-        {
  ssdt34.dsl-27-            Name (_ADR, Zero)  // _ADR: Address
  ssdt34.dsl-28-            Name (_HID, "MSFT0201")  // _HID: Hardware ID
  ssdt34.dsl-29-            Name (_UID, One)  // _UID: Unique ID
  ```

  4. From IVRS the UID is "ID01" yet it's numeric 1 from SSDT, so this
  system is affected.

  [ Where problems could occur ]

  This restore the ability to match UID correctly as before. No side
  effect.

  [ Other Info ]

  Such BIOS upgrade may occur for Strix, Krackan, Strix Halo, and Gorgon
  Point systems. Nominate for series with v6.11+ kernels.

  ========== original bug report ==========

  A future BIOS upgrade may occur for Strix, Krackan, Strix Halo, and
  Gorgon Point systems that has the potential to break s0i3 on Ubuntu.
  OEMs may choose to roll this out.

  This BIOS upgrade modifies the ACPI IVRS UID entry for a device from a
  numeric value "1" to a string value, for example, "_SB.MHSP". The
  upgrade however DOES NOT modify the matching SSDT entry, that one
  remains "1".

  In the current AMD Linux IOMMU driver this causes the device not to be
  configured by the IOMMU. Suspending the system when this device is not
  configured by the IOMMU will cause an unrecoverable page fault.

  This mismatch however is intentional from the BIOS team and stems from
  how the IOMMU spec is interpreted by Microsoft vs from AMD Linux IOMMU
  driver. For this reason; it's going to be important to allow this to
  work from Linux as well.

  v6.16-rc1:
  
https://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git/commit/?h=next&id=51c33f333bbf7bdb6aa2a327e3a3e4bbb2591511

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/2115174/+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