RE: [PATCH v2 1/4] net: ethernet: ti: davinci_cpdma: split descs num between all channels

From: Yuval Mintz
Date: Mon Aug 15 2016 - 13:40:42 EST


> Currently the tx channels share same pool of descriptors. Thus one channel can
> block another if pool is emptied by one. But, the shaper should decide which
> channel is allowed to send packets. To avoid such impact of one channel on
> another, let every channel to have its own peace of pool.
Piece.

> +/**
> + * cpdma_chan_split_pool - Splits ctrl pool between all channels.
> + * Has to be called under ctlr lock
> + *
> + */
No need for the extra empty comment line.

> + /* calculate average size of pool slice */
> + ch_desc_num = pool->num_desc / ctlr->chan_num;
> +
> + /* split ctlr pool */
> + for (i = 0; i < ARRAY_SIZE(ctlr->channels); i++) {
> + chan = ctlr->channels[i];
> + if (chan)
> + chan->desc_num = ch_desc_num;
Is this 'if' needed? If there's some route where the channel can be NULL,
You're splitting the value incorrectly.