mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
dmaengine/dw_dmac: Add 64 bit access width support for slave xfers on mem side
64 bit transfers are possible on both sides in slave transfers (memory as well as peripherals). This patch adds support for it memory side 64 bit transfers. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
This commit is contained in:
parent
ff7b05f29f
commit
6bc711f6bd
1 changed files with 16 additions and 4 deletions
|
@ -749,8 +749,14 @@ dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
|||
|
||||
mem = sg_phys(sg);
|
||||
len = sg_dma_len(sg);
|
||||
mem_width = 2;
|
||||
if (unlikely(mem & 3 || len & 3))
|
||||
|
||||
if (!((mem | len) & 7))
|
||||
mem_width = 3;
|
||||
else if (!((mem | len) & 3))
|
||||
mem_width = 2;
|
||||
else if (!((mem | len) & 1))
|
||||
mem_width = 1;
|
||||
else
|
||||
mem_width = 0;
|
||||
|
||||
slave_sg_todev_fill_desc:
|
||||
|
@ -807,8 +813,14 @@ dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
|||
|
||||
mem = sg_phys(sg);
|
||||
len = sg_dma_len(sg);
|
||||
mem_width = 2;
|
||||
if (unlikely(mem & 3 || len & 3))
|
||||
|
||||
if (!((mem | len) & 7))
|
||||
mem_width = 3;
|
||||
else if (!((mem | len) & 3))
|
||||
mem_width = 2;
|
||||
else if (!((mem | len) & 1))
|
||||
mem_width = 1;
|
||||
else
|
||||
mem_width = 0;
|
||||
|
||||
slave_sg_fromdev_fill_desc:
|
||||
|
|
Loading…
Reference in a new issue