[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87leqvv3g7.wl-maz@kernel.org>
Date:   Wed, 07 Sep 2022 12:17:28 +0100
From:   Marc Zyngier <maz@...nel.org>
To:     Jason Gunthorpe <jgg@...dia.com>
Cc:     Nipun Gupta <nipun.gupta@....com>, robh+dt@...nel.org,
        krzysztof.kozlowski+dt@...aro.org, gregkh@...uxfoundation.org,
        rafael@...nel.org, eric.auger@...hat.com,
        alex.williamson@...hat.com, cohuck@...hat.com,
        puneet.gupta@....com, song.bao.hua@...ilicon.com,
        mchehab+huawei@...nel.org, f.fainelli@...il.com,
        jeffrey.l.hugo@...il.com, saravanak@...gle.com,
        Michael.Srba@...nam.cz, mani@...nel.org, yishaih@...dia.com,
        robin.murphy@....com, will@...nel.org, joro@...tes.org,
        masahiroy@...nel.org, ndesaulniers@...gle.com,
        linux-arm-kernel@...ts.infradead.org, linux-kbuild@...r.kernel.org,
        linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
        kvm@...r.kernel.org, okaya@...nel.org, harpreet.anand@....com,
        nikhil.agarwal@....com, michal.simek@....com,
        aleksandar.radovanovic@....com, git@....com
Subject: Re: [RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its domain as parent
On Tue, 06 Sep 2022 18:19:06 +0100,
Jason Gunthorpe <jgg@...dia.com> wrote:
> 
> On Tue, Sep 06, 2022 at 07:17:58PM +0530, Nipun Gupta wrote:
> 
> > +static void cdx_msi_write_msg(struct irq_data *irq_data,
> > +			      struct msi_msg *msg)
> > +{
> > +	/*
> > +	 * Do nothing as CDX devices have these pre-populated
> > +	 * in the hardware itself.
> > +	 */
> > +}
> 
> Huh?
> 
> There is no way it can be pre-populated, the addr/data pair,
> especially on ARM, is completely under SW control.
There is nothing in the GIC spec that says that.
> There is some commonly used IOVA base in Linux for the ITS page, but
> no HW should hardwire that.
That's not strictly true. It really depends on how this block is
integrated, and there is a number of existing blocks that know *in HW*
how to signal an LPI.
See, as the canonical example, how the mbigen driver doesn't need to
know about the address of GITS_TRANSLATER.
Yes, this messes with translation (the access is downstream of the
SMMU) if you relied on it to have some isolation, and it has a "black
hole" effect as nobody can have an IOVA that overlaps with the
physical address of the GITS_TRANSLATER register.
But is it illegal as per the architecture? No. It's just stupid.
	M.
-- 
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists