Loading drivers/dma/imx-dma.c +17 −3 Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ struct imxdma_channel { bool enabled_2d; int slot_2d; unsigned int irq; struct dma_slave_config config; }; enum imx_dma_type { Loading Loading @@ -675,14 +676,15 @@ static int imxdma_terminate_all(struct dma_chan *chan) return 0; } static int imxdma_config(struct dma_chan *chan, struct dma_slave_config *dmaengine_cfg) static int imxdma_config_write(struct dma_chan *chan, struct dma_slave_config *dmaengine_cfg, enum dma_transfer_direction direction) { struct imxdma_channel *imxdmac = to_imxdma_chan(chan); struct imxdma_engine *imxdma = imxdmac->imxdma; 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->watermark_level = dmaengine_cfg->src_maxburst; imxdmac->word_size = dmaengine_cfg->src_addr_width; Loading Loading @@ -723,6 +725,16 @@ static int imxdma_config(struct dma_chan *chan, 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, dma_cookie_t cookie, struct dma_tx_state *txstate) Loading Loading @@ -905,6 +917,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( desc->desc.callback = NULL; desc->desc.callback_param = NULL; imxdma_config_write(chan, &imxdmac->config, direction); return &desc->desc; } Loading Loading
drivers/dma/imx-dma.c +17 −3 Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ struct imxdma_channel { bool enabled_2d; int slot_2d; unsigned int irq; struct dma_slave_config config; }; enum imx_dma_type { Loading Loading @@ -675,14 +676,15 @@ static int imxdma_terminate_all(struct dma_chan *chan) return 0; } static int imxdma_config(struct dma_chan *chan, struct dma_slave_config *dmaengine_cfg) static int imxdma_config_write(struct dma_chan *chan, struct dma_slave_config *dmaengine_cfg, enum dma_transfer_direction direction) { struct imxdma_channel *imxdmac = to_imxdma_chan(chan); struct imxdma_engine *imxdma = imxdmac->imxdma; 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->watermark_level = dmaengine_cfg->src_maxburst; imxdmac->word_size = dmaengine_cfg->src_addr_width; Loading Loading @@ -723,6 +725,16 @@ static int imxdma_config(struct dma_chan *chan, 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, dma_cookie_t cookie, struct dma_tx_state *txstate) Loading Loading @@ -905,6 +917,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( desc->desc.callback = NULL; desc->desc.callback_param = NULL; imxdma_config_write(chan, &imxdmac->config, direction); return &desc->desc; } Loading