Hi Tony, On Thursday 18 October 2012 13:28:48 Tony Lindgren wrote: > From: Ido Yariv <ido@xxxxxxxxxx> > > Move some of the definitions in omap-iommu.h that can be made local to > either drivers/iommu. > > Cc: Joerg Roedel <joerg.roedel@xxxxxxx> > Cc: Ohad Ben-Cohen <ohad@xxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> > Cc: Omar Ramirez Luna <omar.luna@xxxxxxxxxx> > Signed-off-by: Ido Yariv <ido@xxxxxxxxxx> > [tony@xxxxxxxxxxx: updated for header changes in the series] > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > drivers/iommu/omap-iommu.c | 15 +++++++++++++++ > drivers/iommu/omap-iommu.h | 33 +++------------------------------ > drivers/iommu/omap-iommu2.c | 6 ++++++ > 3 files changed, 24 insertions(+), 30 deletions(-) > > diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c > index 4db86e1..df84087 100644 > --- a/drivers/iommu/omap-iommu.c > +++ b/drivers/iommu/omap-iommu.c > @@ -54,6 +54,21 @@ struct omap_iommu_domain { > spinlock_t lock; > }; > > +#define MMU_LOCK_BASE_SHIFT 10 > +#define MMU_LOCK_BASE_MASK (0x1f << MMU_LOCK_BASE_SHIFT) > +#define MMU_LOCK_BASE(x) \ > + ((x & MMU_LOCK_BASE_MASK) >> MMU_LOCK_BASE_SHIFT) > + > +#define MMU_LOCK_VICT_SHIFT 4 > +#define MMU_LOCK_VICT_MASK (0x1f << MMU_LOCK_VICT_SHIFT) > +#define MMU_LOCK_VICT(x) \ > + ((x & MMU_LOCK_VICT_MASK) >> MMU_LOCK_VICT_SHIFT) > + > +struct iotlb_lock { > + short base; > + short vict; > +}; > + > /* accommodate the difference between omap1 and omap2/3 */ > static const struct iommu_functions *arch_iommu; > > diff --git a/drivers/iommu/omap-iommu.h b/drivers/iommu/omap-iommu.h > index 8c3378d..2b5f3c0 100644 > --- a/drivers/iommu/omap-iommu.h > +++ b/drivers/iommu/omap-iommu.h > @@ -72,11 +72,6 @@ struct cr_regs { > }; > }; > > -struct iotlb_lock { > - short base; > - short vict; > -}; > - > /* architecture specific functions */ > struct iommu_functions { > unsigned long version; > @@ -117,13 +112,6 @@ static inline struct omap_iommu > *dev_to_omap_iommu(struct device *dev) } > #endif > > -/* IOMMU errors */ > -#define OMAP_IOMMU_ERR_TLB_MISS (1 << 0) > -#define OMAP_IOMMU_ERR_TRANS_FAULT (1 << 1) > -#define OMAP_IOMMU_ERR_EMU_MISS (1 << 2) > -#define OMAP_IOMMU_ERR_TBLWALK_FAULT (1 << 3) > -#define OMAP_IOMMU_ERR_MULTIHIT_FAULT (1 << 4) > - I'll use those in the tidspbridge driver, in patches that I plan to push soon. I will apply this patch set on top of mine, see what breaks. Would you like me to propose a modified version of this set, or add additional patches in my set ? > /* > * MMU Register offsets > */ > @@ -151,16 +139,6 @@ static inline struct omap_iommu > *dev_to_omap_iommu(struct device *dev) /* > * MMU Register bit definitions > */ > -#define MMU_LOCK_BASE_SHIFT 10 > -#define MMU_LOCK_BASE_MASK (0x1f << MMU_LOCK_BASE_SHIFT) > -#define MMU_LOCK_BASE(x) \ > - ((x & MMU_LOCK_BASE_MASK) >> MMU_LOCK_BASE_SHIFT) > - > -#define MMU_LOCK_VICT_SHIFT 4 > -#define MMU_LOCK_VICT_MASK (0x1f << MMU_LOCK_VICT_SHIFT) > -#define MMU_LOCK_VICT(x) \ > - ((x & MMU_LOCK_VICT_MASK) >> MMU_LOCK_VICT_SHIFT) > - > #define MMU_CAM_VATAG_SHIFT 12 > #define MMU_CAM_VATAG_MASK \ > ((~0UL >> MMU_CAM_VATAG_SHIFT) << MMU_CAM_VATAG_SHIFT) > @@ -222,20 +200,15 @@ extern void omap_iotlb_cr_to_e(struct cr_regs *cr, > struct iotlb_entry *e); extern int > omap_iopgtable_store_entry(struct omap_iommu *obj, struct iotlb_entry *e); > > -extern int omap_iommu_set_isr(const char *name, > - int (*isr)(struct omap_iommu *obj, u32 da, u32 iommu_errs, > - void *priv), > - void *isr_priv); > - > extern void omap_iommu_save_ctx(struct device *dev); > extern void omap_iommu_restore_ctx(struct device *dev); > > -extern int omap_install_iommu_arch(const struct iommu_functions *ops); > -extern void omap_uninstall_iommu_arch(const struct iommu_functions *ops); > - > extern int omap_foreach_iommu_device(void *data, > int (*fn)(struct device *, void *)); > > +extern int omap_install_iommu_arch(const struct iommu_functions *ops); > +extern void omap_uninstall_iommu_arch(const struct iommu_functions *ops); > + > extern ssize_t > omap_iommu_dump_ctx(struct omap_iommu *obj, char *buf, ssize_t len); > extern size_t > diff --git a/drivers/iommu/omap-iommu2.c b/drivers/iommu/omap-iommu2.c > index 066e6b2..4d8d91d 100644 > --- a/drivers/iommu/omap-iommu2.c > +++ b/drivers/iommu/omap-iommu2.c > @@ -68,6 +68,12 @@ > ((pgsz) == MMU_CAM_PGSZ_64K) ? 0xffff0000 : \ > ((pgsz) == MMU_CAM_PGSZ_4K) ? 0xfffff000 : 0) > > +/* IOMMU errors */ > +#define OMAP_IOMMU_ERR_TLB_MISS (1 << 0) > +#define OMAP_IOMMU_ERR_TRANS_FAULT (1 << 1) > +#define OMAP_IOMMU_ERR_EMU_MISS (1 << 2) > +#define OMAP_IOMMU_ERR_TBLWALK_FAULT (1 << 3) > +#define OMAP_IOMMU_ERR_MULTIHIT_FAULT (1 << 4) > > static void __iommu_set_twl(struct omap_iommu *obj, bool on) > { -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html