[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed3dc3e668ebc54f347986bc2cacbcb53300f8ce.camel@kernel.org>
Date: Sat, 07 Dec 2024 20:12:43 +0100
From: Niklas Schnelle <niks@...nel.org>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Bjorn Helgaas <bhelgaas@...gle.com>
Cc: linux-pci@...r.kernel.org, Rob Herring <robh@...nel.org>, Krzysztof
Wilczyński <kw@...ux.com>, "Maciej W . Rozycki"
<macro@...am.me.uk>, Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Alexandru Gagniuc <mr.nuke.me@...il.com>, Krishna chaitanya chundru
<quic_krichai@...cinc.com>, Srinivas Pandruvada
<srinivas.pandruvada@...ux.intel.com>, "Rafael J . Wysocki"
<rafael@...nel.org>, linux-pm@...r.kernel.org, Smita Koralahalli
<Smita.KoralahalliChannabasappa@....com>, linux-kernel@...r.kernel.org,
Daniel Lezcano <daniel.lezcano@...aro.org>, Amit Kucheria
<amitk@...nel.org>, Zhang Rui <rui.zhang@...el.com>, Christophe JAILLET
<christophe.jaillet@...adoo.fr>, Mika Westerberg
<mika.westerberg@...ux.intel.com>, Lorenzo Pieralisi
<lpieralisi@...nel.org>, Lukas Wunner <lukas@...ner.de>
Subject: Re: [PATCH] PCI/portdrv: Disable bwctrl service if port is fixed at
2.5 GT/s
On Sat, 2024-12-07 at 19:44 +0100, Niklas Schnelle wrote:
> Trying to enable bwctrl on a Thunderbolt port causes a boot hang on some
> systems though the exact reason is not yet understood. As per the spec
> Thunderbolt PCIe Downstream Ports have a fake Max Link Speed of 2.5 GT/s
> (USB4 v2 sec 11.2.1):
>
> "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."
>
> More generally if 2.5 GT/s is the only supported link speed there is no
> point in throtteling as this is already the lowest possible PCIe speed
> so don't advertise the capability stopping bwctrl from being probed on
> these ports.
>
> Link: https://lore.kernel.org/linux-pci/Z1R4VNwCOlh9Sg9n@wunner.de/
> Fixes: 665745f27487 ("PCI/bwctrl: Re-add BW notification portdrv as PCIe BW controller")
> Tested-by: Niklas Schnelle <niks@...nel.org>
> Signed-off-by: Niklas Schnelle <niks@...nel.org>
Should probably add but forgot:
Suggested-by: Lukas Wunner <lukas@...ner.de>
> ---
> Note: This issue causes a boot hang on my personal workstation see the
> Link for details.
> ---
> drivers/pci/pcie/portdrv.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/portdrv.c b/drivers/pci/pcie/portdrv.c
> index 5e10306b63081b1ddd13e0a545418e2a8610c14c..e5f80e4a11aad4ce60b2ce998b40ec9fda8c653d 100644
> --- a/drivers/pci/pcie/portdrv.c
> +++ b/drivers/pci/pcie/portdrv.c
> @@ -270,7 +270,8 @@ static int get_port_device_capability(struct pci_dev *dev)
> u32 linkcap;
>
> pcie_capability_read_dword(dev, PCI_EXP_LNKCAP, &linkcap);
> - if (linkcap & PCI_EXP_LNKCAP_LBNC)
> + if (linkcap & PCI_EXP_LNKCAP_LBNC &&
> + (linkcap & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB)
> services |= PCIE_PORT_SERVICE_BWCTRL;
> }
>
>
> ---
> base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
> change-id: 20241207-fix_bwctrl_thunderbolt-bd1f96b3d98f
>
> Best regards,
Powered by blists - more mailing lists