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 |
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 --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);
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(-)