public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@nokia.com>
To: "Ghorai, Sukumar" <s-ghorai@ti.com>
Cc: "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: Wed, 21 Jul 2010 09:16:03 +0300	[thread overview]
Message-ID: <4C4690A3.5030503@nokia.com> (raw)
In-Reply-To: <2A3DCF3DA181AD40BDE86A3150B27B6B030E310B10@dbde02.ent.ti.com>

Ghorai, Sukumar wrote:
> Adrian,
> 
>> -----Original Message-----
>> From: Adrian Hunter [mailto:adrian.hunter@nokia.com]
>> Sent: Tuesday, July 20, 2010 2:44 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 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.
> [Ghorai] Is it that power_saving (true or false) is independent of CONFIG_PM?

Yes, power_saving (true or false) *is* independent of CONFIG_PM.

>>> 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-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


  reply	other threads:[~2010-07-21  6:16 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 [this message]
2010-07-21  6:33                   ` Ghorai, Sukumar
2010-07-20 14:06               ` kishore kadiyala
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=4C4690A3.5030503@nokia.com \
    --to=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