[PATCH 5/6] ARM: OMAP2+: Make some definitions local

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Oct 19 05:44:47 EDT 2012


Hi Tony,

On Thursday 18 October 2012 13:28:48 Tony Lindgren wrote:
> From: Ido Yariv <ido at wizery.com>
> 
> Move some of the definitions in omap-iommu.h that can be made local to
> either drivers/iommu.
> 
> Cc: Joerg Roedel <joerg.roedel at amd.com>
> Cc: Ohad Ben-Cohen <ohad at wizery.com>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Cc: Mauro Carvalho Chehab <mchehab at infradead.org>
> Cc: Omar Ramirez Luna <omar.luna at linaro.org>
> Signed-off-by: Ido Yariv <ido at wizery.com>
> [tony at atomide.com: updated for header changes in the series]
> Signed-off-by: Tony Lindgren <tony at atomide.com>
> ---
>  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




More information about the linux-arm-kernel mailing list