mbox series

[v2,0/2] ata: ahci: Enable DEVSLP by default on SLP_S0 support

Message ID 20180727204703.6505-1-srinivas.pandruvada@linux.intel.com (mailing list archive)
Headers show
Series ata: ahci: Enable DEVSLP by default on SLP_S0 support | expand

Message

srinivas pandruvada July 27, 2018, 8:47 p.m. UTC
One of the requirement for modern x86 system to enter lowest power mode
(SLP_S0) is SATA IP block to be off. This is true even during when
platform is suspended to idle and not only in opportunistic (runtime)
suspend.
This series is to enable DEVSLP by default.

v2:
 As suggested by Hans, take care of the module param is same as default
 LPM policy

-current (non-rfc) series
Implemented suggestions from Hans
- no override of policy set via module param
- Override lpm policy per host not global policy
- changed the new policy name to "min_power_with_partial"

rfc-v2
- As suggested by Hans, it is possible to have ASP with DEVSLP, so
add a new state.
- Removed usage of mem_sleep_current, instead just rely on low power
idle flag. Don't feel good to EXPORT from core suspend code.
- Depending host policy to decide if we enable DEVSLP by default.

Srinivas Pandruvada (2):
  ata: ahci: Support state with min power but Partial low power state
  ata: ahci: Enable DEVSLP by default on x86 with SLP_S0

 drivers/ata/ahci.c        | 38 +++++++++++++++++++++++++++++++++-----
 drivers/ata/libahci.c     |  5 ++++-
 drivers/ata/libata-core.c |  1 +
 drivers/ata/libata-scsi.c |  1 +
 include/linux/libata.h    |  3 ++-
 5 files changed, 41 insertions(+), 7 deletions(-)

Comments

Hans de Goede July 29, 2018, 9:25 a.m. UTC | #1
Hi,

On 27-07-18 22:47, Srinivas Pandruvada wrote:
> One of the requirement for modern x86 system to enter lowest power mode
> (SLP_S0) is SATA IP block to be off. This is true even during when
> platform is suspended to idle and not only in opportunistic (runtime)
> suspend.
> This series is to enable DEVSLP by default.
> 
> v2:
>   As suggested by Hans, take care of the module param is same as default
>   LPM policy

Thanks.

Series looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Note we need to keep an eye out for this causing regressions with
some disks / firmware-versions.

Regards,

Hans




> 
> -current (non-rfc) series
> Implemented suggestions from Hans
> - no override of policy set via module param
> - Override lpm policy per host not global policy
> - changed the new policy name to "min_power_with_partial"
> 
> rfc-v2
> - As suggested by Hans, it is possible to have ASP with DEVSLP, so
> add a new state.
> - Removed usage of mem_sleep_current, instead just rely on low power
> idle flag. Don't feel good to EXPORT from core suspend code.
> - Depending host policy to decide if we enable DEVSLP by default.
> 
> Srinivas Pandruvada (2):
>    ata: ahci: Support state with min power but Partial low power state
>    ata: ahci: Enable DEVSLP by default on x86 with SLP_S0
> 
>   drivers/ata/ahci.c        | 38 +++++++++++++++++++++++++++++++++-----
>   drivers/ata/libahci.c     |  5 ++++-
>   drivers/ata/libata-core.c |  1 +
>   drivers/ata/libata-scsi.c |  1 +
>   include/linux/libata.h    |  3 ++-
>   5 files changed, 41 insertions(+), 7 deletions(-)
>
Tejun Heo July 30, 2018, 2:10 p.m. UTC | #2
On Fri, Jul 27, 2018 at 01:47:01PM -0700, Srinivas Pandruvada wrote:
> One of the requirement for modern x86 system to enter lowest power mode
> (SLP_S0) is SATA IP block to be off. This is true even during when
> platform is suspended to idle and not only in opportunistic (runtime)
> suspend.
> This series is to enable DEVSLP by default.

Applied to 1-2 to libata/for-4.19.

Thanks.