Commit 1ad65115 authored by Vinod Koul's avatar Vinod Koul

Merge branch 'topic/zx' into for-linus

parents 8a3ec583 067fdeb2
...@@ -571,12 +571,12 @@ config XILINX_ZYNQMP_DMA ...@@ -571,12 +571,12 @@ config XILINX_ZYNQMP_DMA
Enable support for Xilinx ZynqMP DMA controller. Enable support for Xilinx ZynqMP DMA controller.
config ZX_DMA config ZX_DMA
tristate "ZTE ZX296702 DMA support" tristate "ZTE ZX DMA support"
depends on ARCH_ZX || COMPILE_TEST depends on ARCH_ZX || COMPILE_TEST
select DMA_ENGINE select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS select DMA_VIRTUAL_CHANNELS
help help
Support the DMA engine for ZTE ZX296702 platform devices. Support the DMA engine for ZTE ZX family platform devices.
# driver files # driver files
......
...@@ -66,7 +66,7 @@ obj-$(CONFIG_TI_CPPI41) += cppi41.o ...@@ -66,7 +66,7 @@ obj-$(CONFIG_TI_CPPI41) += cppi41.o
obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o
obj-$(CONFIG_TI_EDMA) += edma.o obj-$(CONFIG_TI_EDMA) += edma.o
obj-$(CONFIG_XGENE_DMA) += xgene-dma.o obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
obj-$(CONFIG_ZX_DMA) += zx296702_dma.o obj-$(CONFIG_ZX_DMA) += zx_dma.o
obj-$(CONFIG_ST_FDMA) += st_fdma.o obj-$(CONFIG_ST_FDMA) += st_fdma.o
obj-y += qcom/ obj-y += qcom/
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define DRIVER_NAME "zx-dma" #define DRIVER_NAME "zx-dma"
#define DMA_ALIGN 4 #define DMA_ALIGN 4
#define DMA_MAX_SIZE (0x10000 - PAGE_SIZE) #define DMA_MAX_SIZE (0x10000 - 512)
#define LLI_BLOCK_SIZE (4 * PAGE_SIZE) #define LLI_BLOCK_SIZE (4 * PAGE_SIZE)
#define REG_ZX_SRC_ADDR 0x00 #define REG_ZX_SRC_ADDR 0x00
...@@ -365,7 +365,8 @@ static enum dma_status zx_dma_tx_status(struct dma_chan *chan, ...@@ -365,7 +365,8 @@ static enum dma_status zx_dma_tx_status(struct dma_chan *chan,
bytes = 0; bytes = 0;
clli = zx_dma_get_curr_lli(p); clli = zx_dma_get_curr_lli(p);
index = (clli - ds->desc_hw_lli) / sizeof(struct zx_desc_hw); index = (clli - ds->desc_hw_lli) /
sizeof(struct zx_desc_hw) + 1;
for (; index < ds->desc_num; index++) { for (; index < ds->desc_num; index++) {
bytes += ds->desc_hw[index].src_x; bytes += ds->desc_hw[index].src_x;
/* end of lli */ /* end of lli */
...@@ -812,6 +813,7 @@ static int zx_dma_probe(struct platform_device *op) ...@@ -812,6 +813,7 @@ static int zx_dma_probe(struct platform_device *op)
INIT_LIST_HEAD(&d->slave.channels); INIT_LIST_HEAD(&d->slave.channels);
dma_cap_set(DMA_SLAVE, d->slave.cap_mask); dma_cap_set(DMA_SLAVE, d->slave.cap_mask);
dma_cap_set(DMA_MEMCPY, d->slave.cap_mask); dma_cap_set(DMA_MEMCPY, d->slave.cap_mask);
dma_cap_set(DMA_CYCLIC, d->slave.cap_mask);
dma_cap_set(DMA_PRIVATE, d->slave.cap_mask); dma_cap_set(DMA_PRIVATE, d->slave.cap_mask);
d->slave.dev = &op->dev; d->slave.dev = &op->dev;
d->slave.device_free_chan_resources = zx_dma_free_chan_resources; d->slave.device_free_chan_resources = zx_dma_free_chan_resources;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment