From: kishore kadiyala <kishorek.kadiyala@gmail.com>
To: Adrian Hunter <adrian.hunter@nokia.com>
Cc: "Ghorai, Sukumar" <s-ghorai@ti.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"Shilimkar, Santosh" <santosh.shilimkar@ti.com>,
"Chikkature Rajashekar, Madhusudhan" <madhu.cr@ti.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
Date: Tue, 20 Jul 2010 19:36:43 +0530 [thread overview]
Message-ID: <AANLkTilDOxmuOKnC0WpKdmkdRid_MLbiXiRhM5U5pFMX@mail.gmail.com> (raw)
In-Reply-To: <4C4568C6.9050705@nokia.com>
Hi Adrian,
Is there any use case or a valid scenario whether to use
omap_hsmmc_ps_ops or omap_hsmmc_ops ?
I meant using power_saving option and without power_saving option
Ideally I feel having omap_hsmmc_ps_ops as default with or without
CONFIG_PM would be better as it internally has a state handling.
Regards,
Kishore
On Tue, Jul 20, 2010 at 2:43 PM, Adrian Hunter <adrian.hunter@nokia.com> wrote:
> Ghorai, Sukumar wrote:
>>
>>> -----Original Message-----
>>> From: Adrian Hunter [mailto:adrian.hunter@nokia.com]
>>> Sent: Tuesday, July 20, 2010 2:10 PM
>>> To: Ghorai, Sukumar
>>> Cc: linux-mmc@vger.kernel.org; linux-omap@vger.kernel.org; Shilimkar,
>>> Santosh; Chikkature Rajashekar, Madhusudhan; Andrew Morton
>>> Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not
>>> define
>>>
>>> Ghorai, Sukumar wrote:
>>>>
>>>> Adrian,
>>>>
>>>>> -----Original Message-----
>>>>> From: Adrian Hunter [mailto:adrian.hunter@nokia.com]
>>>>> Sent: Tuesday, July 20, 2010 1:40 PM
>>>>> To: Ghorai, Sukumar
>>>>> Cc: linux-mmc@vger.kernel.org; linux-omap@vger.kernel.org; Shilimkar,
>>>>> Santosh; Chikkature Rajashekar, Madhusudhan; Andrew Morton
>>>>> Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not
>>>>> define
>>>>>
>>>>> Ghorai, Sukumar wrote:
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Adrian Hunter [mailto:adrian.hunter@nokia.com]
>>>>>>> Sent: Tuesday, July 20, 2010 12:39 PM
>>>>>>> To: Ghorai, Sukumar
>>>>>>> Cc: linux-mmc@vger.kernel.org; linux-omap@vger.kernel.org; Shilimkar,
>>>>>>> Santosh; Chikkature Rajashekar, Madhusudhan; Andrew Morton
>>>>>>> Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM
>>>
>>> not
>>>>>>>
>>>>>>> define
>>>>>>>
>>>>>>> Sukumar Ghorai wrote:
>>>>>>>>
>>>>>>>> Issue if power_saving option passed from board file and
>>>
>>> CONFIG_PM
>>>>>>>
>>>>>>> not define.
>>>>>>>>
>>>>>>>> This is because hosts refer to wrong operation table and that
>>>
>>> try
>>>>>
>>>>> to
>>>>>>>
>>>>>>> power save.
>>>>>>>
>>>>>>> power_saving is not related to power management. It should work with
>>>>>
>>>>> or
>>>>>>>
>>>>>>> without
>>>>>>> CONFIG_PM. What problem are you seeing?
>>>>>>
>>>>>> [Ghorai] when CONFIG_PM is not defined but power_saving flag is TRUE,
>>>>>
>>>>> then host operation table point to table which handles in state machine
>>>>> as: ENABLE -> CARDSLEEP -> REGSLEEP -> DISABLED for power/clock cut.
>>>
>>> And
>>>>>
>>>>> do the reverse for the enable clock/power.
>>>>>>
>>>>>> And power saving is not required and wont work when CONFIG_PM is not
>>>>>
>>>>> enabled.
>>>>>
>>>>> How is that a problem? It would be useful to know what you need?
>>>>
>>>> [Ghorai] do men when CONFIG_PM is not enabled still we should do power
>>>
>>> saving in mmc?
>>>
>>> Why not?
>>>
>>> Because issue is iclk/fclk is quite depended on PRCM framework when we
>>> are
>>> using omap_hsmmc_ps_ops operation table.
>>>
>>> iclk is left alone.
>>>
>>> fclk is manipulated with or without power_saving.
>>>
>>> I still do not understand your problem sorry :-(
>>
>> [Ghorai] thanks and need input again, we have two tables -
>> 1. static const struct mmc_host_ops omap_hsmmc_ops = {
>> }
>> --> This is without CONFIG_PM, assumed.
>
> No it is independent of CONFIG_PM
>
> With CONFIG_PM
> - the driver will restore registers if the host controller
> has been powered off / on by PRCM
> - suspend / resume can be used
>
>>
>> 2. static const struct mmc_host_ops omap_hsmmc_ps_ops = {
>> }
>> -> this with CONFIG_PM, assumed.
>
> No it is independent of CONFIG_PM
>
> Without CONFIG_PM
> - card will be put to sleep after 1 second
> - card will be powered off after another 8 seconds
>
>>
>> a. And you feel we should remove #1
>
> Nothing should need to be removed.
>
>> b. use omap_hsmmc_ps_ops default.
>
> With power_saving it is yes.
>
>> c. And it should work in all case?
>
> It should work in all cases.
>
>>
>>>>>> So if CONFIG_PM is not enable, then it should do simple clock
>>>>>
>>>>> disable/enable, and not via the power state machine.
>>>>>
>>>>> If that is what you want, simply change your board file:
>>>>>
>>>>> #if CONFIG_PM
>>>>> .power_saving = true,
>>>>> #else
>>>>> .power_saving = false,
>>>>> #end
>>>>
>>>> [Ghorai] the fix I send is to guard in MMC/SD host driver to avoid
>>>
>>> mistake in board file(s). And this file is used for multiple omap3, omap4
>>> boards.
>>>>>>>>
>>>>>>>> Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
>>>>>>>> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>>>>>> CC: Madhusudhan Chikkature <madhu.cr@ti.com>
>>>>>>>> CC: Andrew Morton <akpm@linux-foundation.org>
>>>>>>>> ---
>>>>>>>> Tested on omap3, omap4430 ES2.0
>>>>>>>>
>>>>>>>> drivers/mmc/host/omap_hsmmc.c | 2 ++
>>>>>>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/mmc/host/omap_hsmmc.c
>>>>>>>
>>>>>>> b/drivers/mmc/host/omap_hsmmc.c
>>>>>>>>
>>>>>>>> index b032828..f84eed0 100644
>>>>>>>> --- a/drivers/mmc/host/omap_hsmmc.c
>>>>>>>> +++ b/drivers/mmc/host/omap_hsmmc.c
>>>>>>>> @@ -2015,9 +2015,11 @@ static int __init omap_hsmmc_probe(struct
>>>>>>>
>>>>>>> platform_device *pdev)
>>>>>>>>
>>>>>>>> platform_set_drvdata(pdev, host);
>>>>>>>> INIT_WORK(&host->mmc_carddetect_work, omap_hsmmc_detect);
>>>>>>>>
>>>>>>>> +#ifdef CONFIG_PM
>>>>>>>> if (mmc_slot(host).power_saving)
>>>>>>>> mmc->ops = &omap_hsmmc_ps_ops;
>>>>>>>> else
>>>>>>>> +#endif
>>>>>>>> mmc->ops = &omap_hsmmc_ops;
>>>>>>>>
>>>>>>>> /*
>>>>>>>> --
>>>>>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc"
>>>>>
>>>>> in
>>>>>>>>
>>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>>>>
>>>>>> Regards,
>>>>>> Ghorai
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc"
>>>
>>> in
>>>>>>
>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>>
>>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2010-07-20 14:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-20 6:37 [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define Sukumar Ghorai
2010-07-20 7:09 ` Adrian Hunter
2010-07-20 7:51 ` Ghorai, Sukumar
2010-07-20 8:10 ` Adrian Hunter
2010-07-20 8:17 ` Ghorai, Sukumar
2010-07-20 8:40 ` Adrian Hunter
2010-07-20 8:48 ` Ghorai, Sukumar
2010-07-20 9:13 ` Adrian Hunter
2010-07-20 13:21 ` Ghorai, Sukumar
2010-07-21 6:16 ` Adrian Hunter
2010-07-21 6:33 ` Ghorai, Sukumar
2010-07-20 14:06 ` kishore kadiyala [this message]
2010-07-21 6:33 ` Adrian Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTilDOxmuOKnC0WpKdmkdRid_MLbiXiRhM5U5pFMX@mail.gmail.com \
--to=kishorek.kadiyala@gmail.com \
--cc=adrian.hunter@nokia.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=madhu.cr@ti.com \
--cc=s-ghorai@ti.com \
--cc=santosh.shilimkar@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).