[PATCH 4/7] ARM: pass size to dma_free_coherent
Sascha Hauer
s.hauer at pengutronix.de
Fri Jul 29 05:43:47 EDT 2011
We'll need it later once we remap dma memory.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
arch/arm/cpu/mmu.c | 2 +-
arch/arm/include/asm/mmu.h | 9 +++++++--
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 8465d1a..bb067e3 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 d96c728..9ebc2cd 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 20a5064..1401169 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,
--
1.7.5.4
More information about the barebox
mailing list