[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260122082538.309122-4-a-garg7@ti.com>
Date: Thu, 22 Jan 2026 13:55:38 +0530
From: Aksh Garg <a-garg7@...com>
To: <linux-pci@...r.kernel.org>, <jingoohan1@...il.com>, <mani@...nel.org>,
<lpieralisi@...nel.org>, <kwilczynski@...nel.org>, <robh@...nel.org>,
<bhelgaas@...gle.com>, <cassel@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <s-vadapalli@...com>,
<danishanwar@...com>, Aksh Garg <a-garg7@...com>
Subject: [PATCH v2 3/3] PCI: dwc: ep: Add comment explaining controller-level PTM access
PCIe r6.0, section 7.9.15 requires PTM capability in exactly one
function to control all PTM-capable functions. This makes PTM registers
controller-level rather than per-function.
As suggested by Niklas Cassel, add a comment explaining why PTM
capability registers are accessed using the standard DBI accessors
instead of func_no indexed per-function accessors.
Suggested-by: Niklas Cassel <cassel@...nel.org>
Signed-off-by: Aksh Garg <a-garg7@...com>
---
drivers/pci/controller/dwc/pcie-designware-ep.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 12625a1059a4..0a9d5402f23a 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -995,6 +995,17 @@ int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
if (ep->ops->init)
ep->ops->init(ep);
+ /*
+ * PCIe r6.0, section 7.9.15 states that for endpoints that support PTM,
+ * this capability structure is required in exactly one function, which
+ * controls the PTM behavior of all PTM capable functions. This indicates
+ * the PTM capability structure represents controller-level registers
+ * rather than per-function registers.
+ *
+ * Therefore, PTM capability registers are configured using the standard DBI
+ * accessors, instead of func_no indexed per-function accessors.
+ */
+
ptm_cap_base = dw_pcie_find_ext_capability(pci, PCI_EXT_CAP_ID_PTM);
/*
--
2.34.1
Powered by blists - more mailing lists