On 31 August 2016 at 12:48, Jaehoon Chung <jh80.chung@xxxxxxxxxxx> wrote: > On 08/31/2016 04:13 PM, Shawn Lin wrote: >> On 2016/8/31 13:51, Jaehoon Chung wrote: >>> HS400 mode doesn't need to do execute_tuning, because it's already >>> tuned in HS200 mode. And Tuning command is optional for UHS50 mode. >>> >>> In future, the general execute_tuning sequence can be included in this >>> function. >> >> Maybe this isn't what we want for mmc. >> >> I see both of sd and sdio call mmc_execute_tuning by checking >> the ios.timing, and explicitly we need to do tuning for >> MMC_TIMING_UHS_SDR50 as the mmc core asks we to do that. >> >> Moreover, why mmc didn't do something like: >> >> if (card->host->ios.timing == MMC_TIMING_XXXXX || ....) >> mmc_execute_tuning() >> >> So we don't need every host driver to add these check and I do >> see some host drivers check these timing for their execute_tuning >> callback.. >> >> What is your opinion? :) > > Yep, your comment makes sense..So i'm checking SD specification. > I think it needs to know which UHS card is..(UHS50 or UHS104).. > But current kernel can't distinguish these.. What about MMC_TIMING_UHS_SDR50 and MMC_TIMING_UHS_SDR104? Are you saying we need some more additional timing type(s)? > > According to spec, we can distinguish UHS50 and UHS104 with TRAN_SPEED field. > > "UHS50 Card set TRANS_SPEED to 0Bh (100Mbit/sec), for both SDR50 and DDR50 modes. > UHS104 Card set TRAN_SPEED to 2Bh (200Mbit/sec)" > [...] Kind regards Uffe -- 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