]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
PCI/TPH: Restore TPH Requester Enable correctly
authorRobin Murphy <robin.murphy@arm.com>
Wed, 5 Feb 2025 12:52:13 +0000 (12:52 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 6 Feb 2025 16:30:11 +0000 (10:30 -0600)
When we reenable TPH after changing a Steering Tag value, we need the
actual TPH Requester Enable value, not the ST Mode (which only happens to
work out by chance for non-extended TPH in interrupt vector mode).

Link: https://lore.kernel.org/r/13118098116d7bce07aa20b8c52e28c7d1847246.1738759933.git.robin.murphy@arm.com
Fixes: d2e8a34876ce ("PCI/TPH: Add Steering Tag support")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Wei Huang <wei.huang2@amd.com>
drivers/pci/tph.c

index 1e604fbbda6573eff80d4295ee203cc264de3c36..07de59ca2ebfa6999e9d9f07a03b716cbb268795 100644 (file)
@@ -360,7 +360,7 @@ int pcie_tph_set_st_entry(struct pci_dev *pdev, unsigned int index, u16 tag)
                return err;
        }
 
-       set_ctrl_reg_req_en(pdev, pdev->tph_mode);
+       set_ctrl_reg_req_en(pdev, pdev->tph_req_type);
 
        pci_dbg(pdev, "set steering tag: %s table, index=%d, tag=%#04x\n",
                (loc == PCI_TPH_LOC_MSIX) ? "MSI-X" : "ST", index, tag);