summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-07-29 11:43:47 +0200
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-08-01 21:49:34 +0800
commit8ba794abd43d672eb28cd4edc5778b87a3ad268e (patch)
tree49062ad0c2376a5d5da7ed5ddf1d84f5143ffea5
parentd77ef333479fd7e051b8de25c3b393708813202f (diff)
downloadbarebox-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.c2
-rw-r--r--arch/arm/include/asm/mmu.h9
-rw-r--r--drivers/usb/gadget/fsl_udc.c2
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,