public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Chris Ball <chris@printf.net>, linux-mmc <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH 5/6] mmc: block: Fix SD card stop cmd response type
Date: Tue, 30 Sep 2014 15:41:53 +0300	[thread overview]
Message-ID: <542AA511.5010904@intel.com> (raw)
In-Reply-To: <CAPDyKFrMPW_MhPpKnviZnBXoVtJkMWEBC5K3GotyVhktue+9_w@mail.gmail.com>

On 30/09/14 15:09, Ulf Hansson wrote:
> On 30 September 2014 13:21, Adrian Hunter <adrian.hunter@intel.com> wrote:
>> On 25/09/14 12:20, Ulf Hansson wrote:
>>> On 23 September 2014 22:00, Adrian Hunter <adrian.hunter@intel.com> wrote:
>>>> Nowhere in the SD Association Specifications does
>>>> it state that the stop command has an R1 response
>>>> type.  It is always R1B.  Change accordingly.
>>>
>>> It depends on how detailed you read the spec. :-)
>>>
>>> First, R1B is the same as R1, but with optional busy signalling on DAT0.
>>
>> Not exactly:
>>
>> "R1b is identical to R1 with an optional busy signal
>> transmitted on the data line. The card may become
>> busy after receiving these commands based on its
>> state prior to the command reception. The Host shall
>> check for busy at the response. Refer to Section 4.12.3
>> for a detailed description and timing diagrams."
>>
>> Note it says "The Host shall check for busy at the response."
>> It does not say "The Host is not affected"
> 
> Sorry, I was a bit unclear. I was referring to the format of the response.
> 
>>
>>>
>>> Just reading the table listing CMDS their related response types,
>>> confirms what you are saying. CMD12 has an R1B.
>>
>> Which is explicit and definitive.
>>
>>> Though, going into the details of the "Timing" section where this is
>>> clearly visualized in diagrams, you realize there are no busy
>>> signalling associated with a DATA READ, only for DATA WRITE. It is
>>> also indicated in earlier sections of the spec when "DATA READ/WRITE
>>> sequences are described", but I think the "Timing" section describes
>>> this the best.
>>
>> You are looking at it only from the point of view of the card. The host
>> controller can expect that CMD12/R1b is the only valid combination
>> because that is what the specification defines.  You can't know what
>> the host controller will do if you tell it to do CMD12/R1 because that
>> is outside the spec.
>>
> 
> It doesn't matter from what point of view we look at it. It's all
> about the details of the spec, which tells us there are no busy
> signalling involved with a READ. HW designers of MMC controllers
> should know this as well.

HW designers may well choose to follow the spec.

> 
> Unless you really are fixing a regression here, I can't see the need
> for your patch.

No, I have a host controller that wants to give a TC interrupt on CMD12
which is correct if the response type is R1b but incorrect if the
response type is R1.  However I am anyway fixing that with a quirk because
theoretically MMC is affected too - although not in practice because it uses
CMD23 instead of CMD12.

That got me thinking that we really ought to follow the spec and use R1b.


  reply	other threads:[~2014-09-30 12:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 20:00 [PATCH 0/6] mmc: Some misc patches Adrian Hunter
2014-09-23 20:00 ` [PATCH 1/6] mmc: Fix use of wrong device in mmc_gpiod_free_cd() Adrian Hunter
2014-09-29  9:44   ` Ulf Hansson
2014-09-23 20:00 ` [PATCH 2/6] mmc: Fix incorrect warning when setting 0 Hz via debugfs Adrian Hunter
2014-09-29  9:44   ` Ulf Hansson
2014-09-23 20:00 ` [PATCH 3/6] mmc: It is not an error for the card to be removed while suspended Adrian Hunter
2014-09-25  8:27   ` Ulf Hansson
2014-09-25  9:26     ` Adrian Hunter
2014-09-23 20:00 ` [PATCH 4/6] mmc: block: Fix error recovery stop cmd timeout calculation Adrian Hunter
2014-09-25  8:37   ` Ulf Hansson
2014-09-23 20:00 ` [PATCH 5/6] mmc: block: Fix SD card stop cmd response type Adrian Hunter
2014-09-25  9:20   ` Ulf Hansson
2014-09-30 11:21     ` Adrian Hunter
2014-09-30 12:09       ` Ulf Hansson
2014-09-30 12:41         ` Adrian Hunter [this message]
2014-10-01  8:36           ` Ulf Hansson
2014-09-23 20:00 ` [PATCH 6/6] mmc: sdhci: Transfer Complete has higher priority than Data Timeout Error Adrian Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=542AA511.5010904@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=chris@printf.net \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox