Thread (28 messages) 28 messages, 5 authors, 2012-01-19

[PATCH 8/8] dmaengine/dw_dmac: Add support for DMA_SLAVE_CONFIG

From: Linus Walleij <hidden>
Date: 2012-01-17 08:49:20
Also in: lkml

On Mon, Jan 16, 2012 at 12:42 PM, Viresh Kumar [off-list ref] wrote:
On 1/16/2012 3:20 PM, Viresh KUMAR wrote:
quoted
+ ? ? /*
+ ? ? ?* 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help