dmaengine: Revert "dmaengine: fsl-edma: support little endian for edma driver"
authorFabio Estevam <festevam@gmail.com>
Tue, 2 Jul 2019 16:48:52 +0000 (13:48 -0300)
committerVinod Koul <vkoul@kernel.org>
Wed, 3 Jul 2019 07:55:49 +0000 (13:25 +0530)
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>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/fsl-edma-common.c

index 6bf238e19d91da5ac09633c9cee87e8f6bc22f2f..680b2a00a953221547383a082af38f413d063502 100644 (file)
@@ -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);