On Mon, Sep 15, 2014 at 12:57:38PM +0100, Marek Szyprowski wrote: > Hello,
Hi Marek, Thanks for looking again at this -- I'll take at look at your exynos series when I'm back in the UK next week. > On 2014-09-12 18:34, Will Deacon wrote: > > This patch adds a new function to the iommu_ops structure to allow an > > OF device to be added to a specific IOMMU instance using the recently > > merged generic devicetree binding for IOMMUs. The callback (of_xlate) > > takes a struct device representing the master and an of_phandle_args > > representing the IOMMU and the correspondong IDs for the new master. > > > > Signed-off-by: Will Deacon <will.dea...@arm.com> > > --- > > include/linux/iommu.h | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/include/linux/iommu.h b/include/linux/iommu.h > > index 4256f3ce1673..821eb0bd9f6c 100644 > > --- a/include/linux/iommu.h > > +++ b/include/linux/iommu.h > > @@ -21,6 +21,7 @@ > > > > #include <linux/errno.h> > > #include <linux/err.h> > > +#include <linux/of.h> > > #include <linux/types.h> > > #include <trace/events/iommu.h> > > > > @@ -140,6 +141,10 @@ struct iommu_ops { > > /* Get the numer of window per domain */ > > u32 (*domain_get_windows)(struct iommu_domain *domain); > > > > +#ifdef CONFIG_OF_IOMMU > > + int (*of_xlate)(struct device *dev, struct of_phandle_args *args); > > +#endif > > > If I understand correctly, this callback is intended to do per-master > initialization > of the iommu structures required by the given iommu driver (I stored them in > dev->archdata.iommu). However I really don't get what is the meaning of > the return > value. Is it a boolean value? It is used only by of_iommu_configure to > check if > the parse loop should be terminated... It should probably return 0 on success, < 0 otherwise. I'll fix of_iommu_configure to check for < 0 and only exit the loop then. The idea is that we don't swizzle the DMA ops for a device to IOMMU ops if of_xlate failed for any of its IDs. Will _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu