[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPDyKFrkDb0X24F4cTopOF24sKWv4oxYqxv6U3jKbnRLMEF_Qw@mail.gmail.com>
Date: Wed, 11 Aug 2021 13:36:10 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Juergen Borleis <jbe@...gutronix.de>
Cc: linux-mmc <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Fabio Estevam <festevam@...il.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
Doug Anderson <dianders@...omium.org>,
Sascha Hauer <kernel@...gutronix.de>
Subject: Re: [PATCH 1/2] mmc: mxcmmc: really configure the DMA on demand
On Thu, 29 Jul 2021 at 09:29, Juergen Borleis <jbe@...gutronix.de> wrote:
>
> Calling mxcmci_use_dma(host) is intended for the next transfer only, not
> for generic detection if DMA is possible. Without this change, the DMA gets
> never configured and thus, never used.
Wow, that's an old bug you found there.
>
> Signed-off-by: Juergen Borleis <jbe@...gutronix.de>
It looks like we should add a fixes tag and add a stable tag:
Fixes: f53fbde48ef0 ("mmc: mxcmmc: use dmaengine API")
> ---
> drivers/mmc/host/mxcmmc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
> index 2fe6fcd..611f827 100644
> --- a/drivers/mmc/host/mxcmmc.c
> +++ b/drivers/mmc/host/mxcmmc.c
> @@ -834,7 +834,8 @@ static void mxcmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> else
> burstlen = 4;
>
> - if (mxcmci_use_dma(host) && burstlen != host->burstlen) {
> + if (host->dma != NULL && burstlen != host->burstlen) {
> + /* reconfigure DMA on changes only */
> host->burstlen = burstlen;
> ret = mxcmci_setup_dma(mmc);
> if (ret) {
A few lines below here, you should not clear host->do_dma, as it can't
be set at this point (thus clearing it just adds confusion).
Also I wonder if patch2 is really needed to fix the bug, or should be
considered as nice cleanup instead?
Kind regards
Uffe
Powered by blists - more mailing lists