lkml.org 
[lkml]   [2012]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V3 09/12] dmaengine/dw_dmac: Add 64 bit access width support for slave xfers on mem side
    Date
    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>
    ---
    drivers/dma/dw_dmac.c | 20 ++++++++++++++++----
    1 files changed, 16 insertions(+), 4 deletions(-)

    diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
    index 49d477c..44d8069 100644
    --- a/drivers/dma/dw_dmac.c
    +++ b/drivers/dma/dw_dmac.c
    @@ -756,8 +756,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:
    @@ -814,8 +820,14 @@ slave_sg_todev_fill_desc:

    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:
    --
    1.7.8.110.g4cb5d


    \
     
     \ /
      Last update: 2012-02-01 11:55    [W:0.022 / U:0.520 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site