RE: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions
Hi Hiroshi, -Original Message- From: Hiroshi DOYU [mailto:hiroshi.d...@nokia.com] Sent: Wednesday, January 13, 2010 6:18 AM To: linux-omap@vger.kernel.org Cc: Nagalla, Hari; Aguirre, Sergio Subject: Re: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions From: Hiroshi DOYU hiroshi.d...@nokia.com Subject: Re: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions Date: Wed, 13 Jan 2010 08:52:52 +0200 (EET) Hi Sergio, From: ext Aguirre, Sergio saagui...@ti.com Subject: RE: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions Date: Mon, 11 Jan 2010 22:53:16 +0100 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? It's just a cleanup, but added a few macros here, This patch is necessary for the proceeding patches which are the ones to fix a bug. I'll add some description on them. Here's the updates. Great! Now looks better ;) Thanks for that. Regards, Sergio -- 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
Re: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions
Hi Sergio, From: ext Aguirre, Sergio saagui...@ti.com Subject: RE: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions Date: Mon, 11 Jan 2010 22:53:16 +0100 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? It's just a cleanup, but added a few macros here, This patch is necessary for the proceeding patches which are the ones to fix a bug. I'll add some description on them. -- 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
RE: [PATCH 1/3] omap iommu: cleanup iommu page address mask and definitions
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_SHIFT24 +#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_SHIFT16 +#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