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.
--
viresh