[0/3,SRU,B-OEM-OSP1/D/E] reduce s2idle power consumption
mbox series

Message ID 20190821064105.3264-1-aaron.ma@canonical.com
Headers show
Series
  • reduce s2idle power consumption
Related show

Message

Aaron Ma Aug. 21, 2019, 6:41 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1840882

[Impact]
When system goes to suspend-to idle, it's power consumption is around 4+
w.

[Fix]
Some TBT and other ACPI devices share the same power resource, when
system goes to s2idle.
PME polling thread continue bringing up devices to D0 mode.
Use cached ACPI device power state will avoid this issue.

[Test]
Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.

[Regression Potential]
Medium, upstream patches cherry-picked.

Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
and disco+ kernel tag.

Mika Westerberg (3):
  PCI / ACPI: Use cached ACPI device state to get PCI device power state
  ACPI / PM: Introduce concept of a _PR0 dependent device
  PCI / ACPI: Add _PR0 dependent devices

 drivers/acpi/power.c    | 135 ++++++++++++++++++++++++++++++++++++++++
 drivers/pci/pci-acpi.c  |   5 +-
 include/acpi/acpi_bus.h |   4 ++
 3 files changed, 143 insertions(+), 1 deletion(-)

Comments

Seth Forshee Aug. 23, 2019, 3:12 a.m. UTC | #1
On Wed, Aug 21, 2019 at 02:41:02PM +0800, Aaron Ma wrote:
> BugLink: https://bugs.launchpad.net/bugs/1840882
> 
> [Impact]
> When system goes to suspend-to idle, it's power consumption is around 4+
> w.
> 
> [Fix]
> Some TBT and other ACPI devices share the same power resource, when
> system goes to s2idle.
> PME polling thread continue bringing up devices to D0 mode.
> Use cached ACPI device power state will avoid this issue.
> 
> [Test]
> Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.
> 
> [Regression Potential]
> Medium, upstream patches cherry-picked.
> 
> Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
> and disco+ kernel tag.

Applied to eoan/master-next.

Before acking for SRU I'd like to know what kind of regression testing
has been done on the patches.

Thanks,
Seth
Aaron Ma Aug. 23, 2019, 7:07 a.m. UTC | #2
On 8/23/19 11:12 AM, Seth Forshee wrote:
> On Wed, Aug 21, 2019 at 02:41:02PM +0800, Aaron Ma wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1840882
>>
>> [Impact]
>> When system goes to suspend-to idle, it's power consumption is around 4+
>> w.
>>
>> [Fix]
>> Some TBT and other ACPI devices share the same power resource, when
>> system goes to s2idle.
>> PME polling thread continue bringing up devices to D0 mode.
>> Use cached ACPI device power state will avoid this issue.
>>
>> [Test]
>> Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.
>>
>> [Regression Potential]
>> Medium, upstream patches cherry-picked.
>>
>> Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
>> and disco+ kernel tag.
> Applied to eoan/master-next.
> 
> Before acking for SRU I'd like to know what kind of regression testing
> has been done on the patches.
> 

Tested with 3 models of laptops with s2idle and S3 supports.
Quick test PCI/USB deivices on both s2idle and S3 mode, no regression found.

Tested AMD platform which supports S3 only, PCI/USB work and resume fine.
No regression found.

Thanks,
Aaron

> Thanks,
> Seth
>
Seth Forshee Aug. 30, 2019, 3:43 p.m. UTC | #3
On Wed, Aug 21, 2019 at 02:41:02PM +0800, Aaron Ma wrote:
> BugLink: https://bugs.launchpad.net/bugs/1840882
> 
> [Impact]
> When system goes to suspend-to idle, it's power consumption is around 4+
> w.
> 
> [Fix]
> Some TBT and other ACPI devices share the same power resource, when
> system goes to s2idle.
> PME polling thread continue bringing up devices to D0 mode.
> Use cached ACPI device power state will avoid this issue.
> 
> [Test]
> Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.
> 
> [Regression Potential]
> Medium, upstream patches cherry-picked.
> 
> Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
> and disco+ kernel tag.

Upstream cherry picks, positive testing, tested for regressions.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Kleber Souza Sept. 3, 2019, 5:37 p.m. UTC | #4
On 8/21/19 8:41 AM, Aaron Ma wrote:
> BugLink: https://bugs.launchpad.net/bugs/1840882
> 
> [Impact]
> When system goes to suspend-to idle, it's power consumption is around 4+
> w.
> 
> [Fix]
> Some TBT and other ACPI devices share the same power resource, when
> system goes to s2idle.
> PME polling thread continue bringing up devices to D0 mode.
> Use cached ACPI device power state will avoid this issue.
> 
> [Test]
> Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.
> 
> [Regression Potential]
> Medium, upstream patches cherry-picked.
> 
> Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
> and disco+ kernel tag.
> 
> Mika Westerberg (3):
>   PCI / ACPI: Use cached ACPI device state to get PCI device power state
>   ACPI / PM: Introduce concept of a _PR0 dependent device
>   PCI / ACPI: Add _PR0 dependent devices
> 
>  drivers/acpi/power.c    | 135 ++++++++++++++++++++++++++++++++++++++++
>  drivers/pci/pci-acpi.c  |   5 +-
>  include/acpi/acpi_bus.h |   4 ++
>  3 files changed, 143 insertions(+), 1 deletion(-)
> 

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Kleber Souza Sept. 3, 2019, 5:38 p.m. UTC | #5
On 8/21/19 8:41 AM, Aaron Ma wrote:
> BugLink: https://bugs.launchpad.net/bugs/1840882
> 
> [Impact]
> When system goes to suspend-to idle, it's power consumption is around 4+
> w.
> 
> [Fix]
> Some TBT and other ACPI devices share the same power resource, when
> system goes to s2idle.
> PME polling thread continue bringing up devices to D0 mode.
> Use cached ACPI device power state will avoid this issue.
> 
> [Test]
> Verified on 2 hardware. Power consumption of s2idle is reduced to 1w.
> 
> [Regression Potential]
> Medium, upstream patches cherry-picked.
> 
> Since these hareware is only supported by 5.0+ kernel, I set B-OEM-OSP1
> and disco+ kernel tag.
> 
> Mika Westerberg (3):
>   PCI / ACPI: Use cached ACPI device state to get PCI device power state
>   ACPI / PM: Introduce concept of a _PR0 dependent device
>   PCI / ACPI: Add _PR0 dependent devices
> 
>  drivers/acpi/power.c    | 135 ++++++++++++++++++++++++++++++++++++++++
>  drivers/pci/pci-acpi.c  |   5 +-
>  include/acpi/acpi_bus.h |   4 ++
>  3 files changed, 143 insertions(+), 1 deletion(-)
> 

Applied to disco/master-next branch.

Thanks,
Kleber