All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasant Hegde <vasant.hegde@amd.com>
To: Mario Limonciello <superm1@kernel.org>,
	mario.limonciello@amd.com, joro@8bytes.org, will@kernel.org
Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Paul Blinzer <Paul.Blinzer@amd.com>,
	iommu@lists.linux.dev
Subject: Re: [PATCH v3] iommu/amd: Allow matching ACPI HID devices without matching UIDs
Date: Wed, 14 May 2025 14:35:21 +0530	[thread overview]
Message-ID: <01af5c22-bc02-48d3-bcb3-4e998cefcdb7@amd.com> (raw)
In-Reply-To: <20250512173129.1274275-1-superm1@kernel.org>



On 5/12/2025 11:00 PM, Mario Limonciello wrote:
> From: Mario Limonciello <mario.limonciello@amd.com>
> 
> A BIOS upgrade has changed the IVRS DTE UID for a device that no
> longer matches the UID in the SSDT. In this case there is only
> one ACPI device on the system with that _HID but the _UID mismatch.
> 
> IVRS:
> ```
>               Subtable Type : F0 [Device Entry: ACPI HID Named Device]
>                   Device ID : 0060
> Data Setting (decoded below) : 40
>                  INITPass : 0
>                  EIntPass : 0
>                  NMIPass : 0
>                  Reserved : 0
>                  System MGMT : 0
>                  LINT0 Pass : 1
>                  LINT1 Pass : 0
>                    ACPI HID : "MSFT0201"
>                    ACPI CID : 0000000000000000
>                  UID Format : 02
>                  UID Length : 09
>                         UID : "\_SB.MHSP"
> ```
> 
> SSDT:
> ```
> Device (MHSP)
> {
>     Name (_ADR, Zero)  // _ADR: Address
>     Name (_HID, "MSFT0201")  // _HID: Hardware ID
>     Name (_UID, One)  // _UID: Unique ID
> ```
> 
> To handle this case; while enumerating ACPI devices in
> get_acpihid_device_id() count the number of matching ACPI devices with
> a matching _HID. If there is exactly one _HID match then accept it even
> if the UID doesn't match. Other operating systems allow this, but the
> current IVRS spec leaves some ambiguity whether to allow or disallow it.
> This should be clarified in future revisions of the spec. Output
> 'Firmware Bug' for this case to encourage it to be solved in the BIOS.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
> v3:
>  * Count HID matches as well (cover # HID w/o UID > 2)
>  * Drop level of indentation with early bail on error
>  * Show number of matches in error message
>  * Adjust commit message
> Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> Cc: Vasant Hegde <Vasant.Hegde@amd.com>
> Cc: Paul Blinzer <Paul.Blinzer@amd.com>

Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>

-Vasant



  reply	other threads:[~2025-05-14  9:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-12 17:30 [PATCH v3] iommu/amd: Allow matching ACPI HID devices without matching UIDs Mario Limonciello
2025-05-14  9:05 ` Vasant Hegde [this message]
2025-05-16  6:48 ` Joerg Roedel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01af5c22-bc02-48d3-bcb3-4e998cefcdb7@amd.com \
    --to=vasant.hegde@amd.com \
    --cc=Paul.Blinzer@amd.com \
    --cc=iommu@lists.linux.dev \
    --cc=joro@8bytes.org \
    --cc=mario.limonciello@amd.com \
    --cc=superm1@kernel.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.