[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