From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregory.clement@free-electrons.com (Gregory CLEMENT) Date: Wed, 21 Nov 2012 11:03:22 +0100 Subject: [PATCH V4 1/3] arm: dma mapping: Export a dma ops function arm_dma_set_mask In-Reply-To: <50ACA633.7020207@samsung.com> References: <1353490783-23101-1-git-send-email-gregory.clement@free-electrons.com> <1353490783-23101-2-git-send-email-gregory.clement@free-electrons.com> <50ACA633.7020207@samsung.com> Message-ID: <50ACA6EA.4030301@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 11/21/2012 11:00 AM, Marek Szyprowski wrote: > Hello, > > On 11/21/2012 10:39 AM, Gregory CLEMENT wrote: >> Expose another DMA operations function: arm_dma_set_mask. This >> function will be added to a custom DMA ops for Armada 370/XP. >> Depending of its configuration Armada 370/XP can be set as a "nearly" >> coherent architecture. In this case the DMA ops is made of: >> - specific functions for this architecture >> - already exposed arm DMA related functions >> - the arm_dma_set_mask which was not exposed yet. >> >> Signed-off-by: Gregory CLEMENT > > Acked-by: Marek Szyprowski Thanks! > >> --- >> arch/arm/include/asm/dma-mapping.h | 2 ++ >> arch/arm/mm/dma-mapping.c | 4 +--- >> 2 files changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h >> index 2300484..98d4dab 100644 >> --- a/arch/arm/include/asm/dma-mapping.h >> +++ b/arch/arm/include/asm/dma-mapping.h >> @@ -111,6 +111,8 @@ static inline void dma_free_noncoherent(struct device *dev, size_t size, >> >> extern int dma_supported(struct device *dev, u64 mask); >> >> +extern int arm_dma_set_mask(struct device *dev, u64 dma_mask); >> + >> /** >> * arm_dma_alloc - allocate consistent memory for DMA >> * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices >> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c >> index 58bc3e4..5383bc0 100644 >> --- a/arch/arm/mm/dma-mapping.c >> +++ b/arch/arm/mm/dma-mapping.c >> @@ -124,8 +124,6 @@ static void arm_dma_sync_single_for_device(struct device *dev, >> __dma_page_cpu_to_dev(page, offset, size, dir); >> } >> >> -static int arm_dma_set_mask(struct device *dev, u64 dma_mask); >> - >> struct dma_map_ops arm_dma_ops = { >> .alloc = arm_dma_alloc, >> .free = arm_dma_free, >> @@ -971,7 +969,7 @@ int dma_supported(struct device *dev, u64 mask) >> } >> EXPORT_SYMBOL(dma_supported); >> >> -static int arm_dma_set_mask(struct device *dev, u64 dma_mask) >> +int arm_dma_set_mask(struct device *dev, u64 dma_mask) >> { >> if (!dev->dma_mask || !dma_supported(dev, dma_mask)) >> return -EIO; > > Best regards > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com