diff mbox series

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

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

Commit Message

Fabio Estevam July 2, 2019, 2:30 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 Kozłowski <k.kozlowski.k@gmail.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/dma/fsl-edma-common.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Krzysztof Kozlowski July 2, 2019, 2:55 p.m. UTC | #1
On Tue, 2 Jul 2019 at 16:30, Fabio Estevam <festevam@gmail.com> 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.
>
> Reported-by: Krzysztof Kozłowski <k.kozlowski.k@gmail.com>

Thanks for the credits, just minor fixup (I used wrong email):
Reported-by: Krzysztof Kozlowski <krzk@kernel.org>

Also:
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
>  drivers/dma/fsl-edma-common.c | 5 -----
>  1 file changed, 5 deletions(-)
>
> 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);
>
> --
> 2.17.1
>
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);