Thread (84 messages) 84 messages, 11 authors, 2022-11-17

RE: [RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its domain as parent

From: Radovanovic, Aleksandar <hidden>
Date: 2022-10-12 13:38:02
Also in: kvm, linux-devicetree, linux-kbuild, lkml

[AMD Official Use Only - General]


-----Original Message-----
From: Jason Gunthorpe <jgg@ziepe.ca>
Sent: 12 October 2022 14:02
To: Radovanovic, Aleksandar <redacted>
Cc: Gupta, Nipun <Nipun.Gupta@amd.com>; Marc Zyngier
[off-list ref]; Robin Murphy [off-list ref];
robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
gregkh@linuxfoundation.org; rafael@kernel.org; eric.auger@redhat.com;
alex.williamson@redhat.com; cohuck@redhat.com; Gupta, Puneet (DCG-
ENG) [off-list ref]; song.bao.hua@hisilicon.com;
mchehab+huawei@kernel.org; f.fainelli@gmail.com;
jeffrey.l.hugo@gmail.com; saravanak@google.com;
Michael.Srba@seznam.cz; mani@kernel.org; yishaih@nvidia.com;
will@kernel.org; joro@8bytes.org; masahiroy@kernel.org;
ndesaulniers@google.com; linux-arm-kernel@lists.infradead.org; linux-
kbuild@vger.kernel.org; linux-kernel@vger.kernel.org;
devicetree@vger.kernel.org; kvm@vger.kernel.org; okaya@kernel.org;
Anand, Harpreet [off-list ref]; Agarwal, Nikhil
[off-list ref]; Simek, Michal [off-list ref]; git
(AMD-Xilinx) [off-list ref]
Subject: Re: [RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its
domain as parent

Caution: This message originated from an External Source. Use proper
caution when opening attachments, clicking links, or responding.


On Wed, Oct 12, 2022 at 10:34:23AM +0000, Radovanovic, Aleksandar wrote:

quoted
As for GITS_TRANSLATER, we can take up to 4 different IOVAs, which
limits us to 4 CDX devices (should be sufficient for current HW
use-cases). Also, it means that the address part must be the same for
all vectors within a single CDX device. I'm assuming this is OK as it
is going to be a single interrupt and IOMMU domain anyway.
This is not at all how MSI is supposed to work.
In the general case, no, they're not. However, this is an embedded device
with a GICv3, so the general case does not really apply. On GIC, the MSI 
target address is always a fixed register in the ITS (GIC_TRANSLATER), 
possibly SMMU translated. As long as the translation is consistent across
a single device (and I see no reason why or how the kernel would do it 
otherwise, given that a single CDX device generates the same StreamID
for all MSI writes), the GIC IOVA should be the same for all vectors of 
the device.

It is worth noting that this limitation is not going to be baked in the 
proposed MSI configuration interface, it will still take both the address
and data parts for each vector. It is just that this particular 
implementation will throw an error if you supply a different target
address across device MSI vectors. It does not preclude some future
device accepting different addresses per vector over the same 
interface.

Thanks,
Aleksandar


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help