2016-10-12 17:13:00

by Azhar Shaikh

[permalink] [raw]
Subject: [PATCH] mfd: intel-lpss: Do not put device in reset state on suspend

Commit 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
suspend") saved the register context while going to suspend and
also put the device in reset state.

Due to the resetting of device, system cannot enter S3/S0ix
states when no_console_suspend flag is enabled. The system
and serial console both hang. The resetting of device is not
needed while going to suspend. Hence remove this code.

Fixes: 41a3da2b8e163 ("mfd: intel-lpss: Save register context on suspend")
Signed-off-by: Azhar Shaikh <[email protected]>
---
drivers/mfd/intel-lpss.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 41b1138..70c646b 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -502,9 +502,6 @@ int intel_lpss_suspend(struct device *dev)
for (i = 0; i < LPSS_PRIV_REG_COUNT; i++)
lpss->priv_ctx[i] = readl(lpss->priv + i * 4);

- /* Put the device into reset state */
- writel(0, lpss->priv + LPSS_PRIV_RESETS);
-
return 0;
}
EXPORT_SYMBOL_GPL(intel_lpss_suspend);
--
2.10.1


2016-10-12 17:27:24

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] mfd: intel-lpss: Do not put device in reset state on suspend

On Wed, 2016-10-12 at 10:12 -0700, Azhar Shaikh wrote:
> Commit 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
> suspend") saved the register context while going to suspend and
> also put the device in reset state.
>
> Due to the resetting of device, system cannot enter S3/S0ix
> states when no_console_suspend flag is enabled. The system
> and serial console both hang. The resetting of device is not
> needed while going to suspend. Hence remove this code.
>
> Fixes: 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
> suspend")
> Signed-off-by: Azhar Shaikh <[email protected]>

Reviewed-by: Andy Shevchenko <[email protected]>

> ---
>  drivers/mfd/intel-lpss.c | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
> index 41b1138..70c646b 100644
> --- a/drivers/mfd/intel-lpss.c
> +++ b/drivers/mfd/intel-lpss.c
> @@ -502,9 +502,6 @@ int intel_lpss_suspend(struct device *dev)
>   for (i = 0; i < LPSS_PRIV_REG_COUNT; i++)
>   lpss->priv_ctx[i] = readl(lpss->priv + i * 4);
>  
> - /* Put the device into reset state */
> - writel(0, lpss->priv + LPSS_PRIV_RESETS);
> -
>   return 0;
>  }
>  EXPORT_SYMBOL_GPL(intel_lpss_suspend);

--
Andy Shevchenko <[email protected]>
Intel Finland Oy

2016-10-13 07:24:33

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH] mfd: intel-lpss: Do not put device in reset state on suspend

On Wed, Oct 12, 2016 at 10:12:20AM -0700, Azhar Shaikh wrote:
> Commit 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
> suspend") saved the register context while going to suspend and
> also put the device in reset state.
>
> Due to the resetting of device, system cannot enter S3/S0ix
> states when no_console_suspend flag is enabled. The system
> and serial console both hang. The resetting of device is not
> needed while going to suspend. Hence remove this code.
>
> Fixes: 41a3da2b8e163 ("mfd: intel-lpss: Save register context on suspend")
> Signed-off-by: Azhar Shaikh <[email protected]>

Acked-by: Mika Westerberg <[email protected]>

2016-10-26 12:28:01

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] mfd: intel-lpss: Do not put device in reset state on suspend

On Wed, 12 Oct 2016, Azhar Shaikh wrote:

> Commit 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
> suspend") saved the register context while going to suspend and
> also put the device in reset state.
>
> Due to the resetting of device, system cannot enter S3/S0ix
> states when no_console_suspend flag is enabled. The system
> and serial console both hang. The resetting of device is not
> needed while going to suspend. Hence remove this code.
>
> Fixes: 41a3da2b8e163 ("mfd: intel-lpss: Save register context on suspend")
> Signed-off-by: Azhar Shaikh <[email protected]>
> ---
> drivers/mfd/intel-lpss.c | 3 ---
> 1 file changed, 3 deletions(-)

Applied with Acks and sent to Stable.

> diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
> index 41b1138..70c646b 100644
> --- a/drivers/mfd/intel-lpss.c
> +++ b/drivers/mfd/intel-lpss.c
> @@ -502,9 +502,6 @@ int intel_lpss_suspend(struct device *dev)
> for (i = 0; i < LPSS_PRIV_REG_COUNT; i++)
> lpss->priv_ctx[i] = readl(lpss->priv + i * 4);
>
> - /* Put the device into reset state */
> - writel(0, lpss->priv + LPSS_PRIV_RESETS);
> -
> return 0;
> }
> EXPORT_SYMBOL_GPL(intel_lpss_suspend);

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog