All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.