> On 22.03.2019, at 13:36, Lukas Wunner <lukas@xxxxxxxxx> wrote: > > On Sun, Feb 24, 2019 at 04:23:11PM +0000, kernel@xxxxxxxxxxxxxxxx wrote: >> +/* define dma min number of bytes to use in dma mode with value validation */ >> +static int dma_min_bytes_limit_set(const char *val, >> + const struct kernel_param *kp) >> +{ >> + unsigned int v; >> + >> + if (kstrtouint(val, 10, &v)) >> + return -EINVAL; >> + /* value needs to be a multiple of 4 */ >> + if (v % 4) { >> + pr_err("dma_min_bytes_limit needs to be a multiple of 4\n"); >> + return -EINVAL; >> + } > > Transfers don't need to be a multiple of 4 to be eligible for DMA, > so this check can be dropped. I definitely did not want to write a custom module argument parser but if i remember correctly there is one limitation on the transmission path where you would hit some inefficiencies in the DMA code when you run transfers that are not a multiple of 4 - especially for short transfers. That is why it was implemented. But I can leave this precaution out. Martin