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: r58...@im.freescale.net > mail to: r58...@freescale.com > > > > -----Original Message----- > From: Zhu Richard-R65037 > Sent: 2011年1月11日 10:03 > To: Zhang Lily-R58066; r...@udp161639uds.ap.freescale.net > Cc: ReviewList Linux-LNXREVLI; Zhu Richard-R65037; linux-mmc@vger.kernel.org > 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.pra...@stericsson.com> > 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.wall...@stericsson.com> > Signed-off-by: Hanumath Prasad <hanumath.pra...@stericsson.com> > Signed-off-by: Rabin Vincent <rabin.vinc...@stericsson.com> > Cc: <linux-mmc@vger.kernel.org> > Signed-off-by: Andrew Morton <a...@linux-foundation.org> > Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> > > Signed-off-by: Richard Zhu <r65...@freescale.com> > > 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"穐殘啳嗃iz?畐ア?櫒璀??撷f