dmaengine Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] Revert "dmaengine: fsl-edma: support little endian for edma driver"
@ 2019-07-02 14:30 Fabio Estevam
  2019-07-02 14:55 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Fabio Estevam @ 2019-07-02 14:30 UTC (permalink / raw)
  To: vkoul; +Cc: peng.ma, k.kozlowski.k, dmaengine, cphealy, Fabio Estevam

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

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Revert "dmaengine: fsl-edma: support little endian for edma driver"
  2019-07-02 14:30 [PATCH] Revert "dmaengine: fsl-edma: support little endian for edma driver" Fabio Estevam
@ 2019-07-02 14:55 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2019-07-02 14:55 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: vkoul, peng.ma, dmaengine, cphealy

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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-02 14:30 [PATCH] Revert "dmaengine: fsl-edma: support little endian for edma driver" Fabio Estevam
2019-07-02 14:55 ` Krzysztof Kozlowski

dmaengine Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dmaengine/0 dmaengine/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dmaengine dmaengine/ https://lore.kernel.org/dmaengine \
		dmaengine@vger.kernel.org
	public-inbox-index dmaengine

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.dmaengine


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git