Message ID | 20240429113938.192706-3-jean-philippe@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable PCIe ATS for devicetree boot | expand |
On Mon, Apr 29, 2024 at 12:39:37PM +0100, Jean-Philippe Brucker wrote: > Add a way for firmware to tell the OS that ATS is supported by the PCI > root complex. An endpoint with ATS enabled may send Translation Requests > and Translated Memory Requests, which look just like Normal Memory > Requests with a non-zero AT field. So a root controller that ignores the > AT field may simply forward the request to the IOMMU as a Normal Memory > Request, which could end badly. In any case, the endpoint will be > unusable. > > The ats-supported property allows the OS to only enable ATS in endpoints > if the root controller can handle ATS requests. Only add the property to > pcie-host-ecam-generic for the moment. For non-generic root controllers, > availability of ATS can be inferred from the compatible string. > > Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> > --- > From a while ago: https://lore.kernel.org/all/20200219222454.GA16221@bogus/ > --- > Documentation/devicetree/bindings/pci/host-generic-pci.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pci/host-generic-pci.yaml b/Documentation/devicetree/bindings/pci/host-generic-pci.yaml > index d25423aa71674..94d4a4914a483 100644 > --- a/Documentation/devicetree/bindings/pci/host-generic-pci.yaml > +++ b/Documentation/devicetree/bindings/pci/host-generic-pci.yaml > @@ -110,6 +110,12 @@ properties: > iommu-map-mask: true > msi-parent: true > > + ats-supported: > + description: > + Indicates that a PCIe host controller supports ATS, and can handle Memory > + Requests with Address Type (AT). > + type: boolean > + > required: > - compatible > - reg > -- > 2.44.0 >
diff --git a/Documentation/devicetree/bindings/pci/host-generic-pci.yaml b/Documentation/devicetree/bindings/pci/host-generic-pci.yaml index d25423aa71674..94d4a4914a483 100644 --- a/Documentation/devicetree/bindings/pci/host-generic-pci.yaml +++ b/Documentation/devicetree/bindings/pci/host-generic-pci.yaml @@ -110,6 +110,12 @@ properties: iommu-map-mask: true msi-parent: true + ats-supported: + description: + Indicates that a PCIe host controller supports ATS, and can handle Memory + Requests with Address Type (AT). + type: boolean + required: - compatible - reg