From: Thierry Reding <thierry.reding@kernel.org>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "Linmao Li" <lilinmao@kylinos.cn>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Bjorn Helgaas" <bhelgaas@google.com>
Subject: Re: [PATCH v2] PCI: tegra264: Fix Link Capabilities register offset
Date: Thu, 1 Oct 2026 09:40:11 +0200 [thread overview]
Message-ID: <ar4Nhd_mJ-NmUavQ@orome> (raw)
In-Reply-To: <20260923195719.1933175-2-bhelgaas@google.com>
[-- Attachment #1: Type: text/plain, Size: 1867 bytes --]
On Wed, Sep 23, 2026 at 02:57:20PM -0500, Bjorn Helgaas wrote:
> The PCI Express Capability begins at 0x48. Link Capabilities is a 32-bit
> register at offset 0xc, and Link Status is a 16-bit register at offset
> 0x12:
>
> Link Capabilities is at 0x48 + 0xc = 0x54
> Link Status is at 0x48 + 0x12 = 0x5a
>
> Previously the driver read Link Capabilities with a 16-bit read from
> XTL_RC_PCIE_CFG_LINK_CAPS (0x56), which incorrectly read just the upper
> half of the register. When a hotplug-capable port has no link during
> probe, tegra264_pcie_icc_set() consequently derives the maximum speed and
> width from unrelated bits and requests the wrong interconnect bandwidth.
>
> Correct the Link Capabilities usage by adding a XTL_RC_PCIE_CAP definition
> for the base of the PCIe Capability, using the existing PCI_EXP_LNKCAP
> (0xc) and PCI_EXP_LNKSTA (0x12) offsets so they're easily searchable, and
> reading the entire 32 bits of Link Capabilities.
>
> Fixes: 01c3c27a0ef6 ("PCI: tegra264: Add Tegra264 support")
> Based-on-patch-by: Linmao Li <lilinmao@kylinos.cn>
> Link: https://lore.kernel.org/20260827093919.2825467-1-lilinmao@kylinos.cn
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
>
> This fixes a real bug, so I'd like to get this in pci/next for v7.4. I
> can't test this though, so need a review and test from somebody with the
> hardware.
>
> drivers/pci/controller/pcie-tegra264.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
Sorry for the late reply, I had missed the patch you sent out. I've run
this on the Jetson AGX Thor DevKit and it still boots fine, all the PCI
devices show up:
Tested-by: Thierry Reding <treding@nvidia.com>
Also, the offsets do match what the register documentation says, so:
Reviewed-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-10-01 7:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-23 19:57 [PATCH v2] PCI: tegra264: Fix Link Capabilities register offset Bjorn Helgaas
2026-09-23 20:03 ` sashiko-bot
2026-09-30 19:46 ` Bjorn Helgaas
2026-10-01 7:40 ` Thierry Reding [this message]
2026-10-01 16:43 ` Bjorn Helgaas
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=ar4Nhd_mJ-NmUavQ@orome \
--to=thierry.reding@kernel.org \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=kwilczynski@kernel.org \
--cc=lilinmao@kylinos.cn \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@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.