diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-07-29 11:43:47 +0200 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-08-01 21:49:34 +0800 |
commit | 8ba794abd43d672eb28cd4edc5778b87a3ad268e (patch) | |
tree | 49062ad0c2376a5d5da7ed5ddf1d84f5143ffea5 | |
parent | d77ef333479fd7e051b8de25c3b393708813202f (diff) | |
download | barebox-8ba794abd43d672eb28cd4edc5778b87a3ad268e.tar.gz barebox-8ba794abd43d672eb28cd4edc5778b87a3ad268e.tar.xz |
ARM: pass size to dma_free_coherent
We'll need it later once we remap dma memory.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/cpu/mmu.c | 2 | ||||
-rw-r--r-- | arch/arm/include/asm/mmu.h | 9 | ||||
-rw-r--r-- | drivers/usb/gadget/fsl_udc.c | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c index 8465d1a5a6..bb067e36b4 100644 --- a/arch/arm/cpu/mmu.c +++ b/arch/arm/cpu/mmu.c @@ -155,7 +155,7 @@ void *phys_to_virt(unsigned long phys) return (void *)(phys + dma_coherent_offset); } -void dma_free_coherent(void *mem) +void dma_free_coherent(void *mem, size_t size) { free(mem - dma_coherent_offset); } diff --git a/arch/arm/include/asm/mmu.h b/arch/arm/include/asm/mmu.h index d96c7289a9..9ebc2cd4c1 100644 --- a/arch/arm/include/asm/mmu.h +++ b/arch/arm/include/asm/mmu.h @@ -17,7 +17,7 @@ void setup_dma_coherent(unsigned long offset); #ifdef CONFIG_MMU void *dma_alloc_coherent(size_t size); -void dma_free_coherent(void *mem); +void dma_free_coherent(void *mem, size_t size); void dma_clean_range(unsigned long, unsigned long); void dma_flush_range(unsigned long, unsigned long); @@ -26,12 +26,17 @@ unsigned long virt_to_phys(void *virt); void *phys_to_virt(unsigned long phys); #else +static inline int mmu_init(void) +{ + return -EINVAL; +} + static inline void *dma_alloc_coherent(size_t size) { return xmemalign(4096, size); } -static inline void dma_free_coherent(void *mem) +static inline void dma_free_coherent(void *mem, size_t size) { free(mem); } diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index c321e8fb88..1e4d4b08f3 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -560,7 +560,7 @@ static void done(struct fsl_ep *ep, struct fsl_req *req, int status) if (j != req->dtd_count - 1) { next_td = curr_td->next_td_virt; } - dma_free_coherent(curr_td); + dma_free_coherent(curr_td, sizeof(struct ep_td_struct)); } dma_inv_range((unsigned long)req->req.buf, |