Re: [PATCH v3 1/6] mmc: add define for R1 response without CRC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 20, 2016 at 06:25:37PM +0900, Jaehoon Chung wrote:
> Hi Wolfram,
> 
> On 09/20/2016 05:57 AM, Wolfram Sang wrote:
> > The core uses it for polling. Give drivers a proper define handle this
> > case like for other response types.
> > 
> > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> > ---
> >  include/linux/mmc/core.h | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h
> > index b01e77de1a74de..4caee099b63a28 100644
> > --- a/include/linux/mmc/core.h
> > +++ b/include/linux/mmc/core.h
> > @@ -55,6 +55,9 @@ struct mmc_command {
> >  #define MMC_RSP_R6	(MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
> >  #define MMC_RSP_R7	(MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
> >  
> > +/* Can be used by core to poll after switch to MMC HS mode */
> > +#define MMC_RSP_R1_NO_CRC	(MMC_RSP_PRESENT|MMC_RSP_OPCODE)
> 
> MMC_RSP_RQ_NO_CRC is described at Specification?

Yes. JEDEC eMMC Spec v5.1, chapter 6.6.2, in the note:

"NOTE While the actual timing change is done, the behavior of any
command sent (like CMD13) cannot be guaranteed due to the asynchronous
operation. Therefore it is not recommended to use CMD13 to check the
busy completion of the timing change indication. In case CMD13 is used
the host must ignore CRC errors, if appear."

And the MMC core does that. In mmc_ops.c:

70         if (ignore_crc)
71                 cmd.flags &= ~MMC_RSP_CRC;

And ignore_crc is used in mmc.c (last 'true' parameter):

1023         err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
1024                            EXT_CSD_HS_TIMING, EXT_CSD_TIMING_HS,
1025                            card->ext_csd.generic_cmd6_time,
1026                            true, false, true);

This is why I put the comment above the define.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux