All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Srinidhi Kasagar <srinidhi.kasagar@intel.com>
Cc: linux-acpi@vger.kernel.org, rafael.j.wysocki@intel.com,
	Kumar P Mahesh <mahesh.kumar.p@intel.com>,
	Heikki Krogerus <heikki.krogerus@intel.com>
Subject: Re: [PATCH] ACPI / LPSS: Ignore 10ms delay for Braswell and Baytrail
Date: Thu, 20 Aug 2015 15:38:05 +0300	[thread overview]
Message-ID: <20150820123805.GG30005@lahna.fi.intel.com> (raw)
In-Reply-To: <1440090968-17728-1-git-send-email-srinidhi.kasagar@intel.com>

+Heikki

On Thu, Aug 20, 2015 at 10:46:07PM +0530, Srinidhi Kasagar wrote:
> LPSS devices in Braswell and Baytrail does not need the default
> 10ms d3_delay imposed by PCI specification. Removing this
> unnecessary delay significantly reduces the resume time
> (~200ms on Braswell/Cherrytrail) on these platforms.
> 
> Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@intel.com>
> Signed-off-by: Kumar P Mahesh <mahesh.kumar.p@intel.com>

Have you tested this on Asus T100? The delay was actually needed in
order to restore the context IIRC.

Also you are saying Braswell and Baytrail but...

> ---
>  drivers/acpi/acpi_lpss.c |   59 ++++++++++++++++++++++++++++++++++++----------
>  1 file changed, 46 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
> index 37fb19047603..9437b5fa59c3 100644
> --- a/drivers/acpi/acpi_lpss.c
> +++ b/drivers/acpi/acpi_lpss.c
> @@ -60,6 +60,7 @@ ACPI_MODULE_NAME("acpi_lpss");
>  #define LPSS_CLK_DIVIDER		BIT(2)
>  #define LPSS_LTR			BIT(3)
>  #define LPSS_SAVE_CTX			BIT(4)
> +#define LPSS_NO_D3_DELAY		BIT(5)
>  
>  struct lpss_private_data;
>  
> @@ -134,6 +135,17 @@ static struct lpss_device_desc lpt_dev_desc = {
>  	.prv_offset = 0x800,
>  };
>  
> +static struct lpss_device_desc bsw_lpt_dev_desc = {
> +	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR
> +			| LPSS_NO_D3_DELAY,
> +	.prv_offset = 0x800,
> +};
> +
> +static struct lpss_device_desc bsw_lpt_i2c_dev_desc = {
> +	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR | LPSS_NO_D3_DELAY,
> +	.prv_offset = 0x800,
> +};
> +
>  static struct lpss_device_desc lpt_i2c_dev_desc = {
>  	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR,
>  	.prv_offset = 0x800,
> @@ -146,18 +158,33 @@ static struct lpss_device_desc lpt_uart_dev_desc = {
>  	.setup = lpss_uart_setup,
>  };
>  
> +static struct lpss_device_desc bsw_lpt_uart_dev_desc = {
> +	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR
> +			| LPSS_NO_D3_DELAY,
> +	.clk_con_id = "baudclk",
> +	.prv_offset = 0x800,
> +	.setup = lpss_uart_setup,
> +};
> +
>  static struct lpss_device_desc lpt_sdio_dev_desc = {
>  	.flags = LPSS_LTR,
>  	.prv_offset = 0x1000,
>  	.prv_size_override = 0x1018,
>  };
>  
> +static struct lpss_device_desc bsw_lpt_sdio_dev_desc = {
> +	.flags = LPSS_LTR | LPSS_NO_D3_DELAY,
> +	.prv_offset = 0x1000,
> +	.prv_size_override = 0x1018,
> +};
> +
>  static struct lpss_device_desc byt_pwm_dev_desc = {
> -	.flags = LPSS_SAVE_CTX,
> +	.flags = LPSS_SAVE_CTX | LPSS_NO_D3_DELAY,
>  };
>  
>  static struct lpss_device_desc byt_uart_dev_desc = {
> -	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX,
> +	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX
> +			| LPSS_NO_D3_DELAY,
>  	.clk_con_id = "baudclk",
>  	.prv_offset = 0x800,
>  	.setup = lpss_uart_setup,
> @@ -173,13 +200,14 @@ static struct lpss_device_desc byt_sdio_dev_desc = {
>  };
>  
>  static struct lpss_device_desc byt_i2c_dev_desc = {
> -	.flags = LPSS_CLK | LPSS_SAVE_CTX,
> +	.flags = LPSS_CLK | LPSS_SAVE_CTX | LPSS_NO_D3_DELAY,
>  	.prv_offset = 0x800,
>  	.setup = byt_i2c_setup,
>  };
>  
>  static struct lpss_device_desc bsw_spi_dev_desc = {
> -	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX,
> +	.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX
> +			| LPSS_NO_D3_DELAY,
>  	.prv_offset = 0x400,
>  	.setup = lpss_deassert_reset,
>  };
> @@ -219,13 +247,13 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
>  	{ "8086228E", LPSS_ADDR(bsw_spi_dev_desc) },
>  	{ "808622C1", LPSS_ADDR(byt_i2c_dev_desc) },
>  
> -	{ "INT3430", LPSS_ADDR(lpt_dev_desc) },
> -	{ "INT3431", LPSS_ADDR(lpt_dev_desc) },
> -	{ "INT3432", LPSS_ADDR(lpt_i2c_dev_desc) },
> -	{ "INT3433", LPSS_ADDR(lpt_i2c_dev_desc) },
> -	{ "INT3434", LPSS_ADDR(lpt_uart_dev_desc) },
> -	{ "INT3435", LPSS_ADDR(lpt_uart_dev_desc) },
> -	{ "INT3436", LPSS_ADDR(lpt_sdio_dev_desc) },
> +	{ "INT3430", LPSS_ADDR(bsw_lpt_dev_desc) },
> +	{ "INT3431", LPSS_ADDR(bsw_lpt_dev_desc) },
> +	{ "INT3432", LPSS_ADDR(bsw_lpt_i2c_dev_desc) },
> +	{ "INT3433", LPSS_ADDR(bsw_lpt_i2c_dev_desc) },
> +	{ "INT3434", LPSS_ADDR(bsw_lpt_uart_dev_desc) },
> +	{ "INT3435", LPSS_ADDR(bsw_lpt_uart_dev_desc) },
> +	{ "INT3436", LPSS_ADDR(bsw_lpt_sdio_dev_desc) },

... these are Broadwell devices. Have you tested that this won't break
existing Broadwell systems?

       reply	other threads:[~2015-08-20 12:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1440090968-17728-1-git-send-email-srinidhi.kasagar@intel.com>
2015-08-20 12:38 ` Mika Westerberg [this message]
2015-08-20 13:04   ` [PATCH] ACPI / LPSS: Ignore 10ms delay for Braswell and Baytrail Heikki Krogerus
2015-08-21 12:16     ` Kasagar, Srinidhi
2015-08-21 12:11   ` Kasagar, Srinidhi
2015-08-21  6:36     ` Mika Westerberg
2015-08-21 13:20       ` Mika Westerberg
2015-08-24 12:51         ` Kasagar, Srinidhi
2015-08-24  8:59           ` Mika Westerberg
2015-08-24 17:09             ` Kasagar, Srinidhi
2015-08-24  9:44               ` Mika Westerberg
2015-08-27 14:39                 ` Kasagar, Srinidhi
2015-08-27  7:14                   ` Mika Westerberg
2015-08-27 16:13                     ` Kasagar, Srinidhi
2015-08-27  8:30                       ` Mika Westerberg
2015-08-27 17:26                         ` Rafael J. Wysocki

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=20150820123805.GG30005@lahna.fi.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=heikki.krogerus@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=mahesh.kumar.p@intel.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=srinidhi.kasagar@intel.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.