summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-05-27 11:14:58 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2019-05-28 10:38:22 +0200
commitb082f2edca46c425a8e28e0a98e6ea47fb43a795 (patch)
treedbfaba02bfb5696522d851abf2e9bb43fc551901 /drivers/dma
parent64f137cae2bfbab2cad3caaf007b66b003b55881 (diff)
downloadbarebox-b082f2edca46c425a8e28e0a98e6ea47fb43a795.tar.gz
barebox-b082f2edca46c425a8e28e0a98e6ea47fb43a795.tar.xz
apbh: Use dma_alloc_coherent() to get DMA address
Avoid converting virtual address to physical by simple casting by making use of the fact that dma_alloc_coherent() can already return that information to us. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/apbh_dma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c
index 15a523ac85..3bee89f78b 100644
--- a/drivers/dma/apbh_dma.c
+++ b/drivers/dma/apbh_dma.c
@@ -381,14 +381,15 @@ static int mxs_dma_release(int channel)
struct mxs_dma_desc *mxs_dma_desc_alloc(void)
{
struct mxs_dma_desc *pdesc;
+ dma_addr_t dma_address;
pdesc = dma_alloc_coherent(sizeof(struct mxs_dma_desc),
- DMA_ADDRESS_BROKEN);
+ &dma_address);
if (pdesc == NULL)
return NULL;
- pdesc->address = (dma_addr_t)pdesc;
+ pdesc->address = dma_address;
return pdesc;
};