android_kernel_motorola_sm6225/Documentation/power
Lina Iyer e55056eb00 ANDROID: GKI: QoS: Enhance framework to support cpu/irq specific QoS requests
QoS request for CPU_DMA_LATENCY can be better optimized if the request
can be set only for the required cpus and not all cpus. This helps save
power on other cores, while still gauranteeing the quality of service.

Enhance the QoS constraints data structures to support target value for
each core. Requests specify if the QoS is applicable to all cores
(default) or to a selective subset of the cores or to a core(s), that the
IRQ is affine to.

QoS requests that need to track an IRQ can be set to apply only on the
cpus to which the IRQ's smp_affinity attribute is set to. The QoS
framework will automatically track IRQ migration between the cores. The
QoS is updated to be applied only to the core(s) that the IRQ has been
migrated to.

Idle and interested drivers can request a PM QoS value for a constraint
across all cpus, or a specific cpu or a set of cpus. Separate APIs have
been added to request for individual cpu or a cpumask.  The default
behaviour of PM QoS is maintained i.e, requests that do not specify a
type of the request will continue to be effected on all cores.  Requests
that want to specify an affinity of cpu(s) or an irq, can modify the PM
QoS request data structures by specifying the type of the request and
either the mask of the cpus or the IRQ number depending on the type.
Updating the request does not reset the type of the request.

The userspace sysfs interface does not support CPU/IRQ affinity.

Signed-off-by: Lina Iyer <ilina@codeaurora.org>
(cherry picked from commit 16cafdb44f)

Bug: 153463922
Test: build
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I1aad836a985fd303f2254fe607bb909a6b720dd5
2020-04-08 16:37:25 +00:00
..
powercap
regulator regulator: Update code examples in documentation 2017-11-29 10:41:16 +00:00
00-INDEX PM / sleep / docs: Convert PM notifiers document to reST 2017-02-06 11:26:02 -07:00
apm-acpi.txt
basic-pm-debugging.txt PM / sleep: Update some system sleep documentation 2016-08-13 02:54:04 +02:00
charger-manager.txt
drivers-testing.txt
energy-model.txt ANDROID: PM / EM: Document the support for legacy (deprecated) EM 2019-03-08 00:50:07 +00:00
freezing-of-tasks.txt PM / reboot: Eliminate race between reboot and suspend 2018-08-06 12:35:20 +02:00
interface.txt Documentation: fix ref to power basic-pm-debugging 2017-10-19 12:57:58 -06:00
opp.txt PM / OPP: Update Documentation to remove RCU specific bits 2017-01-30 09:22:23 +01:00
pci.txt PCI / PM: Support for LEAVE_SUSPENDED driver flag 2017-11-27 01:20:59 +01:00
pm_qos_interface.txt ANDROID: GKI: QoS: Enhance framework to support cpu/irq specific QoS requests 2020-04-08 16:37:25 +00:00
power_supply_class.txt power: supply: core: Add power_supply_prop_precharge 2017-06-08 16:29:28 +02:00
runtime_pm.txt PM / runtime: Drop children check from __pm_runtime_set_status() 2017-11-16 22:51:22 +01:00
s2ram.txt
suspend-and-cpuhotplug.txt PM / reboot: Eliminate race between reboot and suspend 2018-08-06 12:35:20 +02:00
suspend-and-interrupts.txt genirq / PM: describe IRQF_COND_SUSPEND 2015-03-06 01:28:14 +01:00
swsusp-and-swap-files.txt
swsusp-dmcrypt.txt docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
swsusp.txt PM / hibernate: Make passing hibernate offsets more friendly 2018-03-30 12:01:20 +02:00
tricks.txt
userland-swsusp.txt
video.txt