lkml.org 
[lkml]   [2014]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mmc: rtsx: add card power off during probe
On 23/09/2014 12:20 p.m., Ulf Hansson wrote:
> On 22 September 2014 12:09, Roger Tseng <rogerable@realtek.com> wrote:
>> On Thu, 2014-09-18 at 23:14 +0200, Ulf Hansson wrote:
>>> [...]
>>>
>>>>>
>>>>> In that case, don't forget to enable MMC_CAP2_FULL_PWR_CYCLE.
>>>>>
>>>>>>
>>>>>> if MMC_CAP2_NO_PRESCAN_POWERUP enable, will call mmc_power_off() at start,
>>>>>> then it will check ios.power_mode, but the state is MMC_POWER_OFF and just
>>>>>> return.
>>>>>
>>>>> Uhh, that's right! So, I wonder why we invokes mmc_power_off() from
>>>>> that path at all.
>>>>>
>>>>> Hmm, I think we should change the behavior in mmc_start_host(), like below:
>>>>> 1) Add a "MMC_POWER_UNDEFINED" state which is what the power state
>>>>> should be assigned to at allocation.
>>>>> 2 ) From mmc_start_host(), invoke mmc_power_off() when
>>>>> MMC_CAP2_NO_PRESCAN_POWERUP and MMC_CAP2_FULL_PWR_CYCLE is set.
>>>>>
>>>>> Would that work?
>>>> Yes. I have confirmed this by following changes. The MMC_POWER_UNDEFINED
>>>> designation in mmc_start_host() will eventually cause a power-off
>>>> operation.
>>>>
>>>> But I wonder if we need to additionally check MMC_CAP2_FULL_PWR_CYCLE
>>>> before calling mmc_power_off()?
>>>
>>> The intent from my side was to keep the current behaviour for those
>>> that already used MMC_CAP2_NO_PRESCAN_POWERUP, but it's s not a big
>>> deal.
>>>
>>
>> I checked the log and found the commit that invokes mmc_power_off():
>> a08b17be8b984a7c51cd5a480cd977363df353f9
>> 0d3e3350d5871c53464be4c92d57198744247005
>> (https://www.mail-archive.com/linux-mmc@vger.kernel.org/msg19638.html )
>>
>> The proposed change might bring back some delay since invoking
>> mmc_power_off() in mmc_start_host() is more than NOP now and triggers
>> real power-off and re-init in sdhci.
>
> Actually the above commits was added due to the below commit:
>
> fa5501890d8974301042e0202d342a6cbe8609f4
>
> But the commits you refer to, didn't bring back the old behaviour,
> which I think was the intent. Instead we added a NOP call to
> mmc_power_off() from mmc_start_host().
>
> We have few options on how to go forward, but let's loop in Adrian
> Hunter first, since he might be able to comment on this as well.

Having mmc_power_off() in mmc_start_host()
actually power off should be OK.


\
 
 \ /
  Last update: 2014-09-23 22:21    [W:2.610 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site