Re: [PATCH V3 4/5] PCI: Clear stale 14-Bit Tag Requester Enable when a link leaves Flit Mode
Lukas Wunner <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Aug 15, 2026 at 01:46:20AM +0530, Vidya Sagar wrote: > @@ -4874,6 +4985,14 @@ int pci_bridge_wait_for_secondary_bus(struct pci_dev *dev, char *reset_type) > pci_dbg(dev, "waiting %d ms for downstream link\n", delay); > msleep(delay); > > + /* > + * The link has had a chance to come back; refresh the > + * bridge's (and subtree's) DEV3_CTL.14-Bit Tag Requester > + * Enable against the live LNKSTA2.Flit_Mode before we issue > + * the first config TLP to the child. > + */ > + pci_bridge_refresh_14bit_tag(dev); > + > if (!pci_dev_wait(child, reset_type, PCI_RESET_WAIT - delay)) > return 0; pci_bridge_wait_for_secondary_bus() should just do what it says, i.e. wait. It shouldn't have side effects like mutating register state. I'm wondering if this is a quirk of the PCIe IP used on Nvidia's arm64 CPUs, as I can't find a spec section that says software needs to clean up 14 Bit Tag enablement when the link switches from Flit Mode to Non-Flit Mode. Thanks, Lukas