Re: [PATCH V5 06/10] mmc: sdhci: Disable auto-CMD23 if stuff bits is set in CMD23 argument

From: Chunyan Zhang
Date: Mon Aug 27 2018 - 07:08:03 EST


On 27 August 2018 at 18:07, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
> On 23 August 2018 at 14:50, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>> On 16/08/18 10:54, Chunyan Zhang wrote:
>>> For version 4.10 and aboves, SDHCI_ARGUMENT2 is also uses to indicate
>>> 32-bit number of blocks, it doesn't support stuff bits in argument of
>>> CMD23, but only block count for the following command (CMD18/25).
>>>
>>> Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx>
>>> ---
>>> drivers/mmc/host/sdhci.c | 9 +++++++++
>>> drivers/mmc/host/sdhci.h | 1 +
>>> 2 files changed, 10 insertions(+)
>>>
>>> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
>>> index b3328ee..a72ad0d 100644
>>> --- a/drivers/mmc/host/sdhci.c
>>> +++ b/drivers/mmc/host/sdhci.c
>>> @@ -1729,6 +1729,15 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
>>> }
>>> }
>>>
>>> + /*
>>> + * For version 4.10 and above, ARGUMENT2 register is also used as 32-bit
>>> + * block count register which don't support stuff bits of CMD23 argument
>>> + */
>>> + if (host->version >= SDHCI_SPEC_410 &&
>>> + mrq->sbc && (mrq->sbc->arg & SDHCI_ARG2_STUFF) &&
>>> + (host->flags & SDHCI_AUTO_CMD23))
>>> + host->flags &= ~SDHCI_AUTO_CMD23;
>>
>> I would prefer this be done in sdhci-sprd.c by hooking ->request(). Someone
>> sent a patch recently to export sdhci_request().
>
> Right. So I have picked up the patch you were referring to.
> https://lkml.org/lkml/2018/8/20/140
>
> Chunyan, you may now preferably base your next version on top of my
> mmc tree's next branch.

Ok, will do.

Thanks,
Chunyan

>
> [...]
>
> Kind regards
> Uffe