Skip to contentSkip to conversation

Patch "dmaengine: ep93xx: Always start from BASE0" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Jun 12, 2017

Subsystems (2)
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: ep93xx: Always start from BASE0

to the 4.4-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-ep93xx-always-start-from-base0.patch
and it can be found in the queue-4.4 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 0037ae47812b1f431cc602100d1d51f37d77b61e Mon Sep 17 00:00:00 2001

From: Alexander Sverdlin <[email protected]>
Date: Mon, 22 May 2017 16:05:22 +0200
Subject: dmaengine: ep93xx: Always start from BASE0

From: Alexander Sverdlin <[email protected]>

commit 0037ae47812b1f431cc602100d1d51f37d77b61e upstream.

The current buffer is being reset to zero on device_free_chan_resources() but not on device_terminate_all(). It could happen that HW is restarted and expects BASE0 to be used, but the driver is not synchronized and will start from BASE1. One solution is to reset the buffer explicitly in m2p_hw_setup().

---
 drivers/dma/ep93xx_dma.c |    2 ++
 1 file changed, 2 insertions(+)
drivers/dma/ep93xx_dma.c +2 -0
@@ -325,6 +325,8 @@ static int m2p_hw_setup(struct ep93xx_dm
 		| M2P_CONTROL_ENABLE;
 	m2p_set_control(edmac, control);
 
+	edmac->buffer = 0;
+
 	return 0;
 }
 

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

queue-4.4/dmaengine-ep93xx-always-start-from-base0.patch queue-4.4/dmaengine-ep93xx-don-t-drain-the-transfers-in-terminate_all.patch