lkml.org 
[lkml]   [2012]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 8/8] dmaengine/dw_dmac: Add support for DMA_SLAVE_CONFIG
    From
    On 16 January 2012 17:12, Viresh Kumar <viresh.kumar@st.com> wrote:
    > On 1/16/2012 3:20 PM, Viresh KUMAR wrote:
    >> +     /*
    >> +      * Fix sconfig's burst size according to dw_dmac. We need to convert
    >> +      * them as: 1 -> 0, 2 -> 1, 4 -> 2, 8 -> 3, 16 -> 4.
    >> +      *
    >> +      * This can be done by findiding least significant bit set: n & (n - 1)
    >> +      */
    >> +     sconfig->src_maxburst &= sconfig->src_maxburst - 1;
    >> +     sconfig->dst_maxburst &= sconfig->dst_maxburst - 1;
    >
    > Perhaps, this looks incorrect. It will always return 0. :(
    > Can somebody suggest any inbuild function to do this, i think
    >
    Calculating log2(n) which isn't very tidy. For that reason usually we make do
    the other way around by saving values as power of 2 and simply left shifting
    1 by that value.
    In case at hand since most likely only valid values are power of 2,
    maybe you can do
    maxburst = ffs(maxburst) - 1

    -j
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-01-17 11:13    [W:0.020 / U:0.588 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site