Re: [PATCH] spi: pxa2xx: Remove LPSS private register restoring during resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 01, 2018 at 04:36:36PM +0200, Jarkko Nikula wrote:
> Intel LPSS private register restoring in spi-pxa2xx.c: pxa2xx_spi_resume()
> was added before there was no any other code restoring them. This was
> changed after following commits for previous and current LPSS platforms:
> 
> c78b0830667a ("ACPI / LPSS: custom power domain for LPSS")
> 41a3da2b8e16 ("mfd: intel-lpss: Save register context on suspend")
> 
> However there is one caveat: There is no LPSS private register context
> save/restore for the Intel Lynxpoint in the Linux kernel code.
> 
> I did some debugging on one Lynxpoint based device I have and on it the
> LPSS register context is not lost over suspend/resume cycle (s2idle).
> Which happens for instance on Intel Braswell. I'm speculating but I guess
> either firmware does it or the LPSS is kept always on Lynxpoint.
> 
> Given that we haven't needed to implement Lynxpoint LPSS I2C or UART
> private register context save/restore over four years time I think we are
> safe to remove this LPSS private register restoring during resume here.
> 

Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Indeed, Lynxpoint LPSS implementation has no GPDMA power related bugs,
it's definitely different hardware and / or firmware design there.

> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
> ---
>  drivers/spi/spi-pxa2xx.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
> index 612cc49db28f..d46af116d630 100644
> --- a/drivers/spi/spi-pxa2xx.c
> +++ b/drivers/spi/spi-pxa2xx.c
> @@ -1811,10 +1811,6 @@ static int pxa2xx_spi_resume(struct device *dev)
>  			return status;
>  	}
>  
> -	/* Restore LPSS private register bits */
> -	if (is_lpss_ssp(drv_data))
> -		lpss_ssp_setup(drv_data);
> -
>  	/* Start the queue running */
>  	return spi_controller_resume(drv_data->master);
>  }
> -- 
> 2.19.1
> 

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux