On 22.03.2019, at 13:36, Lukas Wunner [off-list ref] wrote:
On Sun, Feb 24, 2019 at 04:23:11PM +0000, kernel@martin.sperl.org wrote:
quoted
+/* 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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel