> -----Original Message----- > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc- > owner@xxxxxxxxxxxxxxx] On Behalf Of Hiremath, Vaibhav > Sent: Tuesday, October 18, 2011 12:13 AM > To: Nath, Arindam; Subhash Jadavani; Hebbar, Gururaja; linux- > mmc@xxxxxxxxxxxxxxx > Cc: linux-omap@xxxxxxxxxxxxxxx; prakity@xxxxxxxxxxx; > prakity@xxxxxxxxxxx; zhangfei.gao@xxxxxxxxxxx; cjb@xxxxxxxxxx; Saxena, > Parth > Subject: RE: Linux v3.1-rc8 : SDHC card do not switch to high speed > mode > > > > -----Original Message----- > > From: Nath, Arindam [mailto:Arindam.Nath@xxxxxxx] > > Sent: Monday, October 17, 2011 8:28 PM > > To: Subhash Jadavani; Hiremath, Vaibhav; Hebbar, Gururaja; linux- > > mmc@xxxxxxxxxxxxxxx > > Cc: linux-omap@xxxxxxxxxxxxxxx; prakity@xxxxxxxxxxx; > prakity@xxxxxxxxxxx; > > zhangfei.gao@xxxxxxxxxxx; cjb@xxxxxxxxxx; Saxena, Parth > > Subject: RE: Linux v3.1-rc8 : SDHC card do not switch to high speed > mode > > > > +Subhash > > > > Hi Subhash, > > > > If I am not mistaken, there was patch by you couple of weeks back to > fix > > the issue. Did you not post your final version of the patch to > community? > > > [Hiremath, Vaibhav] I could able to trace the patch, but not sure why > it did not make it to the mainline - > > http://www.mail-archive.com/linux-mmc@xxxxxxxxxxxxxxx/msg09358.html > > Fortunately, it is exactly same as what I did. Arindam, No, I had not posted the final version of the patch. Chris wanted to use some macros instead of magic numbers. One mentioned by Vaibhav (http://www.mail-archive.com/linux-mmc@xxxxxxxxxxxxxxx/msg09358.html) is the last patch. Regards, Subhash > > Thanks, > Vaibhav > > > Thanks, > > Arindam > > > > > -----Original Message----- > > > From: Hiremath, Vaibhav [mailto:hvaibhav@xxxxxx] > > > Sent: Monday, October 17, 2011 8:19 PM > > > To: Hebbar, Gururaja; linux-mmc@xxxxxxxxxxxxxxx > > > Cc: linux-omap@xxxxxxxxxxxxxxx; Nath, Arindam; prakity@xxxxxxxxxxx; > > > prakity@xxxxxxxxxxx; zhangfei.gao@xxxxxxxxxxx; cjb@xxxxxxxxxx; > Saxena, > > > Parth > > > Subject: RE: Linux v3.1-rc8 : SDHC card do not switch to high speed > > > mode > > > > > > > -----Original Message----- > > > > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > > > > owner@xxxxxxxxxxxxxxx] On Behalf Of Hebbar, Gururaja > > > > Sent: Thursday, October 13, 2011 8:19 PM > > > > To: linux-mmc@xxxxxxxxxxxxxxx > > > > Cc: linux-omap@xxxxxxxxxxxxxxx > > > > Subject: Linux v3.1-rc8 : SDHC card do not switch to high speed > mode > > > > > > > > Hi all, > > > > > > > > We are porting existing OMAP HSMMC driver (omap_hsmmc.c) to an > > > upcoming > > > > SOC. > > > > > > > > When testing the driver with SanDisk 16GB SDHC Card (SanDisk > Extreme > > > HD > > > > Video 16GB 20Mb/s), we observed that the card doesn't switch to > High > > > Speed > > > > mode. > > > > > > > > The card shows that it is compatible with SDA spec3. > > > > > > > > We are testing on Linux v3.1-rc8 > > > > > > > > > > > > In mmc_sd_init_card(), rocr received from card is 0xc0ff8000, > (S18A > > > bit > > > > not set). > > > > > > > > During mmc_sd_setup_card() --> mmc_decode_scr(), when decoding > scr, > > > the > > > > card specifies that it is sda spec3 compatible > > > > > > > > if (scr->sda_vsn == SCR_SPEC_VER_2) > > > > /* Check if Physical Layer Spec v3.0 is supported */ > > > > scr->sda_spec3 = UNSTUFF_BITS(resp, 47, 1); > > > -- > > > > > true > > > > > > > > Then during mmc_read_switch(), since it's a sda spec3 card, the > code > > > goes > > > > to read sd3_drv_type & sd3_curr_limit and skips settings > hs_max_dtr. > > > > > > > > mmc_sd_switch_hs() returns back since hs_max_dtr == 0 > > > > > > > > if (card->sw_caps.hs_max_dtr == 0) > > > > return 0; > > > > > > > > Because of this Card isn't switched to High Speed mode. > > > > > > > [Hiremath, Vaibhav] After doing bisect, I could able to nail down > the > > > commit which is leading to this issue. > > > > > > > > > psplinux060:/datalocal/omap-kernel>git bisect good > > > d6d50a15a2897d4133d536dd4343b5cf21163db3 is the first bad commit > > > commit d6d50a15a2897d4133d536dd4343b5cf21163db3 > > > Author: Arindam Nath <arindam.nath@xxxxxxx> > > > Date: Thu May 5 12:18:59 2011 +0530 > > > > > > mmc: sd: add support for driver type selection > > > > > > This patch adds support for setting driver strength during UHS- > I > > > initialization procedure. Since UHS-I cards set S18A (bit 24) > in > > > response to ACMD41, we use this as a base for UHS-I > initialization. > > > We modify the parameter list of mmc_sd_get_cid() so that we can > > > save the ROCR from ACMD41 to check whether bit 24 is set. > > > > > > We decide whether the Host Controller supports A, C, or D > driver > > > type depending on the Capabilities register. Driver type B is > > > suported by default. We then set the appropriate driver type > for > > > the card using CMD6 mode 1. As per Host Controller spec v3.00, > we > > > set driver type for the host only if Preset Value Enable in the > > > Host Control2 register is not set. SDHCI_HOST_CONTROL has been > > > renamed to SDHCI_HOST_CONTROL1 to conform to the spec. > > > > > > Tested by Zhangfei Gao with a Toshiba uhs card and general hs > card, > > > on mmp2 in SDMA mode. > > > > > > Signed-off-by: Arindam Nath <arindam.nath@xxxxxxx> > > > Reviewed-by: Philip Rakity <prakity@xxxxxxxxxxx> > > > Tested-by: Philip Rakity <prakity@xxxxxxxxxxx> > > > Acked-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxxx> > > > Signed-off-by: Chris Ball <cjb@xxxxxxxxxx> > > > > > > > > > I am not a MMC/SD expert, but looking at the logic I did change to > code > > > to something like, > > > > > > > > > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c > > > index 0370e03..1a45059 100644 > > > --- a/drivers/mmc/core/sd.c > > > +++ b/drivers/mmc/core/sd.c > > > @@ -348,10 +348,9 @@ static int mmc_read_switch(struct mmc_card > *card) > > > } > > > > > > card->sw_caps.sd3_curr_limit = status[7]; > > > - } else { > > > - if (status[13] & 0x02) > > > - card->sw_caps.hs_max_dtr = 50000000; > > > } > > > + if (status[13] & 0x02) > > > + card->sw_caps.hs_max_dtr = 50000000; > > > > > > out: > > > kfree(status); > > > > > > > > > This resolves the issue, and now card is getting detected properly > as a > > > high speed card. > > > May be I am wrong completely here, any pointers? Any comments? > > > > > > Thanks, > > > Vaibhav > > > > > > > Is there any solution for this? Has anyone seen this issue. > > > > > > > > Thanks in advance. > > > > > > > > > > > > I am also attaching the log I get from the sd dev attr > > > > > > > > Regards > > > > Gururaja > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > cid > > > > 0353445344313647800c03994400ac6f > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > csd > > > > 400e00325b59000076b27f800a404013 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > date > > > > 12/2010 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > erase_size > > > > 512 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > fwrev > > > > 0x0 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > hwrev > > > > 0x8 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > name > > > > SD16G > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > manfid > > > > 0x000003 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > oemid > > > > 0x5344 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > preferred_erase_size > > > > 4194304 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > scr > > > > 0235800000000000 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > serial > > > > 0x0c039944 > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > type > > > > SD > > > > > > > > root@arago- > > > > > > > > armv7:/sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:aaaa# > > > cat > > > > uevent > > > > DRIVER=mmcblk > > > > MMC_TYPE=SD > > > > MMC_NAME=SD16G > > > > MODALIAS=mmc:block > > > > > > > > > > > > -- > > > > To unsubscribe from this list: send the line "unsubscribe linux- > omap" > > > in > > > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > > > More majordomo info at http://vger.kernel.org/majordomo- > info.html > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html