* [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling @ 2014-08-08 7:47 Hannes Petermaier 2014-08-12 4:24 ` Jaehoon Chung 0 siblings, 1 reply; 4+ messages in thread From: Hannes Petermaier @ 2014-08-08 7:47 UTC (permalink / raw) To: u-boot if we set manually this bit on the eMMC card using mmc_switch(...), we also have to set it within our (before read) internal structure 'ext_csd'. Otherwise following checks on this will fail. Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> --- drivers/mmc/mmc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index a26f3ce..52a8e36 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -1010,6 +1010,8 @@ static int mmc_startup(struct mmc *mmc) if (err) return err; + else + ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; /* Read out group size from ext_csd */ mmc->erase_grp_size = -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling 2014-08-08 7:47 [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling Hannes Petermaier @ 2014-08-12 4:24 ` Jaehoon Chung 2014-08-12 5:47 ` Hannes Petermaier 0 siblings, 1 reply; 4+ messages in thread From: Jaehoon Chung @ 2014-08-12 4:24 UTC (permalink / raw) To: u-boot Hi, Hannes. On 08/08/2014 04:47 PM, Hannes Petermaier wrote: > if we set manually this bit on the eMMC card using mmc_switch(...), > we also have to set it within our (before read) internal structure > 'ext_csd'. > > Otherwise following checks on this will fail. > > Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> > --- > drivers/mmc/mmc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c > index a26f3ce..52a8e36 100644 > --- a/drivers/mmc/mmc.c > +++ b/drivers/mmc/mmc.c > @@ -1010,6 +1010,8 @@ static int mmc_startup(struct mmc *mmc) > > if (err) > return err; > + else > + ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; When is this value read? If i'm right, you means that it has to set before comparing with test_csd, right? It's reasonable, but i'm not sure that hard-coding is right. Best Regards, Jaehoon Chung > > /* Read out group size from ext_csd */ > mmc->erase_grp_size = > ^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling 2014-08-12 4:24 ` Jaehoon Chung @ 2014-08-12 5:47 ` Hannes Petermaier 2014-10-02 10:49 ` Pantelis Antoniou 0 siblings, 1 reply; 4+ messages in thread From: Hannes Petermaier @ 2014-08-12 5:47 UTC (permalink / raw) To: u-boot > Hi, Hannes. Hi Jaehoon, > > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c > > index a26f3ce..52a8e36 100644 > > --- a/drivers/mmc/mmc.c > > +++ b/drivers/mmc/mmc.c > > @@ -1010,6 +1010,8 @@ static int mmc_startup(struct mmc *mmc) > > > > if (err) > > return err; > > + else > > + ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; > When is this value read? a few lines above, have a look at line 967: /* check ext_csd version and capacity */ err = mmc_send_ext_csd(mmc, ext_csd); > If i'm right, you means that it has to set before comparing with test_csd, right? yes, exactly thats what i mean. > It's reasonable, but i'm not sure that hard-coding is right. why not ? we set the bit using mmc_switch, and only after success we alter our internal structure. > > Best Regards, > Jaehoon Chung best regards, Hannes ^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling 2014-08-12 5:47 ` Hannes Petermaier @ 2014-10-02 10:49 ` Pantelis Antoniou 0 siblings, 0 replies; 4+ messages in thread From: Pantelis Antoniou @ 2014-10-02 10:49 UTC (permalink / raw) To: u-boot Hi Hannes, On Aug 12, 2014, at 8:47 AM, Hannes Petermaier <Hannes.Petermaier@br-automation.com> wrote: >> Hi, Hannes. > Hi Jaehoon, > >>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c >>> index a26f3ce..52a8e36 100644 >>> --- a/drivers/mmc/mmc.c >>> +++ b/drivers/mmc/mmc.c >>> @@ -1010,6 +1010,8 @@ static int mmc_startup(struct mmc *mmc) >>> >>> if (err) >>> return err; >>> + else >>> + ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; >> When is this value read? > > a few lines above, have a look at line 967: > /* check ext_csd version and capacity */ > err = mmc_send_ext_csd(mmc, ext_csd); > >> If i'm right, you means that it has to set before comparing with > test_csd, right? > yes, exactly thats what i mean. > >> It's reasonable, but i'm not sure that hard-coding is right. > why not ? we set the bit using mmc_switch, and only after success we alter > our internal structure. > It is reasonable in this context, but I?m wary of cases where a read would be required in case the write didn?t ?take?. I?ll apply this for now. >> >> Best Regards, >> Jaehoon Chung > > best regards, > Hannes > > > Regards ? Pantelis ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-10-02 10:49 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-08 7:47 [U-Boot] [PATCH] mmc: fix ERASE_GRP_DEF handling Hannes Petermaier 2014-08-12 4:24 ` Jaehoon Chung 2014-08-12 5:47 ` Hannes Petermaier 2014-10-02 10:49 ` Pantelis Antoniou
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox