On Wed, May 18, 2016 at 01:17:32PM +0530, Kedareswara rao Appana wrote:
> +             if (chan->cyclic) {
> +                     if (chan->ext_addr)
> +                             dma_writeq(chan, XILINX_DMA_REG_TAILDESC,
> +                                        chan->cyclic_seg_v->phys);
> +                     else
> +                             dma_ctrl_write(chan, XILINX_DMA_REG_TAILDESC,
> +                                            chan->cyclic_seg_v->phys);
> +             } else {
> +                     if (chan->ext_addr)
> +                             dma_writeq(chan, XILINX_DMA_REG_TAILDESC,
> +                                        tail_segment->phys);
> +                     else
> +                             dma_ctrl_write(chan, XILINX_DMA_REG_TAILDESC,
> +                                            tail_segment->phys);

this looks ugly and repeated few times. Why not have xilinx_write() which
does either dma_writeq or dma_ctrl_write based on channel..

> +                     if (chan->ext_addr) {
> +                             hw->buf_addr = lower_32_bits(buf_addr +
> +                                             sg_used + (period_len * i));
> +                             hw->buf_addr_msb = upper_32_bits(buf_addr +
> +                                             sg_used + (period_len * i));
> +                     } else {
> +                             hw->buf_addr = buf_addr + sg_used +
> +                                            (period_len * i);
> +                     }

similar wrapper here would make code more readable

-- 
~Vinod

Reply via email to