linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
@ 2010-07-20  6:37 Sukumar Ghorai
  2010-07-20  7:09 ` Adrian Hunter
  0 siblings, 1 reply; 13+ messages in thread
From: Sukumar Ghorai @ 2010-07-20  6:37 UTC (permalink / raw)
  To: linux-mmc
  Cc: linux-omap, Sukumar Ghorai, Santosh Shilimkar,
	Madhusudhan Chikkature, Andrew Morton

    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.

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;
 
 	/*

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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  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
  0 siblings, 1 reply; 13+ messages in thread
From: Adrian Hunter @ 2010-07-20  7:09 UTC (permalink / raw)
  To: Sukumar Ghorai
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Santosh Shilimkar, Madhusudhan Chikkature, Andrew Morton

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?

> 
> 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
> 


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

* RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  7:09 ` Adrian Hunter
@ 2010-07-20  7:51   ` Ghorai, Sukumar
  2010-07-20  8:10     ` Adrian Hunter
  0 siblings, 1 reply; 13+ messages in thread
From: Ghorai, Sukumar @ 2010-07-20  7:51 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton



> -----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.

So if CONFIG_PM is not enable, then it should do simple clock disable/enable, and not via the power state machine.

> 
> >
> > 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

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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  7:51   ` Ghorai, Sukumar
@ 2010-07-20  8:10     ` Adrian Hunter
  2010-07-20  8:17       ` Ghorai, Sukumar
  0 siblings, 1 reply; 13+ messages in thread
From: Adrian Hunter @ 2010-07-20  8:10 UTC (permalink / raw)
  To: Ghorai, Sukumar
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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?

> 
> 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

> 
>>> 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
> 


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

* RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  8:10     ` Adrian Hunter
@ 2010-07-20  8:17       ` Ghorai, Sukumar
  2010-07-20  8:40         ` Adrian Hunter
  0 siblings, 1 reply; 13+ messages in thread
From: Ghorai, Sukumar @ 2010-07-20  8:17 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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? Because issue is iclk/fclk is quite depended on PRCM framework when we are using omap_hsmmc_ps_ops operation table.

> 
> >
> > 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
> >


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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  8:17       ` Ghorai, Sukumar
@ 2010-07-20  8:40         ` Adrian Hunter
  2010-07-20  8:48           ` Ghorai, Sukumar
  0 siblings, 1 reply; 13+ messages in thread
From: Adrian Hunter @ 2010-07-20  8:40 UTC (permalink / raw)
  To: Ghorai, Sukumar
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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 :-(

> 
>>> 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
>>>
> 
> 


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

* RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  8:40         ` Adrian Hunter
@ 2010-07-20  8:48           ` Ghorai, Sukumar
  2010-07-20  9:13             ` Adrian Hunter
  0 siblings, 1 reply; 13+ messages in thread
From: Ghorai, Sukumar @ 2010-07-20  8:48 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton



> -----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.

2. static const struct mmc_host_ops omap_hsmmc_ps_ops = {
}
-> this with CONFIG_PM, assumed.

a. And you feel we should remove #1 
b. use omap_hsmmc_ps_ops default. 
c. And it should work in all case? 

> 
> >
> >>> 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
> >>>
> >
> >


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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  8:48           ` Ghorai, Sukumar
@ 2010-07-20  9:13             ` Adrian Hunter
  2010-07-20 13:21               ` Ghorai, Sukumar
  2010-07-20 14:06               ` kishore kadiyala
  0 siblings, 2 replies; 13+ messages in thread
From: Adrian Hunter @ 2010-07-20  9:13 UTC (permalink / raw)
  To: Ghorai, Sukumar
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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
> 


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

* RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  9:13             ` Adrian Hunter
@ 2010-07-20 13:21               ` Ghorai, Sukumar
  2010-07-21  6:16                 ` Adrian Hunter
  2010-07-20 14:06               ` kishore kadiyala
  1 sibling, 1 reply; 13+ messages in thread
From: Ghorai, Sukumar @ 2010-07-20 13:21 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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?

> 
> > 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
> >


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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20  9:13             ` Adrian Hunter
  2010-07-20 13:21               ` Ghorai, Sukumar
@ 2010-07-20 14:06               ` kishore kadiyala
  2010-07-21  6:33                 ` Adrian Hunter
  1 sibling, 1 reply; 13+ messages in thread
From: kishore kadiyala @ 2010-07-20 14:06 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Ghorai, Sukumar, linux-mmc@vger.kernel.org,
	linux-omap@vger.kernel.org, Shilimkar, Santosh,
	Chikkature Rajashekar, Madhusudhan, Andrew Morton

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
>

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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20 13:21               ` Ghorai, Sukumar
@ 2010-07-21  6:16                 ` Adrian Hunter
  2010-07-21  6:33                   ` Ghorai, Sukumar
  0 siblings, 1 reply; 13+ messages in thread
From: Adrian Hunter @ 2010-07-21  6:16 UTC (permalink / raw)
  To: Ghorai, Sukumar
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

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
> 


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

* RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-21  6:16                 ` Adrian Hunter
@ 2010-07-21  6:33                   ` Ghorai, Sukumar
  0 siblings, 0 replies; 13+ messages in thread
From: Ghorai, Sukumar @ 2010-07-21  6:33 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org,
	Shilimkar, Santosh, Chikkature Rajashekar, Madhusudhan,
	Andrew Morton

Adrian,

> -----Original Message-----
> From: Adrian Hunter [mailto:adrian.hunter@nokia.com]
> Sent: Wednesday, July 21, 2010 11:46 AM
> 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] 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.
> 
[Ghorai] Thanks and would you please reply for query from Kishore and now query from my side too?
Is there any use case or a valid scenario when 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,
Ghorai


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

* Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define
  2010-07-20 14:06               ` kishore kadiyala
@ 2010-07-21  6:33                 ` Adrian Hunter
  0 siblings, 0 replies; 13+ messages in thread
From: Adrian Hunter @ 2010-07-21  6:33 UTC (permalink / raw)
  To: kishore kadiyala
  Cc: Ghorai, Sukumar, linux-mmc@vger.kernel.org,
	linux-omap@vger.kernel.org, Shilimkar, Santosh,
	Chikkature Rajashekar, Madhusudhan, Andrew Morton

kishore kadiyala wrote:
> 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

There are two disadvantages of power_saving:
	1. It introduces latency to wake-up or re-initialize.
Waking up a sleeping card can take 10-20ms (or more).  Re-initializing
a card that was powered off entirely can take 300-1000ms.
	2. The current implementation powers-up the card even
if it just wants to suspend and power it off again.

> 
> 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.

Sure, you could rename power_saving to no_power_saving, invert the
logic and drop it from the board files that had power_saving = true.
If that is what you want, make a patch and see if anyone comments.

> 
> 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
>>
> --
> 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
> 


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

end of thread, other threads:[~2010-07-21  6:33 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2010-07-21  6:33                 ` Adrian Hunter

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).