[PATCH 8/8] dmaengine/dw_dmac: Add support for DMA_SLAVE_CONFIG
Linus Walleij
linus.walleij at linaro.org
Tue Jan 17 03:49:18 EST 2012
On Mon, Jan 16, 2012 at 12:42 PM, Viresh Kumar <viresh.kumar at 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
>
> find_next_bit(sconfig->src_maxburst, sizeof(sconfig->src_maxburst), 0)
>
> will do it.
Are you looking for ffs() from <linus/bitops.h>?
find-first-set (the include boils down to include/asm-generic/bitops/ffs.h
if you want to check the implementation).
Linus Walleij
More information about the linux-arm-kernel
mailing list