All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Sourav Poddar <sourav.poddar@ti.com>
Cc: gregkh@linuxfoundation.org, tony@atomide.com,
	rmk+kernel@arm.linux.org.uk, khilman@linaro.org,
	linux-serial@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Felipe Balbi <balbi@ti.com>, Rajendra nayak <rnayak@ti.com>
Subject: Re: [RFC/PATCHv2 5/5] arm: omap2+: omap_device: remove no_idle_on_suspend
Date: Mon, 22 Apr 2013 17:14:26 +0300	[thread overview]
Message-ID: <517545C2.3080006@ti.com> (raw)
In-Reply-To: <1366638237-6880-6-git-send-email-sourav.poddar@ti.com>

On 04/22/2013 04:43 PM, Sourav Poddar wrote:
> Remove the "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check, since
> driver should be able to prevent idling of an omap device
> whenever required.
>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Rajendra nayak <rnayak@ti.com>
> Cc: Grygorii Strashko <grygorii.strashko@ti.com>
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
> ---
> Hi Kevin,
>
> I have put this as an RFC, due to few comments on cover letter of
> the previous version by Grygorii Strashko.
> As, he has mentioned that there are Audio playback use cases which
> also requires "no_idle_on_suspend" and using them on mainline after
> this series can cause regression.
>
> What you think will be the right approach on this in relation to this patch?
> I mean every driver(if possible) should  prevent
> runtime PM for no_idle_on_suspend usecase and we get
> rid of this OMAP_DEVICE_NO_IDLE_ON_SUSPEND check? OR we should
> drop this patch as of now?
>
> Hi Grygorii,
>
> Is it possible to handle ABE no_idle_on_suspend uscase the way I am
> trying to handle it for UART in the 2nd patch of this series?
Unfortunately, I don't know ASOC details (my part is PM),  but from the 
first look it
will be not easy, because map4-dmic have no Runtime PM handlers at all, 
for example ((
>
>   arch/arm/mach-omap2/omap_device.c |   12 +++---------
>   arch/arm/mach-omap2/omap_device.h |   10 ----------
>   2 files changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
> index 381be7a..2043d71 100644
> --- a/arch/arm/mach-omap2/omap_device.c
> +++ b/arch/arm/mach-omap2/omap_device.c
> @@ -170,9 +170,6 @@ static int omap_device_build_from_dt(struct platform_device *pdev)
>   			r->name = dev_name(&pdev->dev);
>   	}
>   
> -	if (of_get_property(node, "ti,no_idle_on_suspend", NULL))
> -		omap_device_disable_idle_on_suspend(pdev);
> -
>   	pdev->dev.pm_domain = &omap_device_pm_domain;
>   
>   odbfd_exit1:
> @@ -620,11 +617,9 @@ static int _od_suspend_noirq(struct device *dev)
>   	ret = pm_generic_suspend_noirq(dev);
>   
>   	if (!ret && !pm_runtime_status_suspended(dev)) {
> -		if (pm_generic_runtime_suspend(dev) == 0) {
> -			if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
> -				omap_device_idle(pdev);
> +		if (pm_generic_runtime_suspend(dev) == 0)
> +			omap_device_idle(pdev);
>   			od->flags |= OMAP_DEVICE_SUSPENDED;
> -		}
>   	}
>   
>   	return ret;
> @@ -638,8 +633,7 @@ static int _od_resume_noirq(struct device *dev)
>   	if ((od->flags & OMAP_DEVICE_SUSPENDED) &&
>   	    !pm_runtime_status_suspended(dev)) {
>   		od->flags &= ~OMAP_DEVICE_SUSPENDED;
> -		if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
> -			omap_device_enable(pdev);
> +		omap_device_enable(pdev);
>   		pm_generic_runtime_resume(dev);
>   	}
>   
> diff --git a/arch/arm/mach-omap2/omap_device.h b/arch/arm/mach-omap2/omap_device.h
> index 044c31d..17ca1ae 100644
> --- a/arch/arm/mach-omap2/omap_device.h
> +++ b/arch/arm/mach-omap2/omap_device.h
> @@ -38,7 +38,6 @@ extern struct dev_pm_domain omap_device_pm_domain;
>   
>   /* omap_device.flags values */
>   #define OMAP_DEVICE_SUSPENDED		BIT(0)
> -#define OMAP_DEVICE_NO_IDLE_ON_SUSPEND	BIT(1)
>   
>   /**
>    * struct omap_device - omap_device wrapper for platform_devices
> @@ -101,13 +100,4 @@ static inline struct omap_device *to_omap_device(struct platform_device *pdev)
>   {
>   	return pdev ? pdev->archdata.od : NULL;
>   }
> -
> -static inline
> -void omap_device_disable_idle_on_suspend(struct platform_device *pdev)
> -{
> -	struct omap_device *od = to_omap_device(pdev);
> -
> -	od->flags |= OMAP_DEVICE_NO_IDLE_ON_SUSPEND;
> -}
> -
>   #endif


WARNING: multiple messages have this Message-ID (diff)
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Sourav Poddar <sourav.poddar@ti.com>
Cc: <gregkh@linuxfoundation.org>, <tony@atomide.com>,
	<rmk+kernel@arm.linux.org.uk>, <khilman@linaro.org>,
	<linux-serial@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Felipe Balbi <balbi@ti.com>, Rajendra nayak <rnayak@ti.com>
Subject: Re: [RFC/PATCHv2 5/5] arm: omap2+: omap_device: remove no_idle_on_suspend
Date: Mon, 22 Apr 2013 17:14:26 +0300	[thread overview]
Message-ID: <517545C2.3080006@ti.com> (raw)
In-Reply-To: <1366638237-6880-6-git-send-email-sourav.poddar@ti.com>

On 04/22/2013 04:43 PM, Sourav Poddar wrote:
> Remove the "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check, since
> driver should be able to prevent idling of an omap device
> whenever required.
>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Rajendra nayak <rnayak@ti.com>
> Cc: Grygorii Strashko <grygorii.strashko@ti.com>
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
> ---
> Hi Kevin,
>
> I have put this as an RFC, due to few comments on cover letter of
> the previous version by Grygorii Strashko.
> As, he has mentioned that there are Audio playback use cases which
> also requires "no_idle_on_suspend" and using them on mainline after
> this series can cause regression.
>
> What you think will be the right approach on this in relation to this patch?
> I mean every driver(if possible) should  prevent
> runtime PM for no_idle_on_suspend usecase and we get
> rid of this OMAP_DEVICE_NO_IDLE_ON_SUSPEND check? OR we should
> drop this patch as of now?
>
> Hi Grygorii,
>
> Is it possible to handle ABE no_idle_on_suspend uscase the way I am
> trying to handle it for UART in the 2nd patch of this series?
Unfortunately, I don't know ASOC details (my part is PM),  but from the 
first look it
will be not easy, because map4-dmic have no Runtime PM handlers at all, 
for example ((
>
>   arch/arm/mach-omap2/omap_device.c |   12 +++---------
>   arch/arm/mach-omap2/omap_device.h |   10 ----------
>   2 files changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
> index 381be7a..2043d71 100644
> --- a/arch/arm/mach-omap2/omap_device.c
> +++ b/arch/arm/mach-omap2/omap_device.c
> @@ -170,9 +170,6 @@ static int omap_device_build_from_dt(struct platform_device *pdev)
>   			r->name = dev_name(&pdev->dev);
>   	}
>   
> -	if (of_get_property(node, "ti,no_idle_on_suspend", NULL))
> -		omap_device_disable_idle_on_suspend(pdev);
> -
>   	pdev->dev.pm_domain = &omap_device_pm_domain;
>   
>   odbfd_exit1:
> @@ -620,11 +617,9 @@ static int _od_suspend_noirq(struct device *dev)
>   	ret = pm_generic_suspend_noirq(dev);
>   
>   	if (!ret && !pm_runtime_status_suspended(dev)) {
> -		if (pm_generic_runtime_suspend(dev) == 0) {
> -			if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
> -				omap_device_idle(pdev);
> +		if (pm_generic_runtime_suspend(dev) == 0)
> +			omap_device_idle(pdev);
>   			od->flags |= OMAP_DEVICE_SUSPENDED;
> -		}
>   	}
>   
>   	return ret;
> @@ -638,8 +633,7 @@ static int _od_resume_noirq(struct device *dev)
>   	if ((od->flags & OMAP_DEVICE_SUSPENDED) &&
>   	    !pm_runtime_status_suspended(dev)) {
>   		od->flags &= ~OMAP_DEVICE_SUSPENDED;
> -		if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
> -			omap_device_enable(pdev);
> +		omap_device_enable(pdev);
>   		pm_generic_runtime_resume(dev);
>   	}
>   
> diff --git a/arch/arm/mach-omap2/omap_device.h b/arch/arm/mach-omap2/omap_device.h
> index 044c31d..17ca1ae 100644
> --- a/arch/arm/mach-omap2/omap_device.h
> +++ b/arch/arm/mach-omap2/omap_device.h
> @@ -38,7 +38,6 @@ extern struct dev_pm_domain omap_device_pm_domain;
>   
>   /* omap_device.flags values */
>   #define OMAP_DEVICE_SUSPENDED		BIT(0)
> -#define OMAP_DEVICE_NO_IDLE_ON_SUSPEND	BIT(1)
>   
>   /**
>    * struct omap_device - omap_device wrapper for platform_devices
> @@ -101,13 +100,4 @@ static inline struct omap_device *to_omap_device(struct platform_device *pdev)
>   {
>   	return pdev ? pdev->archdata.od : NULL;
>   }
> -
> -static inline
> -void omap_device_disable_idle_on_suspend(struct platform_device *pdev)
> -{
> -	struct omap_device *od = to_omap_device(pdev);
> -
> -	od->flags |= OMAP_DEVICE_NO_IDLE_ON_SUSPEND;
> -}
> -
>   #endif


  reply	other threads:[~2013-04-22 14:15 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22 13:43 [PATCHv2 0/5] Serial Omap fixes and cleanups Sourav Poddar
2013-04-22 13:43 ` Sourav Poddar
2013-04-22 13:43 ` [PATCHv2 1/5] driver: tty: serial: Move "uart_console" def to core header file Sourav Poddar
2013-04-22 13:43   ` Sourav Poddar
2013-04-22 14:30   ` Felipe Balbi
2013-04-22 14:30     ` Felipe Balbi
2013-04-22 13:43 ` [PATCHv2 2/5] driver: serial: omap: prevent runtime PM for "no_console_suspend" Sourav Poddar
2013-04-22 13:43   ` Sourav Poddar
2013-04-22 14:31   ` Felipe Balbi
2013-04-22 14:31     ` Felipe Balbi
2013-04-23  4:52     ` Sourav Poddar
2013-04-23  4:52       ` Sourav Poddar
2013-04-22 14:48   ` Grygorii Strashko
2013-04-22 14:48     ` Grygorii Strashko
2013-04-22 18:36     ` Kevin Hilman
2013-04-22 18:36       ` Kevin Hilman
2013-04-23  5:14       ` Sourav Poddar
2013-04-23  5:14         ` Sourav Poddar
2013-04-23  5:12     ` Sourav Poddar
2013-04-23  5:12       ` Sourav Poddar
2013-04-22 13:43 ` [PATCHv2 3/5] arm: omap2+: serial: remove no_console_suspend support Sourav Poddar
2013-04-22 13:43   ` Sourav Poddar
2013-04-22 14:32   ` Felipe Balbi
2013-04-22 14:32     ` Felipe Balbi
2013-04-22 13:43 ` [PATCHv2 4/5] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
2013-04-22 13:43   ` Sourav Poddar
2013-04-22 14:35   ` Felipe Balbi
2013-04-22 14:35     ` Felipe Balbi
2013-04-23  4:53     ` Sourav Poddar
2013-04-23  4:53       ` Sourav Poddar
2013-04-22 13:43 ` [RFC/PATCHv2 5/5] arm: omap2+: omap_device: remove no_idle_on_suspend Sourav Poddar
2013-04-22 13:43   ` Sourav Poddar
2013-04-22 14:14   ` Grygorii Strashko [this message]
2013-04-22 14:14     ` Grygorii Strashko
2013-04-22 18:41     ` Kevin Hilman
2013-04-22 18:41       ` Kevin Hilman
2013-04-23  5:19       ` Sourav Poddar
2013-04-23  5:19         ` Sourav Poddar
2013-04-23  9:19         ` Grygorii Strashko
2013-04-23  9:19           ` Grygorii Strashko
2013-04-23  9:21           ` Sourav Poddar
2013-04-23  9:21             ` Sourav Poddar
2013-04-22 14:38   ` Felipe Balbi
2013-04-22 14:38     ` Felipe Balbi
2013-04-23  7:13     ` Peter Ujfalusi
2013-04-23  7:13       ` Peter Ujfalusi
2013-04-22 14:39   ` Felipe Balbi
2013-04-22 14:39     ` Felipe Balbi

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=517545C2.3080006@ti.com \
    --to=grygorii.strashko@ti.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=khilman@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=rnayak@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=sourav.poddar@ti.com \
    --cc=tony@atomide.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.