Hi Hiroshi,

> -----Original Message-----
> From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
> ow...@vger.kernel.org] On Behalf Of Hiroshi DOYU
> Sent: Monday, January 11, 2010 1:47 AM
> To: linux-omap@vger.kernel.org
> Cc: Nagalla, Hari; Hiroshi DOYU
> Subject: [PATCH 1/3] omap iommu: cleanup iommu page address mask and
> definitions
> 
> From: Hiroshi DOYU <hiroshi.d...@nokia.com>

Maybe a small description would help here...

Are you just reshuffling defines, or are you also adding new ones?

Is this just a cleanup or is it fixing a hidden bug?

Regards,
Sergio
> 
> Signed-off-by: Hiroshi DOYU <hiroshi.d...@nokia.com>
> ---
>  arch/arm/plat-omap/iopgtable.h |   50 +++++++++++++++++++++++++++++++----
> ----
>  1 files changed, 39 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/iopgtable.h b/arch/arm/plat-
> omap/iopgtable.h
> index 37dac43..ab23b6a 100644
> --- a/arch/arm/plat-omap/iopgtable.h
> +++ b/arch/arm/plat-omap/iopgtable.h
> @@ -1,7 +1,7 @@
>  /*
>   * omap iommu: pagetable definitions
>   *
> - * Copyright (C) 2008-2009 Nokia Corporation
> + * Copyright (C) 2008-2010 Nokia Corporation
>   *
>   * Written by Hiroshi DOYU <hiroshi.d...@nokia.com>
>   *
> @@ -13,26 +13,52 @@
>  #ifndef __PLAT_OMAP_IOMMU_H
>  #define __PLAT_OMAP_IOMMU_H
> 
> +/*
> + * "L2 table" address mask and size definitions.
> + */
>  #define IOPGD_SHIFT          20
> -#define IOPGD_SIZE           (1 << IOPGD_SHIFT)
> +#define IOPGD_SIZE           (1UL << IOPGD_SHIFT)
>  #define IOPGD_MASK           (~(IOPGD_SIZE - 1))
> -#define IOSECTION_MASK               IOPGD_MASK
> -#define PTRS_PER_IOPGD               (1 << (32 - IOPGD_SHIFT))
> -#define IOPGD_TABLE_SIZE     (PTRS_PER_IOPGD * sizeof(u32))
> 
> -#define IOSUPER_SIZE         (IOPGD_SIZE << 4)
> +/*
> + * "section" address mask and size definitions.
> + */
> +#define IOSECTION_SHIFT              20
> +#define IOSECTION_SIZE               (1UL << IOSECTION_SHIFT)
> +#define IOSECTION_MASK               (~(IOSECTION_SIZE - 1))
> +
> +/*
> + * "supersection" address mask and size definitions.
> + */
> +#define IOSUPER_SHIFT                24
> +#define IOSUPER_SIZE         (1UL << IOSUPER_SHIFT)
>  #define IOSUPER_MASK         (~(IOSUPER_SIZE - 1))
> 
> +#define PTRS_PER_IOPGD               (1UL << (32 - IOPGD_SHIFT))
> +#define IOPGD_TABLE_SIZE     (PTRS_PER_IOPGD * sizeof(u32))
> +
> +/*
> + * "small page" address mask and size definitions.
> + */
>  #define IOPTE_SHIFT          12
> -#define IOPTE_SIZE           (1 << IOPTE_SHIFT)
> +#define IOPTE_SIZE           (1UL << IOPTE_SHIFT)
>  #define IOPTE_MASK           (~(IOPTE_SIZE - 1))
> -#define IOPAGE_MASK          IOPTE_MASK
> -#define PTRS_PER_IOPTE               (1 << (IOPGD_SHIFT - IOPTE_SHIFT))
> -#define IOPTE_TABLE_SIZE     (PTRS_PER_IOPTE * sizeof(u32))
> 
> -#define IOLARGE_SIZE         (IOPTE_SIZE << 4)
> +/*
> + * "large page" address mask and size definitions.
> + */
> +#define IOLARGE_SHIFT                16
> +#define IOLARGE_SIZE         (1UL << IOLARGE_SHIFT)
>  #define IOLARGE_MASK         (~(IOLARGE_SIZE - 1))
> 
> +#define PTRS_PER_IOPTE               (1UL << (IOPGD_SHIFT - IOPTE_SHIFT))
> +#define IOPTE_TABLE_SIZE     (PTRS_PER_IOPTE * sizeof(u32))
> +
> +#define IOPAGE_MASK          IOPTE_MASK
> +
> +/*
> + * some descriptor attributes.
> + */
>  #define IOPGD_TABLE          (1 << 0)
>  #define IOPGD_SECTION                (2 << 0)
>  #define IOPGD_SUPER          (1 << 18 | 2 << 0)
> @@ -40,12 +66,14 @@
>  #define IOPTE_SMALL          (2 << 0)
>  #define IOPTE_LARGE          (1 << 0)
> 
> +/* to find an entry in a page-table-directory */
>  #define iopgd_index(da)              (((da) >> IOPGD_SHIFT) &
> (PTRS_PER_IOPGD - 1))
>  #define iopgd_offset(obj, da)        ((obj)->iopgd + iopgd_index(da))
> 
>  #define iopte_paddr(iopgd)   (*iopgd & ~((1 << 10) - 1))
>  #define iopte_vaddr(iopgd)   ((u32 *)phys_to_virt(iopte_paddr(iopgd)))
> 
> +/* to find an entry in the second-level page table. */
>  #define iopte_index(da)              (((da) >> IOPTE_SHIFT) &
> (PTRS_PER_IOPTE - 1))
>  #define iopte_offset(iopgd, da)      (iopte_vaddr(iopgd) + iopte_index(da))
> 
> --
> 1.6.0.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to