Takashi Iwai 3d8614
From 912f7c6f7fac273f40e621447cf17d14b50d6e5b Mon Sep 17 00:00:00 2001
Takashi Iwai 3d8614
From: Tudor Ambarus <tudor.ambarus@microchip.com>
Takashi Iwai 3d8614
Date: Wed, 15 Dec 2021 13:01:13 +0200
Takashi Iwai 3d8614
Subject: [PATCH] dmaengine: at_xdmac: Fix at_xdmac_lld struct definition
Takashi Iwai 3d8614
Git-commit: 912f7c6f7fac273f40e621447cf17d14b50d6e5b
Takashi Iwai 3d8614
Patch-mainline: v5.17-rc1
Takashi Iwai 3d8614
References: git-fixes
Takashi Iwai 3d8614
Takashi Iwai 3d8614
The hardware channel next descriptor view structure contains just
Takashi Iwai 3d8614
fields of 32 bits, while dma_addr_t can be of type u64 or u32
Takashi Iwai 3d8614
depending on CONFIG_ARCH_DMA_ADDR_T_64BIT. Force u32 to comply with
Takashi Iwai 3d8614
what the hardware expects.
Takashi Iwai 3d8614
Takashi Iwai 3d8614
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel eXtended DMA Controller driver")
Takashi Iwai 3d8614
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Takashi Iwai 3d8614
Link: https://lore.kernel.org/r/20211215110115.191749-11-tudor.ambarus@microchip.com
Takashi Iwai 3d8614
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Takashi Iwai 3d8614
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 3d8614
Takashi Iwai 3d8614
---
Takashi Iwai 3d8614
 drivers/dma/at_xdmac.c | 18 +++++++++---------
Takashi Iwai 3d8614
 1 file changed, 9 insertions(+), 9 deletions(-)
Takashi Iwai 3d8614
Takashi Iwai 3d8614
diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
Takashi Iwai 3d8614
index 6e5bfc9b3825..abe8c4615e65 100644
Takashi Iwai 3d8614
--- a/drivers/dma/at_xdmac.c
Takashi Iwai 3d8614
+++ b/drivers/dma/at_xdmac.c
Takashi Iwai 3d8614
@@ -253,15 +253,15 @@ struct at_xdmac {
Takashi Iwai 3d8614
 
Takashi Iwai 3d8614
 /* Linked List Descriptor */
Takashi Iwai 3d8614
 struct at_xdmac_lld {
Takashi Iwai 3d8614
-	dma_addr_t	mbr_nda;	/* Next Descriptor Member */
Takashi Iwai 3d8614
-	u32		mbr_ubc;	/* Microblock Control Member */
Takashi Iwai 3d8614
-	dma_addr_t	mbr_sa;		/* Source Address Member */
Takashi Iwai 3d8614
-	dma_addr_t	mbr_da;		/* Destination Address Member */
Takashi Iwai 3d8614
-	u32		mbr_cfg;	/* Configuration Register */
Takashi Iwai 3d8614
-	u32		mbr_bc;		/* Block Control Register */
Takashi Iwai 3d8614
-	u32		mbr_ds;		/* Data Stride Register */
Takashi Iwai 3d8614
-	u32		mbr_sus;	/* Source Microblock Stride Register */
Takashi Iwai 3d8614
-	u32		mbr_dus;	/* Destination Microblock Stride Register */
Takashi Iwai 3d8614
+	u32 mbr_nda;	/* Next Descriptor Member */
Takashi Iwai 3d8614
+	u32 mbr_ubc;	/* Microblock Control Member */
Takashi Iwai 3d8614
+	u32 mbr_sa;	/* Source Address Member */
Takashi Iwai 3d8614
+	u32 mbr_da;	/* Destination Address Member */
Takashi Iwai 3d8614
+	u32 mbr_cfg;	/* Configuration Register */
Takashi Iwai 3d8614
+	u32 mbr_bc;	/* Block Control Register */
Takashi Iwai 3d8614
+	u32 mbr_ds;	/* Data Stride Register */
Takashi Iwai 3d8614
+	u32 mbr_sus;	/* Source Microblock Stride Register */
Takashi Iwai 3d8614
+	u32 mbr_dus;	/* Destination Microblock Stride Register */
Takashi Iwai 3d8614
 };
Takashi Iwai 3d8614
 
Takashi Iwai 3d8614
 /* 64-bit alignment needed to update CNDA and CUBC registers in an atomic way. */
Takashi Iwai 3d8614
-- 
Takashi Iwai 3d8614
2.31.1
Takashi Iwai 3d8614