Shouldn't one use mmc_op_conditional setting bit 30 to check for sector/byte addressing and then set the addressing mode based on the return value of this bit from mmc_op_conditional. We have seen cards doing sector addressing with sizes < 2GB and never seen a card doing sector addressing that does not set the bit. see http://www.spinics.net/lists/linux-mmc/msg01466.html Philip On Jan 10, 2011, at 6:02 PM, Zhang Lily-R58066 wrote: > Ok to push. > > Best Regards > Lily Zhang > Freescale MAD Linux BSP > > TEL: +86-21-28937573 > FAX: +86-21-28937444 > IM: r58066@xxxxxxxxxxxxxxxx > mail to: r58066@xxxxxxxxxxxxx > > > > -----Original Message----- > From: Zhu Richard-R65037 > Sent: 2011å1æ11æ 10:03 > To: Zhang Lily-R58066; root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx > Cc: ReviewList Linux-LNXREVLI; Zhu Richard-R65037; linux-mmc@xxxxxxxxxxxxxxx > Subject: [lnxrevli] [REVIEW 2/2] ENGR0000137838 SDHCI Some eMMC cards can't work well in our BSP > > Pick up the patch from the community. > > fc8a0985c2846292312556cba10b8a4182f55967 > From: Hanumath Prasad <hanumath.prasad@xxxxxxxxxxxxxx> > Date: Tue, 10 Aug 2010 18:01:45 -0700 > Subject: [REVIEW 2/2] mmc: only set blockaddressed for > 2GiB cards > > A non-zero value of SEC_COUNT does not indicate that the card is sector > addressed. According to the MMC specification, cards > with a densitygreater than 2GiB are sector addressed. > > Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> > Signed-off-by: Hanumath Prasad <hanumath.prasad@xxxxxxxxxxxxxx> > Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxxxxxxxx> > Cc: <linux-mmc@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Richard Zhu <r65037@xxxxxxxxxxxxx> > > drivers/mmc/core/mmc.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > ENGR0000137838 SDHCI Some eMMC cards can't work well in our BSP > sha : ce733e353d0ac82c9a607b708f7de2b214408445 > local branch is : imx_2.6.35 > remote_branch : origin/imx_2.6.35 > branch_start : v2.6.35.3 > > review-commits last updated 2010-12-31 13:49 /home/r65037/bin/linux-infra/tools/review-commits > d33ca02dca1624e86b1513e7bb7cce7281cd9590 don't generate pkg for linux-2.6-testbu > ild for cherry-pick experiment > git version 1.6.3.3 > > > Running checkpatch.pl: > total: 0 errors, 0 warnings, 10 lines checked > > Your patch has no obvious style problems and is ready for submission. > > checking header of ce733e3: ENGR0000137838 SDHCI Some eMMC cards can't work well in our BSP > > check header: PASS > > Checking kernel paths: PASS > > review-commits: PASS > ============================================= > diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c > index 4a9e2ed..95e13c2 100644 > --- a/drivers/mmc/core/mmc.c > +++ b/drivers/mmc/core/mmc.c > @@ -222,7 +222,9 @@ static int mmc_read_ext_csd(struct mmc_card *card) > ext_csd[EXT_CSD_SEC_CNT + 1] << 8 | > ext_csd[EXT_CSD_SEC_CNT + 2] << 16 | > ext_csd[EXT_CSD_SEC_CNT + 3] << 24; > - if (card->ext_csd.sectors) > + > + /* Cards with density > 2GiB are sector addressed */ > + if (card->ext_csd.sectors > (2u * 1024 * 1024 * 1024) / 512) > mmc_card_set_blockaddr(card); > } > > -- > 1.6.3.3 > > > > ãæ??è??ç+-éèîwçèçééçfæÐæå}îèç?j:+vå?çèzZ+â?zfïçæîååiïîz?çã?æç??æf ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þiþ)íèjg¬±¨¶Ýjÿ¾«þG«é¸¢·¦j:+v¨wèm¶ÿþø®w¥þ࣢·hâÿÙ