FAILED: patch "[PATCH] dmaengine: fsl-edma: correct max_segment_size setting" failed to apply to 6.1-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x a79f949a5ce1d45329d63742c2a995f2b47f9852
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024030434-underling-helmet-8fbe@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a79f949a5ce1d45329d63742c2a995f2b47f9852 Mon Sep 17 00:00:00 2001
From: Frank Li <[email protected]>
Date: Wed, 7 Feb 2024 14:47:32 -0500
Subject: [PATCH] dmaengine: fsl-edma: correct max_segment_size setting
Correcting the previous setting of 0x3fff to the actual value of 0x7fff.
Introduced new macro 'EDMA_TCD_ITER_MASK' for improved code clarity and utilization of FIELD_GET to obtain the accurate maximum value.
drivers/dma/fsl-edma-common.h +3 -2
@@ -30,8 +30,9 @@#define EDMA_TCD_ATTR_SSIZE (x) (((x) & GENMASK(2, 0)) << 8)#define EDMA_TCD_ATTR_SMOD (x) (((x) & GENMASK(4, 0)) << 11) -#define EDMA_TCD_CITER_CITER (x) ((x) & GENMASK(14, 0)) -#define EDMA_TCD_BITER_BITER (x) ((x) & GENMASK(14, 0)) +#define EDMA_TCD_ITER_MASK GENMASK(14, 0) +#define EDMA_TCD_CITER_CITER (x) ((x) & EDMA_TCD_ITER_MASK) +#define EDMA_TCD_BITER_BITER (x) ((x) & EDMA_TCD_ITER_MASK)#define EDMA_TCD_CSR_START BIT(0)#define EDMA_TCD_CSR_INT_MAJOR BIT(1)
drivers/dma/fsl-edma-main.c +3 -1
@@ -10,6 +10,7 @@*/ #include <dt-bindings/dma/fsl-edma.h> +#include <linux/bitfield.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/clk.h>
@@ -582,7 +583,8 @@ static int fsl_edma_probe(struct platform_device *pdev)DMAENGINE_ALIGN_32_BYTES ;/* Per worst case 'nbytes = 1' take CITER as the max_seg_size */ -dma_set_max_seg_size (fsl_edma->dma_dev.dev,0x3fff ); +dma_set_max_seg_size (fsl_edma->dma_dev.dev, +FIELD_GET (EDMA_TCD_ITER_MASK ,EDMA_TCD_ITER_MASK )); fsl_edma->dma_dev.residue_granularity =DMA_RESIDUE_GRANULARITY_SEGMENT ;