Re: [RFC 1/4] irqchip, gicv3-its: Add device tree binding for hisilicon 161010801 erratum

Mark Rutland
2017-01-24T14:29:57Z

On Tue, Jan 24, 2017 at 02:00:30PM +0000, Shameerali Kolothum Thodi wrote:
> > -----Original Message-----
> > From: Mark Rutland [mailto:mark.rutland@arm.com]

> > On Tue, Jan 24, 2017 at 01:42:56PM +0000, Shameerali Kolothum Thodi
> > wrote:

> > > +Optional
> > > +- hisilicon,erratum-161010801 : A boolean property. Indicates the
> > > +presence of
> > > + erratum 161010801, which says that these platforms doesn't support
> > > +SMMU
> > > + mapping for MSI transactions and those transactions has to be
> > > +bypassed
> > > + by SMMU.
> >
> > What exactly is meant by "doesn't support SMMU mapping" here? What
> > precisely is the problem in HW?
>
> On this platforms the ITS doorbell deviceID information is embedded in the MSI
> payload. To do this, the PCIe controller differentiates the MSI payload and
> DMA payload and modifies the MSI payload to add the deviceID information.
> The way it modifies this is by comparing against a SYS_CTRL register which
> is configured by UEFI with the ITS doorbell phys address.

Ok. Some part of this will need to go in the binding description.

How does this interact with translations via the SMMU?

Do writes matching this address:

(a) always bypass translation.
(b) get translated after modification.
(c) other?

Thanks,
Mark.