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

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Fri Oct 14 2022 - 09:46:18 EST


On Fri, Oct 14, 2022 at 12:13:45PM +0000, Radovanovic, Aleksandar wrote:
> [AMD Official Use Only - General]
>
>
>
> > -----Original Message-----
> > From: gregkh@xxxxxxxxxxxxxxxxxxx <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Sent: 14 October 2022 12:55
> > To: Radovanovic, Aleksandar <aleksandar.radovanovic@xxxxxxx>
> > Cc: Jason Gunthorpe <jgg@xxxxxxxx>; Gupta, Nipun
> > <Nipun.Gupta@xxxxxxx>; Marc Zyngier <maz@xxxxxxxxxx>; Robin Murphy
> > <robin.murphy@xxxxxxx>; robh+dt@xxxxxxxxxx;
> > krzysztof.kozlowski+dt@xxxxxxxxxx; rafael@xxxxxxxxxx;
> > eric.auger@xxxxxxxxxx; alex.williamson@xxxxxxxxxx; cohuck@xxxxxxxxxx;
> > Gupta, Puneet (DCG-ENG) <puneet.gupta@xxxxxxx>;
> > song.bao.hua@xxxxxxxxxxxxx; mchehab+huawei@xxxxxxxxxx;
> > f.fainelli@xxxxxxxxx; jeffrey.l.hugo@xxxxxxxxx; saravanak@xxxxxxxxxx;
> > Michael.Srba@xxxxxxxxx; mani@xxxxxxxxxx; yishaih@xxxxxxxxxx;
> > will@xxxxxxxxxx; joro@xxxxxxxxxx; masahiroy@xxxxxxxxxx;
> > ndesaulniers@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> > kbuild@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; okaya@xxxxxxxxxx;
> > Anand, Harpreet <harpreet.anand@xxxxxxx>; Agarwal, Nikhil
> > <nikhil.agarwal@xxxxxxx>; Simek, Michal <michal.simek@xxxxxxx>; git
> > (AMD-Xilinx) <git@xxxxxxx>
> > 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 Fri, Oct 14, 2022 at 11:18:36AM +0000, Radovanovic, Aleksandar wrote:
> > > Anyway, I think we're straying off topic here, none of this is visible to the
> > kernel anyway. The question that we still need to answer is, are you OK with
> > the limitations I listed originally?
> >
> > What original limitations?
>
> Limitations with regards to MSI message configuration of a CDX device:
>
> 1) MSI write value is at most 16 useable bits
>
> 2) MSI address value must be the same across all vectors of a single CDX device
> This would be the (potentially IOMMU translated) I/O address of
> GITS_TRANSLATER. As long as that IOMMU translation is consistent across a
> single device, I think we should be OK.

It's been a while since I read the PCI spec, but this feels like it does
not follow what MSI is supposed to allow. Is the "CDX" spec anywhere
that mentions any of this as to what is supposed to be allowed and
supported?

And what is a "single device" here in how the kernel knows about it? Is
it a PCI device, or some other new structure that is handed to the
kernel from the BIOS?

thanks,

greg k-h