Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Q2.12: Non CPU Power Management


Published on

Resource: Q2.12
Name: Non CPU Power Management
Date: 30-05-2012
Speaker: Amit Kucheria

Published in: Technology
  • Be the first to comment

Q2.12: Non CPU Power Management

  1. 1. Power Management beyond the CPU Amit Kucheria Power Management Working Group Linaro Connect, Hong Kong 1st June 2012
  2. 2. The power guzzlers... Internet Phone Video streaming Angry birds GPS navigation 0 100 200 300 400 500 600 700 800 900 GPS Audio Wifi Display CPU Use case Powerconsumption(mW)
  3. 3. Concepts: quick overview ● Clock trees [clock framework] ● Power supplies [regulator framework] ● Idle management [cpuidle framework] ● Active CPU power/performance management [cpufreq framework] ● Active device power/performance management [devfreq framework] ● Dynamic device power management [runtime PM framework] ● Constraints [pm-qos framework]
  4. 4. Use case walkthrough MP3 playback
  5. 5. mp3 playback: Assumptions Music on MMC/SDcard Decoding on ARM
  6. 6. mp3 playback: Simplified HW blocks DRAM ARM MMC/SD Buffer mp3 Audio codec SoC
  7. 7. mp3 playback: Flow mp3 DRAM ARM MMC/SD File Cache BufferPCM frames DMA decode Audio codec SoC
  8. 8. mp3 playback: SW optimisations Entire file read into main memory ● Run ARM cores at low frequency [cpufreq] ● Turn off MMC [runtime pm hooks in mmc driver] ● What is turned off? ● Clocks immediately ● Regulators turned off lazily ● Ensure system doesn't idle too long [cpuidle] ● Register a latency constraint [pm-qos]
  9. 9. mp3 playback: SW optimisations Decode mp3 to PCM ● Decoded samples in main memory ● Turn off ARM core, no more processing necessary [cpuidle] ● Peripherals may still be awake
  10. 10. mp3 playback: SW optimisations DMA from main memory to some FIFO ● e.g. FIFO on audio codec or some buffered serial port ● RAM can be put in self-refresh ● FIFO is large (few 100ms)
  11. 11. mp3 playback: SW optimisations Buffer drives Codec while entire SoC is in very low-power state ● Timer wakes up DMA thread just before buffer runs out
  12. 12. Conclusions ● ARM power consumption is a small component in a typical usecase ● Surrounding peripherals need to be power- managed too ● Linux has frameworks to help with this ● Runtime PM ● PM-QoS ● devfreq
  13. 13. Thank You