Re: [PATCH v3] usb: xhci-pci: Add TUSB73x0 definitions
From: Michal Pecio
Date: Sun Oct 11 2026 - 02:32:25 EST
On Fri, 9 Oct 2026 09:51:54 -0300, Fabio Estevam wrote:
> Instead of hard-coding the TUSB73X0 PCI ID, USB_CTRL register address
> and the PWRON_POLARITY, introduce definitions for them to make the code
> easier to read.
>
> No functional change.
>
> Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx>
> ---
> Changes since v2:
> - Move the TUSB73x0 PCI device ID to the shared PCI ID header and use it
> in pci-quirks.c too, as suggested by Sashiko.
>
> Changes since v1:
> - None. Only sent it as a standalone patch instead of part
> of a series.
>
> drivers/usb/host/pci-quirks.c | 3 ++-
> drivers/usb/host/xhci-pci.c | 9 +++++++--
> include/linux/pci_ids.h | 1 +
> 3 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index ba158d63bb8b..f670e7aab984 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -1189,7 +1189,8 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> val = readl(base + ext_cap_offset);
>
> /* Auto handoff never worked for these devices. Force it and continue */
> - if ((pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241) ||
> + if ((pdev->vendor == PCI_VENDOR_ID_TI &&
> + pdev->device == PCI_DEVICE_ID_TI_TUSB73X0) ||
You mentioned working with TUSB7340 before. Was there any board
firmware involved which made use of this chip before the OS?
I'm looking for someone who can tell whether this line should be
touched at all or deleted. It was added by c289d0eff3d5a, which
is very suspicious - it mentions "cards" (like in "PCIe expansion
cards") and adds two IDs in one go. I feel it could be a BIOS bug
affecting all cards and no problem with those chips.
[Adding the author in case he remembers what happened there.]
For example, can a PCIe card raise SMI interrupts? AFAIK it can't.
But if a BIOS thinks otherwise, and enables "SMI on OS ownership
request", it will never learn about our request, so the handoff
times out and falls into the "forced" branch. Or the BIOS may not
rely on this but poll the card, and then "forget" about polling.
Regards,
Michal