From: Niklas Schnelle <niks@kernel.org>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Bjorn Helgaas" <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, Rob Herring <robh@kernel.org>,
Krzysztof Wilczy??ski <kw@linux.com>,
"Maciej W . Rozycki" <macro@orcam.me.uk>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Alexandru Gagniuc <mr.nuke.me@gmail.com>,
Krishna chaitanya chundru <quic_krichai@quicinc.com>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
linux-pm@vger.kernel.org,
Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>,
linux-kernel@vger.kernel.org,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Amit Kucheria <amitk@kernel.org>,
Zhang Rui <rui.zhang@intel.com>,
Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Niklas Schnelle <niks@kernel.org>
Subject: [PATCH] PCI/portdrv: Disable bwctrl service if port is fixed at 2.5 GT/s
Date: Sat, 07 Dec 2024 19:44:09 +0100 [thread overview]
Message-ID: <20241207-fix_bwctrl_thunderbolt-v1-1-b711f572a705@kernel.org> (raw)
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@kernel.org>
Signed-off-by: Niklas Schnelle <niks@kernel.org>
---
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,
--
Niklas Schnelle <niks@kernel.org>
next reply other threads:[~2024-12-07 18:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-07 18:44 Niklas Schnelle [this message]
2024-12-07 19:12 ` [PATCH] PCI/portdrv: Disable bwctrl service if port is fixed at 2.5 GT/s Niklas Schnelle
2024-12-09 12:59 ` Ilpo Järvinen
2024-12-09 15:42 ` Mika Westerberg
2024-12-10 10:05 ` Lukas Wunner
2024-12-10 20:45 ` Niklas Schnelle
2024-12-11 7:57 ` Lukas Wunner
2024-12-11 13:07 ` Ilpo Järvinen
2024-12-12 9:08 ` Lukas Wunner
2024-12-12 9:17 ` Niklas Schnelle
2024-12-12 12:32 ` Lukas Wunner
2024-12-12 14:12 ` Niklas Schnelle
2024-12-12 20:40 ` Niklas Schnelle
2024-12-13 8:37 ` Lukas Wunner
2024-12-16 6:57 ` Mika Westerberg
2024-12-11 17:14 ` Jonathan Cameron
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=20241207-fix_bwctrl_thunderbolt-v1-1-b711f572a705@kernel.org \
--to=niks@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=Smita.KoralahalliChannabasappa@amd.com \
--cc=amitk@kernel.org \
--cc=bhelgaas@google.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=daniel.lezcano@linaro.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=macro@orcam.me.uk \
--cc=mika.westerberg@linux.intel.com \
--cc=mr.nuke.me@gmail.com \
--cc=quic_krichai@quicinc.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=rui.zhang@intel.com \
--cc=srinivas.pandruvada@linux.intel.com \
/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