public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* mmc:  eMMC BKOPS status handling lock for non urgent case
@ 2014-08-29 16:49 Markus Niebel
  2014-09-03  1:47 ` Jaehoon Chung
  0 siblings, 1 reply; 5+ messages in thread
From: Markus Niebel @ 2014-08-29 16:49 UTC (permalink / raw)
  To: jh80.chung; +Cc: linux-mmc

Hello,

experimenting with the current BKOPS code we found, that when triggering from BKOPS_LEVEL 1,
the status stored with mmc_card_set_doing_bkops is never reset preventing BKOPS from working.

Since I'm not an expert in the mmc subsystem I ask for a hint where to look for completion
and implement proper status reset.

Thanks in advance

Markus Niebel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mmc:  eMMC BKOPS status handling lock for non urgent case
  2014-08-29 16:49 mmc: eMMC BKOPS status handling lock for non urgent case Markus Niebel
@ 2014-09-03  1:47 ` Jaehoon Chung
  2014-09-08  8:15   ` Markus Niebel
  0 siblings, 1 reply; 5+ messages in thread
From: Jaehoon Chung @ 2014-09-03  1:47 UTC (permalink / raw)
  To: Markus Niebel; +Cc: linux-mmc

Hi, Markus

Sorry for replying too late.

On 08/30/2014 01:49 AM, Markus Niebel wrote:
> Hello,
> 
> experimenting with the current BKOPS code we found, that when triggering from BKOPS_LEVEL 1,
> the status stored with mmc_card_set_doing_bkops is never reset preventing BKOPS from working.
In now, bkops is working for upper case than LEVEL_2 (urgent case).
Patch of LEVEL_1's case has sent at mailing, maybe you can found it.

> 
> Since I'm not an expert in the mmc subsystem I ask for a hint where to look for completion
> and implement proper status reset.

Could you explain to me more?

Best Regards,
Jaehoon Chung

> 
> Thanks in advance
> 
> Markus Niebel
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mmc:  eMMC BKOPS status handling lock for non urgent case
  2014-09-03  1:47 ` Jaehoon Chung
@ 2014-09-08  8:15   ` Markus Niebel
  2014-09-12  2:45     ` Jaehoon Chung
  0 siblings, 1 reply; 5+ messages in thread
From: Markus Niebel @ 2014-09-08  8:15 UTC (permalink / raw)
  To: Jaehoon Chung; +Cc: linux-mmc

Hello Jaehoon Chung

Am 03.09.2014 03:47, wrote Jaehoon Chung:
> Hi, Markus
> 
> Sorry for replying too late.
> 
> On 08/30/2014 01:49 AM, Markus Niebel wrote:
>> Hello,
>>
>> experimenting with the current BKOPS code we found, that when triggering from BKOPS_LEVEL 1,
>> the status stored with mmc_card_set_doing_bkops is never reset preventing BKOPS from working.
> In now, bkops is working for upper case than LEVEL_2 (urgent case).
> Patch of LEVEL_1's case has sent at mailing, maybe you can found it.

I will look for it.

> 
>>
>> Since I'm not an expert in the mmc subsystem I ask for a hint where to look for completion
>> and implement proper status reset.
> 
> Could you explain to me more?

If starting BKOPS with BKOPS_LEVEL 1 a switch (CMD6) without wait for completion (status polling)
is issued an a status variable is set. I did'nt find a place where this status is reset. 

> 
> Best Regards,
> Jaehoon Chung
> 
>>
>> Thanks in advance
>>
>> Markus Niebel
>>
 
Best Regards,
Markus Niebel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mmc:  eMMC BKOPS status handling lock for non urgent case
  2014-09-08  8:15   ` Markus Niebel
@ 2014-09-12  2:45     ` Jaehoon Chung
  2014-09-15 13:13       ` Markus Niebel
  0 siblings, 1 reply; 5+ messages in thread
From: Jaehoon Chung @ 2014-09-12  2:45 UTC (permalink / raw)
  To: Markus Niebel; +Cc: linux-mmc

Hi,

On 09/08/2014 05:15 PM, Markus Niebel wrote:
> Hello Jaehoon Chung
> 
> Am 03.09.2014 03:47, wrote Jaehoon Chung:
>> Hi, Markus
>>
>> Sorry for replying too late.
>>
>> On 08/30/2014 01:49 AM, Markus Niebel wrote:
>>> Hello,
>>>
>>> experimenting with the current BKOPS code we found, that when triggering from BKOPS_LEVEL 1,
>>> the status stored with mmc_card_set_doing_bkops is never reset preventing BKOPS from working.
>> In now, bkops is working for upper case than LEVEL_2 (urgent case).
>> Patch of LEVEL_1's case has sent at mailing, maybe you can found it.
> 
> I will look for it.
> 
>>
>>>
>>> Since I'm not an expert in the mmc subsystem I ask for a hint where to look for completion
>>> and implement proper status reset.
>>
>> Could you explain to me more?
> 
> If starting BKOPS with BKOPS_LEVEL 1 a switch (CMD6) without wait for completion (status polling)
> is issued an a status variable is set. I did'nt find a place where this status is reset.

You means when BKOPS_LEVEL_1 is set, this status didn't reset anywhere, right?
I didn't know why this value needs to reset.
Before starting BKOPS, always read the bkops-status from card's ext_csd register.
Then it should be re-assigned to the new status value.

we didn't refer to bkops-status for starting bkops or not.

Best Regards,
Jaehoon Chung

> 
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>> Thanks in advance
>>>
>>> Markus Niebel
>>>
>  
> Best Regards,
> Markus Niebel
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mmc:  eMMC BKOPS status handling lock for non urgent case
  2014-09-12  2:45     ` Jaehoon Chung
@ 2014-09-15 13:13       ` Markus Niebel
  0 siblings, 0 replies; 5+ messages in thread
From: Markus Niebel @ 2014-09-15 13:13 UTC (permalink / raw)
  To: Jaehoon Chung; +Cc: linux-mmc

Hello,
Am 12.09.2014 um 04:45 schrieb Jaehoon Chung:
> Hi,
> 
> On 09/08/2014 05:15 PM, Markus Niebel wrote:
>> Hello Jaehoon Chung
>>
>>>> Hello,
>>>>
>>>> experimenting with the current BKOPS code we found, that when triggering from BKOPS_LEVEL 1,
>>>> the status stored with mmc_card_set_doing_bkops is never reset preventing BKOPS from working.
>>> In now, bkops is working for upper case than LEVEL_2 (urgent case).
>>> Patch of LEVEL_1's case has sent at mailing, maybe you can found it.
>>
>> I will look for it.
>>
>>>
>>>>
>>>> Since I'm not an expert in the mmc subsystem I ask for a hint where to look for completion
>>>> and implement proper status reset.
>>>
>>> Could you explain to me more?
>>
>> If starting BKOPS with BKOPS_LEVEL 1 a switch (CMD6) without wait for completion (status polling)
>> is issued an a status variable is set. I did'nt find a place where this status is reset.
> 
> You means when BKOPS_LEVEL_1 is set, this status didn't reset anywhere, right?
> I didn't know why this value needs to reset.
> Before starting BKOPS, always read the bkops-status from card's ext_csd register.
> Then it should be re-assigned to the new status value.
> 
> we didn't refer to bkops-status for starting bkops or not.
> 

in drivers/mmc/core/core.c:

void mmc_start_bkops(struct mmc_card *card, bool from_exception)

a driver internal status is checked with mmc_card_doing_bkops(card)
and in case the state is set nothing will be done

At the end of the function the state is set with mmc_card_set_doing_bkops(card)
for the non urgent case

The state is only reset from mmc_stop_bkops which is only called from _mmc_suspend

> Best Regards,
> Jaehoon Chung


Best Regards,
Markus Niebel


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-09-15 13:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-29 16:49 mmc: eMMC BKOPS status handling lock for non urgent case Markus Niebel
2014-09-03  1:47 ` Jaehoon Chung
2014-09-08  8:15   ` Markus Niebel
2014-09-12  2:45     ` Jaehoon Chung
2014-09-15 13:13       ` Markus Niebel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox