SlideShare a Scribd company logo
1 of 13
Download to read offline
Enabling the runtime PM
centric path for ACPI
Ulf Hansson, Linaro
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Agenda
● Recap: The RPM centric path.
● The ACPI PM domain.
● The direct_complete path.
● Adapting the ACPI PM domain.
● The series got posted.
● Conclusion and next steps.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Goals of RPM centric path
● Decrease system resume time of devices.
● Avoid wasting power at system resume of devices.
● Make it easy to deploy system sleep support in drivers.
● Avoid open coding in drivers.
● Simplify upstreaming of ARM SoC PM code.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
RPM centric path - how?
● Observation: Operations in runtime suspend and system
suspend are often very similar and vice versa for resume.
● Allows the runtime PM callbacks to be re-used during
system suspend/resume.
● Don’t power on the device during system resume, unless
really needed. Instead it postpones that to runtime PM!
Deploy runtime PM support,
get system sleep for “free”!
ENGINEERS AND DEVICES
WORKING TOGETHER
Let’s deploy the RPM centric path!
mydrv.c:
static const struct dev_pm_ops mydrv_dev_pm_ops = {
SET_RUNTIME_PM_OPS(mydrv_ runtime_suspend,
mydrv_runtime_resume,
NULL)
SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
pm_runtime_force_resume)
};
Yeah, we did it!
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Need flexibility?
● Use it from any sleep phase?
○ ->suspend(), ->suspend_late(), ->suspend_noirq().
○ ->resume(), ->resume_early(), ->resume_noirq().
● Additional operations required during system sleep?
○ Invoke pm_runtime_force_suspend|resume() from system sleep
callbacks.
● Drivers deploying the RPM centric path.
○ 3.15: 1
○ 4.5: 16
○ next: ~60 consolidation/optimization.
● Find examples: “git grep pm_runtime_force_suspend”.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Constraints for middle layers
● Buses and PM domains, which devices are being
managed by a driver using the RPM centric path, needs to
play along.
● Simple buses like, platform, spi, i2c, amba, are completely
transparent. No changes needed.
● The generic PM domain easily adopted long time ago.
● Let’s adopt this for other subsystems!
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Why the ACPI PM domain?
● Used by ARM.
○ Do we have HW that supports ACPI PM?
● Cross SoC drivers!
○ The device attached to the ACPI PM domain.
○ The device attached to the generic PM domain.
○ The device have no PM domain.
● Keep system sleep deployment simple in drivers.
● No matter of PM domain - benefit from the optimizations.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The ACPI PM domain
● Uses runtime/system PM to manage the power state of a
device, through the ACPI FW.
● Relies on ACPI FW, to internally manage the power state
of shared resources for a group of devices.
● Supports the direct_complete path for system sleep.
● The direct_complete path?
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Adopting the ACPI PM domain
● Make the ACPI PM domain’s runtime PM callback aware
of they can be called when runtime PM is disabled.
● Adopt the ACPI PM domain’s system sleep callback to
trust the driver to deal with system sleep.
○ The driver needs to inform the ACPI PM domain in some way.
● Prove the behaviour in a cross SoC driver.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Suggested approach - rejected!
● Converting i2c-designware-platdrv.
○ 1 file changed, 5 insertions(+), 29 deletions(-)
● Series [1] submitted and re-spinned.
○ 7 files changed, 204 insertions(+), 101 deletions(-)
[1]
https://www.spinics.net/lists/arm-kernel/msg603856.html
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Conclusion and next steps
● The direct_complete path isn’t good enough.
● It will get worse when more cross SoC drivers hits the
same problems.
● We and the PM core maintainer are working on a new
method to enable the ACPI PM domain.
● Until then:
○ Non-optimized system sleep support for drivers dealing with devices
attached to the ACPI PM domain.
Thank You
#SFO17
SFO17 keynotes and videos on: connect.linaro.org
For further information: www.linaro.org

More Related Content

More from Linaro

Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
Linaro
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
Linaro
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
Linaro
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
Linaro
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
Linaro
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
Linaro
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 Servers
Linaro
 
HKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with CoresightHKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with Coresight
Linaro
 

More from Linaro (20)

Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 Servers
 
HKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with CoresightHKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with Coresight
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Enabling the runtime PM centric path for ACPI - SFO17-202

  • 1. Enabling the runtime PM centric path for ACPI Ulf Hansson, Linaro
  • 2. ENGINEERS AND DEVICES WORKING TOGETHER Agenda ● Recap: The RPM centric path. ● The ACPI PM domain. ● The direct_complete path. ● Adapting the ACPI PM domain. ● The series got posted. ● Conclusion and next steps.
  • 3. ENGINEERS AND DEVICES WORKING TOGETHER Goals of RPM centric path ● Decrease system resume time of devices. ● Avoid wasting power at system resume of devices. ● Make it easy to deploy system sleep support in drivers. ● Avoid open coding in drivers. ● Simplify upstreaming of ARM SoC PM code.
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER RPM centric path - how? ● Observation: Operations in runtime suspend and system suspend are often very similar and vice versa for resume. ● Allows the runtime PM callbacks to be re-used during system suspend/resume. ● Don’t power on the device during system resume, unless really needed. Instead it postpones that to runtime PM! Deploy runtime PM support, get system sleep for “free”!
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Let’s deploy the RPM centric path! mydrv.c: static const struct dev_pm_ops mydrv_dev_pm_ops = { SET_RUNTIME_PM_OPS(mydrv_ runtime_suspend, mydrv_runtime_resume, NULL) SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; Yeah, we did it!
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Need flexibility? ● Use it from any sleep phase? ○ ->suspend(), ->suspend_late(), ->suspend_noirq(). ○ ->resume(), ->resume_early(), ->resume_noirq(). ● Additional operations required during system sleep? ○ Invoke pm_runtime_force_suspend|resume() from system sleep callbacks. ● Drivers deploying the RPM centric path. ○ 3.15: 1 ○ 4.5: 16 ○ next: ~60 consolidation/optimization. ● Find examples: “git grep pm_runtime_force_suspend”.
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER Constraints for middle layers ● Buses and PM domains, which devices are being managed by a driver using the RPM centric path, needs to play along. ● Simple buses like, platform, spi, i2c, amba, are completely transparent. No changes needed. ● The generic PM domain easily adopted long time ago. ● Let’s adopt this for other subsystems!
  • 8. ENGINEERS AND DEVICES WORKING TOGETHER Why the ACPI PM domain? ● Used by ARM. ○ Do we have HW that supports ACPI PM? ● Cross SoC drivers! ○ The device attached to the ACPI PM domain. ○ The device attached to the generic PM domain. ○ The device have no PM domain. ● Keep system sleep deployment simple in drivers. ● No matter of PM domain - benefit from the optimizations.
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER The ACPI PM domain ● Uses runtime/system PM to manage the power state of a device, through the ACPI FW. ● Relies on ACPI FW, to internally manage the power state of shared resources for a group of devices. ● Supports the direct_complete path for system sleep. ● The direct_complete path?
  • 10. ENGINEERS AND DEVICES WORKING TOGETHER Adopting the ACPI PM domain ● Make the ACPI PM domain’s runtime PM callback aware of they can be called when runtime PM is disabled. ● Adopt the ACPI PM domain’s system sleep callback to trust the driver to deal with system sleep. ○ The driver needs to inform the ACPI PM domain in some way. ● Prove the behaviour in a cross SoC driver.
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER Suggested approach - rejected! ● Converting i2c-designware-platdrv. ○ 1 file changed, 5 insertions(+), 29 deletions(-) ● Series [1] submitted and re-spinned. ○ 7 files changed, 204 insertions(+), 101 deletions(-) [1] https://www.spinics.net/lists/arm-kernel/msg603856.html
  • 12. ENGINEERS AND DEVICES WORKING TOGETHER Conclusion and next steps ● The direct_complete path isn’t good enough. ● It will get worse when more cross SoC drivers hits the same problems. ● We and the PM core maintainer are working on a new method to enable the ACPI PM domain. ● Until then: ○ Non-optimized system sleep support for drivers dealing with devices attached to the ACPI PM domain.
  • 13. Thank You #SFO17 SFO17 keynotes and videos on: connect.linaro.org For further information: www.linaro.org