All of lore.kernel.org
 help / color / mirror / Atom feed
From: felipe.balbi@linux.intel.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists
Date: Wed, 27 Apr 2016 08:25:38 +0300	[thread overview]
Message-ID: <87shy7pqr1.fsf@intel.com> (raw)
In-Reply-To: <1461675460-2295-2-git-send-email-jszhang@marvell.com>


Hi,

(since you're fixing somebody else's commit, it's nice to Cc authors)

Jisheng Zhang <jszhang@marvell.com> writes:
> Commit 4718c1774051 ("usb: host: xhci-plat: add clock support") adds
> optional clk support, but it forgets to prepare/disable and
                                          ^^^^^^^^^^^^^^^
                                          prepare/enable ?

> enable/unprepare the clk in the resume/suspend path. This path fixes
  ^^^^^^^^^^^^^^^^                                          ^^^^
  disable/unprepare ?                                       patch

> this issue by adding missing clk related calls.

frankly, I'm not sure this patch is entirely correct. At minimum, it's
not necessarily a bug fix. Original commit had no intent in gating
clocks during suspend/resume and, IMHO, that might not be what *all*
XHCI implementations want, though I'm not entirely sure.

> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> Fixes: 4718c1774051 ("usb: host: xhci-plat: add clock support")

Assuming this is, indeed, a fix; you need to Cc stable here. Just add:

Cc: <stable@vger.kernel.org> # v3.16+

> ---
>  drivers/usb/host/xhci-plat.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
> index 474b5fa..8cb46cb 100644
> --- a/drivers/usb/host/xhci-plat.c
> +++ b/drivers/usb/host/xhci-plat.c
> @@ -295,6 +295,7 @@ static int xhci_plat_remove(struct platform_device *dev)
>  #ifdef CONFIG_PM_SLEEP
>  static int xhci_plat_suspend(struct device *dev)
>  {
> +	int ret;

this would look neater after hcd and xhci declarations below

>  	struct usb_hcd	*hcd = dev_get_drvdata(dev);
>  	struct xhci_hcd	*xhci = hcd_to_xhci(hcd);
>  
> @@ -306,14 +307,25 @@ static int xhci_plat_suspend(struct device *dev)
>  	 * reconsider this when xhci_plat_suspend enlarges its scope, e.g.,
>  	 * also applies to runtime suspend.
>  	 */
> -	return xhci_suspend(xhci, device_may_wakeup(dev));
> +	ret = xhci_suspend(xhci, device_may_wakeup(dev));
> +	if (ret)
> +		return ret;
> +
> +	clk_disable_unprepare(xhci->clk);
> +
> +	return ret;
>  }
>  
>  static int xhci_plat_resume(struct device *dev)
>  {
> +	int ret;

ditto

>  	struct usb_hcd	*hcd = dev_get_drvdata(dev);
>  	struct xhci_hcd	*xhci = hcd_to_xhci(hcd);
>  
> +	ret = clk_prepare_enable(xhci->clk);
> +	if (ret)
> +		return ret;
> +
>  	return xhci_resume(xhci, 0);
>  }
>  
> -- 
> 2.8.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160427/4c64ec1f/attachment-0001.sig>

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <felipe.balbi@linux.intel.com>
To: Jisheng Zhang <jszhang@marvell.com>,
	mathias.nyman@intel.com, gregkh@linuxfoundation.org
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	yendapally.reddy@broadcom.com,
	Jisheng Zhang <jszhang@marvell.com>,
	Gregory CLEMENT <gregory.clement@free-electrons.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Subject: Re: [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists
Date: Wed, 27 Apr 2016 08:25:38 +0300	[thread overview]
Message-ID: <87shy7pqr1.fsf@intel.com> (raw)
In-Reply-To: <1461675460-2295-2-git-send-email-jszhang@marvell.com>

[-- Attachment #1: Type: text/plain, Size: 2761 bytes --]


Hi,

(since you're fixing somebody else's commit, it's nice to Cc authors)

Jisheng Zhang <jszhang@marvell.com> writes:
> Commit 4718c1774051 ("usb: host: xhci-plat: add clock support") adds
> optional clk support, but it forgets to prepare/disable and
                                          ^^^^^^^^^^^^^^^
                                          prepare/enable ?

> enable/unprepare the clk in the resume/suspend path. This path fixes
  ^^^^^^^^^^^^^^^^                                          ^^^^
  disable/unprepare ?                                       patch

> this issue by adding missing clk related calls.

frankly, I'm not sure this patch is entirely correct. At minimum, it's
not necessarily a bug fix. Original commit had no intent in gating
clocks during suspend/resume and, IMHO, that might not be what *all*
XHCI implementations want, though I'm not entirely sure.

> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> Fixes: 4718c1774051 ("usb: host: xhci-plat: add clock support")

Assuming this is, indeed, a fix; you need to Cc stable here. Just add:

Cc: <stable@vger.kernel.org> # v3.16+

> ---
>  drivers/usb/host/xhci-plat.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
> index 474b5fa..8cb46cb 100644
> --- a/drivers/usb/host/xhci-plat.c
> +++ b/drivers/usb/host/xhci-plat.c
> @@ -295,6 +295,7 @@ static int xhci_plat_remove(struct platform_device *dev)
>  #ifdef CONFIG_PM_SLEEP
>  static int xhci_plat_suspend(struct device *dev)
>  {
> +	int ret;

this would look neater after hcd and xhci declarations below

>  	struct usb_hcd	*hcd = dev_get_drvdata(dev);
>  	struct xhci_hcd	*xhci = hcd_to_xhci(hcd);
>  
> @@ -306,14 +307,25 @@ static int xhci_plat_suspend(struct device *dev)
>  	 * reconsider this when xhci_plat_suspend enlarges its scope, e.g.,
>  	 * also applies to runtime suspend.
>  	 */
> -	return xhci_suspend(xhci, device_may_wakeup(dev));
> +	ret = xhci_suspend(xhci, device_may_wakeup(dev));
> +	if (ret)
> +		return ret;
> +
> +	clk_disable_unprepare(xhci->clk);
> +
> +	return ret;
>  }
>  
>  static int xhci_plat_resume(struct device *dev)
>  {
> +	int ret;

ditto

>  	struct usb_hcd	*hcd = dev_get_drvdata(dev);
>  	struct xhci_hcd	*xhci = hcd_to_xhci(hcd);
>  
> +	ret = clk_prepare_enable(xhci->clk);
> +	if (ret)
> +		return ret;
> +
>  	return xhci_resume(xhci, 0);
>  }
>  
> -- 
> 2.8.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

  reply	other threads:[~2016-04-27  5:25 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-26 12:57 [RESEND PATCH v2 0/7] usb: xhci-plat: support generic PHY and vbus regulator Jisheng Zhang
2016-04-26 12:57 ` Jisheng Zhang
2016-04-26 12:57 ` [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:25   ` Felipe Balbi [this message]
2016-04-27  5:25     ` Felipe Balbi
2016-04-27  5:46     ` Jisheng Zhang
2016-04-27  5:46       ` Jisheng Zhang
2016-04-26 12:57 ` [RESEND PATCH v2 2/7] usb: xhci: plat: attach the usb_phy to the correct hcd Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:29   ` Felipe Balbi
2016-04-27  5:29     ` Felipe Balbi
2016-04-27  5:59     ` Jisheng Zhang
2016-04-27  5:59       ` Jisheng Zhang
2016-04-27  6:19       ` Felipe Balbi
2016-04-27  6:19         ` Felipe Balbi
2016-04-26 12:57 ` [RESEND PATCH v2 3/7] usb: xhci: plat: Fix suspend/resume when the optional usb_phy exists Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:30   ` Felipe Balbi
2016-04-27  5:30     ` Felipe Balbi
2016-04-26 12:57 ` [RESEND PATCH v2 4/7] usb: xhci: plat: sort the headers in alphabetic order Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-26 12:57 ` [RESEND PATCH v2 5/7] usb: xhci: plat: Remove checks for optional clock in error/remove path Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:33   ` Felipe Balbi
2016-04-27  5:33     ` Felipe Balbi
2016-04-27  6:33     ` Jisheng Zhang
2016-04-27  6:33       ` Jisheng Zhang
2016-04-27  7:19       ` Felipe Balbi
2016-04-27  7:19         ` Felipe Balbi
2016-04-26 12:57 ` [RESEND PATCH v2 6/7] usb: xhci: plat: add generic PHY support Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:35   ` Felipe Balbi
2016-04-27  5:35     ` Felipe Balbi
2016-04-27  6:46     ` Jisheng Zhang
2016-04-27  6:46       ` Jisheng Zhang
2016-04-27  7:21       ` Felipe Balbi
2016-04-27  7:21         ` Felipe Balbi
2016-04-27  7:57   ` Heikki Krogerus
2016-04-27  7:57     ` Heikki Krogerus
2016-04-27  9:34     ` Felipe Balbi
2016-04-27  9:34       ` Felipe Balbi
2016-04-26 12:57 ` [RESEND PATCH v2 7/7] usb: xhci: plat: add vbus regulator control Jisheng Zhang
2016-04-26 12:57   ` Jisheng Zhang
2016-04-27  5:37   ` Felipe Balbi
2016-04-27  5:37     ` Felipe Balbi
2016-04-27  9:57     ` Mark Brown
2016-04-27  9:57       ` Mark Brown
2016-04-27 10:25       ` Jisheng Zhang
2016-04-27 10:25         ` Jisheng Zhang
2016-04-27 13:24         ` Mark Brown
2016-04-27 13:24           ` Mark Brown
2016-04-27 10:25       ` Felipe Balbi
2016-04-27 10:25         ` Felipe Balbi
2016-04-27 10:35         ` Mark Brown
2016-04-27 10:35           ` Mark Brown
2016-04-27 10:38           ` Felipe Balbi
2016-04-27 10:38             ` 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=87shy7pqr1.fsf@intel.com \
    --to=felipe.balbi@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.