diff mbox series

[v2] Revert "dmaengine: fsl-edma: support little endian for edma driver"

Message ID 20190702164852.3195-1-festevam@gmail.com (mailing list archive)
State Accepted
Headers show
Series [v2] Revert "dmaengine: fsl-edma: support little endian for edma driver" | expand

Commit Message

Fabio Estevam July 2, 2019, 4:48 p.m. UTC
This reverts commit 002905eca5bedab08bafd9e325bbbb41670c7712.

Commit 002905eca5be ("dmaengine: fsl-edma: support little endian for edma
driver") incorrectly assumed that there was not little endian support
in the driver.

This causes hangs on Vybrid, so revert it so that Vybrid systems
could boot again.

Reported-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
---
Changes since v1:
- Updated Krzysztof's e-mail address
- Collected Krzysztof's Tested-by

 drivers/dma/fsl-edma-common.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Vinod Koul July 3, 2019, 7:55 a.m. UTC | #1
On 02-07-19, 13:48, Fabio Estevam wrote:
> This reverts commit 002905eca5bedab08bafd9e325bbbb41670c7712.
> 
> Commit 002905eca5be ("dmaengine: fsl-edma: support little endian for edma
> driver") incorrectly assumed that there was not little endian support
> in the driver.
> 
> This causes hangs on Vybrid, so revert it so that Vybrid systems
> could boot again.

The patch title should be:
dmaengine: Revert "dmaengine: fsl-edma: support little endian for edma
driver"

I fixed that up and applied now
diff mbox series

Patch

diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c
index 6bf238e19d91..680b2a00a953 100644
--- a/drivers/dma/fsl-edma-common.c
+++ b/drivers/dma/fsl-edma-common.c
@@ -83,14 +83,9 @@  void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan,
 	u32 ch = fsl_chan->vchan.chan.chan_id;
 	void __iomem *muxaddr;
 	unsigned int chans_per_mux, ch_off;
-	int endian_diff[4] = {3, 1, -1, -3};
 
 	chans_per_mux = fsl_chan->edma->n_chans / DMAMUX_NR;
 	ch_off = fsl_chan->vchan.chan.chan_id % chans_per_mux;
-
-	if (!fsl_chan->edma->big_endian)
-		ch_off += endian_diff[ch_off % 4];
-
 	muxaddr = fsl_chan->edma->muxbase[ch / chans_per_mux];
 	slot = EDMAMUX_CHCFG_SOURCE(slot);