Re: [RFC} sdhci.c set_ios -- disable global interrupts and Question on Power Management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



According to Zhangfei Gao -- android crashes when we are code to handle dual data rate because of the mdelay of 5ms that 
is needed for the voltage to become stable.  (see my ddr patch) 

I have never seen this problem with android.

The dual data rate code is in another patch;  it adds another call into set_ios to handle this.  

His comment was doing mdelay stopped the system from being scheduled since mdelay is done with interrupts disabled.  It also
stopped the system for keeping correct time.  

If doing mdelay breaks android then the original code (no ddr code) is wrong since mdelay should not be issued with
interrupts disabled and depending on the quirks defined the delays can be very large.

Wanted to handle his concern.


On Feb 14, 2011, at 10:41 AM, Tardy, Pierre wrote:

> Philip,
>>> And, more important, you will do cond_resched while holding you
>>> spinlock, which is *bad*.
>>> What if the mmc stack will call you again from another thread? deadlock...
> 
>> Assumptions -- Please Confirm
>> -------------------------------------------
> No need to do assumptions, schedule while holding spinlocks is bad, your kernel will oops with something like:
> BUG: scheduling while in atomic.
> 
> 
>>>> @@ -1108,7 +1108,7 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power)
>>>>        * can apply clock after applying power
>>>>        */
>>>>       if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER)
>>>> -               mdelay(10);
>>>> +               mmc_delay(10);
>>> Do you need this quirk in your platform?
>> 
>> No
> Then, you dont have any mdelay in your set_ios, and you are trying to optimize something that never happen.
> 
> Pierre
> 
> ---------------------------------------------------------------------
> Intel Corporation SAS (French simplified joint stock company)
> Registered headquarters: "Les Montalets"- 2, rue de Paris, 
> 92196 Meudon Cedex, France
> Registration Number:  302 456 199 R.C.S. NANTERRE
> Capital: 4,572,000 Euros
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux