From: "Krzysztof Wilczyński" <kw@linux.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Lukas Wunner <lukas@wunner.de>,
Bjorn Helgaas <helgaas@kernel.org>,
linux-pci@vger.kernel.org, Niklas Schnelle <niks@kernel.org>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
"Maciej W. Rozycki" <macro@orcam.me.uk>,
Mario Limonciello <mario.limonciello@amd.com>
Subject: Re: [PATCH for-linus v3 1/2] PCI: Honor Max Link Speed when determining supported speeds
Date: Thu, 19 Dec 2024 08:43:57 +0900 [thread overview]
Message-ID: <20241218234357.GA1444967@rocinante> (raw)
In-Reply-To: <7bbd48eb-efaf-260f-ad8d-9fe7f2209812@linux.intel.com>
Hello,
> > One user-visible issue addressed here is an incorrect value in the sysfs
> > attribute "max_link_speed".
> >
> > But the main motivation is a boot hang reported by Niklas: Intel JHL7540
> > "Titan Ridge 2018" Thunderbolt controllers supports 2.5-8 GT/s speeds,
> > but indicate 2.5 GT/s as maximum. Ilpo recalls seeing this on more
> > devices. It can be explained by the controller's Downstream Ports
> > supporting 8 GT/s if an Endpoint is attached, but limiting to 2.5 GT/s
> > if the port interfaces to a PCIe Adapter, in accordance with USB4 v2
> > sec 11.2.1:
> >
> > "This section defines the functionality of an Internal PCIe Port that
> > interfaces to a PCIe Adapter. [...]
> > The Logical sub-block shall update the PCIe configuration registers
> > with the following characteristics: [...]
> > Max Link Speed field in the Link Capabilities Register set to 0001b
> > (data rate of 2.5 GT/s only).
> > Note: These settings do not represent actual throughput. Throughput
> > is implementation specific and based on the USB4 Fabric performance."
> >
> > The present commit is not sufficient on its own to fix Niklas' boot hang,
> > but it is a prerequisite: A subsequent commit will fix the boot hang by
> > enabling bandwidth control only if more than one speed is supported.
> >
> > The GENMASK() macro used herein specifies 0 as lowest bit, even though
> > the Supported Link Speeds Vector ends at bit 1. This is done on purpose
> > to avoid a GENMASK(0, 1) macro if Max Link Speed is zero. That macro
> > would be invalid as the lowest bit is greater than the highest bit.
> > Ilpo has witnessed a zero Max Link Speed on Root Complex Integrated
> > Endpoints in particular, so it does occur in practice.
>
> Thanks for adding this extra information.
>
> I'd also add reference to r6.2 section 7.5.3 which states those registers
> are required for RPs, Switch Ports, Bridges, and Endpoints _that are not
> RCiEPs_. My reading is that implies they're not required from RCiEPs.
Let me know how you would like to update the commit message. I will do it
directly on the branch.
Thank you!
Krzysztof
next prev parent reply other threads:[~2024-12-18 23:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-17 9:51 [PATCH for-linus v3 0/2] Fix bwctrl boot hang Lukas Wunner
2024-12-17 9:51 ` [PATCH for-linus v3 1/2] PCI: Honor Max Link Speed when determining supported speeds Lukas Wunner
2024-12-17 11:33 ` Ilpo Järvinen
2024-12-18 23:43 ` Krzysztof Wilczyński [this message]
2024-12-19 7:41 ` Lukas Wunner
2024-12-19 11:05 ` Ilpo Järvinen
2024-12-19 16:37 ` Krzysztof Wilczy??ski
[not found] ` <CABhMZUWP1LN2ZX7oAaW4oJywC+Zfo4Y0p4ep7NJkkgGcVsM+hg@mail.gmail.com>
2024-12-20 8:57 ` Lukas Wunner
2024-12-17 9:51 ` [PATCH for-linus v3 2/2] PCI/bwctrl: Enable only if more than one speed is supported Lukas Wunner
2024-12-17 11:35 ` Ilpo Järvinen
2024-12-18 23:48 ` [PATCH for-linus v3 0/2] Fix bwctrl boot hang Krzysztof Wilczyński
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=20241218234357.GA1444967@rocinante \
--to=kw@linux.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=helgaas@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=macro@orcam.me.uk \
--cc=mario.limonciello@amd.com \
--cc=mika.westerberg@linux.intel.com \
--cc=niks@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox