devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Enable PCIe ATS for devicetree boot
@ 2024-04-29 11:39 Jean-Philippe Brucker
  2024-04-29 11:39 ` [PATCH 1/3] dt-bindings: PCI: generic: Add ats-supported property Jean-Philippe Brucker
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Jean-Philippe Brucker @ 2024-04-29 11:39 UTC (permalink / raw)
  To: will, lpieralisi, kw, robh, bhelgaas, krzk+dt, conor+dt,
	liviu.dudau, sudeep.holla, joro
  Cc: robin.murphy, nicolinc, ketanp, linux-pci, linux-arm-kernel,
	iommu, devicetree, Jean-Philippe Brucker

Before enabling Address Translation Support (ATS) in endpoints, the OS
needs to confirm that the Root Complex supports it. Obtain this
information from the firmware description since there is no architected
method. ACPI provides a bit via IORT tables, so add the devicetree
equivalent.

It was discussed a while ago [1], but at the time only a software model
supported it. Respin it now that hardware is available [2].

To test this with the Arm RevC model, enable ATS in the endpoint and
note that ATS is enabled. Address translation is transparent to the OS.

	-C pci.pcie_rc.ahci0.endpoint.ats_supported=1

    $ lspci -s 00:1f.0 -vv
    	Capabilities: [100 v1] Address Translation Service (ATS)
		ATSCap: Invalidate Queue Depth: 00
    		ATSCtl: Enable+, Smallest Translation Unit: 00


[1] https://lore.kernel.org/linux-iommu/20200213165049.508908-1-jean-philippe@linaro.org/
[2] https://lore.kernel.org/linux-arm-kernel/ZeJP6CwrZ2FSbTYm@Asurada-Nvidia/

Jean-Philippe Brucker (3):
  dt-bindings: PCI: generic: Add ats-supported property
  iommu/of: Support ats-supported device-tree property
  arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP

 .../devicetree/bindings/pci/host-generic-pci.yaml        | 6 ++++++
 drivers/iommu/of_iommu.c                                 | 9 +++++++++
 arch/arm64/boot/dts/arm/fvp-base-revc.dts                | 1 +
 3 files changed, 16 insertions(+)

-- 
2.44.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-05-21 10:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-29 11:39 [PATCH 0/3] Enable PCIe ATS for devicetree boot Jean-Philippe Brucker
2024-04-29 11:39 ` [PATCH 1/3] dt-bindings: PCI: generic: Add ats-supported property Jean-Philippe Brucker
2024-04-30 10:22   ` Liviu Dudau
2024-04-29 11:39 ` [PATCH 2/3] iommu/of: Support ats-supported device-tree property Jean-Philippe Brucker
2024-04-29 15:00   ` Jason Gunthorpe
2024-04-30 10:23   ` Liviu Dudau
2024-04-30 13:57   ` Robin Murphy
2024-05-02  4:55   ` Nicolin Chen
2024-04-29 11:39 ` [PATCH 3/3] arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP Jean-Philippe Brucker
2024-05-16 10:44   ` Sudeep Holla
2024-05-15 18:28 ` [PATCH 0/3] Enable PCIe ATS for devicetree boot Vidya Sagar
2024-05-15 18:52   ` Bjorn Helgaas
2024-05-16  7:35     ` Jean-Philippe Brucker
2024-05-16 10:41       ` Sudeep Holla
2024-05-16 11:42         ` Jean-Philippe Brucker
2024-05-21 10:25         ` liviu.dudau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).