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

Reply via email to