Commit dea7a9fb authored by Vinod Koul's avatar Vinod Koul

dmaengine: imx-dma: remove dma_slave_config direction usage

dma_slave_config direction was marked as deprecated quite some
time back, remove the usage from this driver so that the field
can be removed
Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 7f0c1450
...@@ -162,6 +162,7 @@ struct imxdma_channel { ...@@ -162,6 +162,7 @@ struct imxdma_channel {
bool enabled_2d; bool enabled_2d;
int slot_2d; int slot_2d;
unsigned int irq; unsigned int irq;
struct dma_slave_config config;
}; };
enum imx_dma_type { enum imx_dma_type {
...@@ -675,14 +676,15 @@ static int imxdma_terminate_all(struct dma_chan *chan) ...@@ -675,14 +676,15 @@ static int imxdma_terminate_all(struct dma_chan *chan)
return 0; return 0;
} }
static int imxdma_config(struct dma_chan *chan, static int imxdma_config_write(struct dma_chan *chan,
struct dma_slave_config *dmaengine_cfg) struct dma_slave_config *dmaengine_cfg,
enum dma_transfer_direction direction)
{ {
struct imxdma_channel *imxdmac = to_imxdma_chan(chan); struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
struct imxdma_engine *imxdma = imxdmac->imxdma; struct imxdma_engine *imxdma = imxdmac->imxdma;
unsigned int mode = 0; unsigned int mode = 0;
if (dmaengine_cfg->direction == DMA_DEV_TO_MEM) { if (direction == DMA_DEV_TO_MEM) {
imxdmac->per_address = dmaengine_cfg->src_addr; imxdmac->per_address = dmaengine_cfg->src_addr;
imxdmac->watermark_level = dmaengine_cfg->src_maxburst; imxdmac->watermark_level = dmaengine_cfg->src_maxburst;
imxdmac->word_size = dmaengine_cfg->src_addr_width; imxdmac->word_size = dmaengine_cfg->src_addr_width;
...@@ -723,6 +725,16 @@ static int imxdma_config(struct dma_chan *chan, ...@@ -723,6 +725,16 @@ static int imxdma_config(struct dma_chan *chan,
return 0; return 0;
} }
static int imxdma_config(struct dma_chan *chan,
struct dma_slave_config *dmaengine_cfg)
{
struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
memcpy(&imxdmac->config, dmaengine_cfg, sizeof(*dmaengine_cfg));
return 0;
}
static enum dma_status imxdma_tx_status(struct dma_chan *chan, static enum dma_status imxdma_tx_status(struct dma_chan *chan,
dma_cookie_t cookie, dma_cookie_t cookie,
struct dma_tx_state *txstate) struct dma_tx_state *txstate)
...@@ -905,6 +917,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( ...@@ -905,6 +917,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic(
desc->desc.callback = NULL; desc->desc.callback = NULL;
desc->desc.callback_param = NULL; desc->desc.callback_param = NULL;
imxdma_config_write(chan, &imxdmac->config, direction);
return &desc->desc; return &desc->desc;
} }
......
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