Re: [PATCH v4] devicetree: Add generic IOMMU device tree bindings

From: Mark Rutland
Date: Thu Jul 31 2014 - 05:22:54 EST


[...]

> > > +Examples:
> > > +=========
> > > +
> > > +Single-master IOMMU:
> > > +--------------------
> > > +
> > > + iommu {
> > > + #iommu-cells = <0>;
> > > + };
> > > +
> > > + master {
> > > + iommus = <&/iommu>;
> >
> > Nit: this should be iommus = <&{/iommu}>, or it's not valid dts syntax.
>
> Done.

Cheers. I take it that was done for the other occurrences too?

>
> > > + };
> > > +
> > > +Multiple-master IOMMU with fixed associations:
> > > +----------------------------------------------
> > > +
> > > + /* multiple-master IOMMU */
> > > + iommu {
> > > + /*
> > > + * Masters are statically associated with this IOMMU and
> > > + * address translation is always enabled.
> > > + */
> > > + #iommu-cells = <0>;
> >
> > I don't follow why translation being always enabled is relevant to the
> > example; that would seem to be independent from the binding.
> >
> > Surely the key point is that with no way to distinguish devices, they
> > presumably share the same translations?
>
> Both aspects are important I think. For #iommu-cells = <0> there is no
> way for the IOMMU driver to know how to enable translation for a given
> device. So it must be either always on or always off.

Sure. But "always on or off" is not the same as "always enabled", which
was what confused me.

> I guess one could say that this is implicit if all masters share the
> same translations. And I guess translations don't always have to be on
> or off technically. Let me try to rephrase this:
>
> /*
> * Masters are statically associated with this IOMMU and share
> * the same address translations because the IOMMU does not
> * have sufficient information to distinguish between masters.
> *
> * Consequently address translation is always on or off for
> * all masters at any given point in time.
> */
>
> Does that sound better?

That addresses my concern, so yes.

Given these are minor and everyone wants this in now, I'm happy for
these to go through in a fixup patch later.

Cheers,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/