All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yazen Ghannam <yazen.ghannam@amd.com>
To: "Mario Limonciello (AMD) (kernel.org)" <superm1@kernel.org>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	Filip Barczyk <filip.barczyk@pico.net>
Subject: Re: [PATCH 1/2] x86/amd_node: Fix AMD root device caching
Date: Wed, 1 Oct 2025 09:46:12 -0400	[thread overview]
Message-ID: <20251001134612.GA738751@yaz-khff2.amd.com> (raw)
In-Reply-To: <94cd8a1f-1f2a-4cd6-8ab8-49b9d1e9fa2d@kernel.org>

On Tue, Sep 30, 2025 at 01:07:47PM -0500, Mario Limonciello (AMD) (kernel.org) wrote:
> 
> 
> On 9/30/2025 11:45 AM, Yazen Ghannam wrote:
> > Recent AMD node rework removed the "search and count" method of caching
> > AMD root devices. This depended on the value from a Data Fabric register
> > that was expected to hold the PCI bus of one of the root devices
> > attached to that fabric.
> > 
> > However, this expectation is incorrect. The register, when read from PCI
> > config space, returns the bitwise-OR of the buses of all attached root
> > devices.
> > 
> > This behavior is benign on AMD reference design boards, since the bus
> > numbers are aligned. This results in a bitwise-OR value matching one of
> > the buses. For example, 0x00 | 0x40 | 0xA0 | 0xE0 = 0xE0.
> > 
> > This behavior breaks on boards where the bus numbers are not exactly
> > aligned. For example, 0x00 | 0x07 | 0xE0 | 0x15 = 0x1F.
> > 
> > The bus numbering style in the reference boards is not a requirement.
> > The numbering found in other boards is not incorrect. Therefore, the
> > root device caching method needs to be adjusted.
> > 
> > Go back to the "search and count" method used before the recent rework.
> > Search for root devices using PCI class code rather than fixed PCI IDs.
> > 
> > This keeps the goal of the rework (remove dependency on PCI IDs) while
> > being able to support various board designs.
> > 
> > Fixes: 40a5f6ffdfc8 ("x86/amd_nb: Simplify root device search")
> 
> Was this a publicly reported failure?
> 
> If so is there a link to LKML or a Bugzilla with the details of the failure
> you can include here?
> 

No, it was reported off-list.

Thanks,
Yazen

  reply	other threads:[~2025-10-01 13:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-30 16:45 [PATCH 0/2] AMD root search fix Yazen Ghannam
2025-09-30 16:45 ` [PATCH 1/2] x86/amd_node: Fix AMD root device caching Yazen Ghannam
2025-09-30 18:07   ` Mario Limonciello (AMD) (kernel.org)
2025-10-01 13:46     ` Yazen Ghannam [this message]
2025-10-07 17:30       ` Filip Barczyk
2025-10-07 17:37       ` Filip Barczyk
2025-10-21 12:29   ` Borislav Petkov
2025-10-21 13:37     ` Yazen Ghannam
2025-10-21 14:15       ` Borislav Petkov
2025-10-21 14:25         ` Yazen Ghannam
2025-10-22 11:13   ` Borislav Petkov
2025-10-22 13:19     ` Yazen Ghannam
2025-10-22 18:48       ` Borislav Petkov
2025-09-30 16:45 ` [PATCH 2/2] x86/amd_node: Use new root search helper Yazen Ghannam
2025-09-30 18:07 ` [PATCH 0/2] AMD root search fix Mario Limonciello (AMD) (kernel.org)

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=20251001134612.GA738751@yaz-khff2.amd.com \
    --to=yazen.ghannam@amd.com \
    --cc=filip.barczyk@pico.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=superm1@kernel.org \
    --cc=x86@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.