Skip to contentSkip to conversation

Patch "dmaengine: at_xdmac: align descriptors on 64 bits" has been added to the 4.6-stable tree

PATCH [email protected] 1 participant 1 message Aug 2, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

dmaengine: at_xdmac: align descriptors on 64 bits

to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
dmaengine-at_xdmac-align-descriptors-on-64-bits.patch
and it can be found in the queue-4.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 4a9723e8df68cfce4048517ee32e37f78854b6fb Mon Sep 17 00:00:00 2001

From: Ludovic Desroches <[email protected]>
Date: Thu, 12 May 2016 16:54:08 +0200
Subject: dmaengine: at_xdmac: align descriptors on 64 bits

From: Ludovic Desroches <[email protected]>

commit 4a9723e8df68cfce4048517ee32e37f78854b6fb upstream.

Having descriptors aligned on 64 bits allows update CNDA and CUBC in an atomic way.

Fixes e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel

eXtended DMA Controller driver")

---
 drivers/dma/at_xdmac.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/dma/at_xdmac.c +2 -2
@@ -242,7 +242,7 @@ struct at_xdmac_lld {
 	u32		mbr_dus;	/* Destination Microblock Stride Register */
 };
 
-
+/* 64-bit alignment needed to update CNDA and CUBC registers in an atomic way. */
 struct at_xdmac_desc {
 	struct at_xdmac_lld		lld;
 	enum dma_transfer_direction	direction;
@@ -253,7 +253,7 @@ struct at_xdmac_desc {
 	unsigned int			xfer_size;
 	struct list_head		descs_list;
 	struct list_head		xfer_node;
-};
+} __aligned(sizeof(u64));
 
 static inline void __iomem *at_xdmac_chan_reg_base(struct at_xdmac *atxdmac, unsigned int chan_nb)
 {

Patches currently in stable-queue which might be from [email protected] are

queue-4.6/dmaengine-at_xdmac-fix-residue-corruption.patch queue-4.6/dmaengine-at_xdmac-double-fifo-flush-needed-to-compute-residue.patch queue-4.6/dmaengine-at_xdmac-align-descriptors-on-64-bits.patch