linux/drivers
Lina Iyer 7a9d53c2ea FROMLIST: PM / domains: inform PM domain of a device's next wakeup
Some devices may have a predictable interrupt pattern while executing
usecases. An example would be the VSYNC interrupt associated with
display devices. A 60 Hz display could cause a interrupt every 16 ms. If
the device were in a PM domain, the domain would need to be powered up
for device to resume and handle the interrupt.

Entering a domain idle state saves power, only if the residency of the
idle state is met. Without knowing the idle duration of the domain, the
governor would just choose the deepest idle state that matches the QoS
requirements. The domain might be powered off just as the device is
expecting to wake up. If devices could inform PM frameworks of their
next event, the parent PM domain's idle duration can be determined.

So let's add the dev_pm_genpd_set_next_wakeup() API for the device to
inform PM domains of the impending wakeup. This information will be the
domain governor to determine the best idle state given the wakeup.

Bug: 170654157
Link: https://lore.kernel.org/linux-pm/CAJZ5v0g+nK+jV+Gy+BKEALRtsXDK0HnDbz07Nv3KPK5L3V3OKg@mail.gmail.com/T/#m55f3f4a218f6c91431066505841ba5339486b1ab
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Change-Id: I34371ef21fde9c045ecf739e9b53c3128656db8e
2020-12-14 09:18:34 -07:00
..
accessibility speakup: Reject setting the speakup line discipline outside of speakup 2020-11-30 09:20:32 +01:00
acpi arm64 fixes for -rc6 2020-11-27 10:44:59 -08:00
amba
android ANDROID: sched: Add rvh for cpu controller cgroup attach 2020-12-10 18:12:07 +00:00
ata libata-5.10-2020-10-30 2020-10-30 14:51:01 -07:00
atm atm: nicstar: Unmap DMA on send error 2020-11-18 16:42:07 -08:00
auxdisplay
base FROMLIST: PM / domains: inform PM domain of a device's next wakeup 2020-12-14 09:18:34 -07:00
bcma bcma: use semicolons rather than commas to separate statements 2020-10-01 16:23:50 +03:00
block Merge 6bff9bb8a2 ("Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi") into android-mainline 2020-12-13 08:42:04 +01:00
bluetooth Bluetooth: btintel: Replace zero-length array with flexible-array member 2020-10-30 16:57:41 -05:00
bus bus: ti-sysc: suppress err msg for timers used as clockevent/source 2020-11-19 11:05:48 +02:00
cdrom
char Merge 9cfd9c4599 ("Merge tag 'char-misc-5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc") into android-mainline 2020-11-16 08:41:35 +01:00
clk Merge 7f376f1917 ("Merge tag 'mtd/fixes-for-5.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux") into android-mainline 2020-12-12 12:19:56 +01:00
clocksource FROMGIT: PM: domains: Rename pm_genpd_syscore_poweroff|poweron() 2020-12-12 23:40:00 +00:00
connector
counter counter/ti-eqep: Fix regmap max_register 2020-11-01 17:17:31 +00:00
cpufreq Merge 85a2c56cb4 ("Merge tag 'pm-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline 2020-11-27 13:41:53 +01:00
cpuidle FROMGIT: cpuidle: psci: Enable suspend-to-idle for PSCI OSI mode 2020-12-12 23:41:38 +00:00
crypto crypto: sun8x-ce*: update entries to its documentation 2020-10-28 11:41:15 -06:00
dax mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
dca
devfreq PM / devfreq: tegra30: Improve initial hardware resetting 2020-09-29 17:50:10 +09:00
dio
dma dmaengine fixes for v5.10-rc5 2020-11-20 10:23:49 -08:00
dma-buf BACKPORT: dma-buf: system_heap: Allocate higher order pages if available 2020-12-10 00:38:32 +00:00
edac EFI changes for v5.10: 2020-10-12 13:26:49 -07:00
eisa
extcon extcon: axp288: Use module_platform_driver to simplify the code 2020-09-30 00:40:06 +09:00
firewire firewire-ohci: use dma_alloc_pages 2020-09-25 06:20:48 +02:00
firmware Merge a2f5ea9e31 ("Merge tag 'arm-soc-fixes-v5.10-4b' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") into android-mainline 2020-12-10 15:55:59 +01:00
fpga fpga: Specify HAS_IOMEM dependency for FPGA_DFL 2020-12-01 18:46:24 +01:00
fsi
gnss
gpio gpio: eic-sprd: break loop when getting NULL device resource 2020-12-09 09:41:49 +01:00
gpu Merge 7f376f1917 ("Merge tag 'mtd/fixes-for-5.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux") into android-mainline 2020-12-12 12:19:56 +01:00
greybus
hid Linux 5.10-rc5 2020-11-23 08:17:16 +01:00
hsi
hv hyperv-fixes for 5.10-rc5 2020-11-16 15:02:33 -08:00
hwmon hwmon: (amd_energy) modify the visibility of the counters 2020-11-13 06:46:20 -08:00
hwspinlock
hwtracing coresight: cti: Initialize dynamic sysfs attributes 2020-10-29 20:10:25 +01:00
i2c i2c: mlxbf: Fix the return check of devm_ioremap and ioremap 2020-12-05 14:52:35 +01:00
i3c * Fix DAA for the pre-reserved address case 2020-10-17 11:01:01 -07:00
ide block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
idle intel_idle: Build fix 2020-12-03 10:00:23 +01:00
iio iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode 2020-11-14 17:33:47 +00:00
infiniband RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait 2020-12-09 15:51:35 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-12-12 09:41:33 -08:00
interconnect interconnect: fix memory trashing in of_count_icc_providers() 2020-11-20 16:01:35 +02:00
iommu Merge a2f5ea9e31 ("Merge tag 'arm-soc-fixes-v5.10-4b' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") into android-mainline 2020-12-10 15:55:59 +01:00
ipack
irqchip Merge 5.10-rc6 into android-mainline 2020-11-30 09:21:41 +01:00
isdn
leds leds: pwm: Remove platform_data support 2020-10-07 12:02:58 +02:00
lightnvm lightnvm: fix out-of-bounds write to array devices->info[] 2020-10-16 09:28:45 -06:00
macintosh powerpc updates for 5.10 2020-10-16 12:21:15 -07:00
mailbox ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
mcb
md Linux 5.10 2020-12-14 09:28:04 +01:00
media Merge 33dc9614dc ("Merge tag 'ktest-v5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest") into android-mainline 2020-12-11 10:26:31 +01:00
memory ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
memstick Merge branch 'fixes' into next 2020-09-28 12:17:36 +02:00
message scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() 2020-10-26 16:57:18 -04:00
mfd - New Drivers 2020-10-14 15:56:58 -07:00
misc Merge 6bff9bb8a2 ("Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi") into android-mainline 2020-12-13 08:42:04 +01:00
mmc Merge 7f376f1917 ("Merge tag 'mtd/fixes-for-5.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux") into android-mainline 2020-12-12 12:19:56 +01:00
most
mtd mtd: rawnand: xway: Do not force a particular software ECC engine 2020-12-11 20:10:02 +01:00
mux
net Merge 33dc9614dc ("Merge tag 'ktest-v5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest") into android-mainline 2020-12-11 10:26:31 +01:00
nfc nfc: s3fwrn5: use signed integer for parsing GPIO numbers 2020-11-24 15:00:53 -08:00
ntb Bug fixes for v5.10 2020-10-25 11:12:31 -07:00
nubus
nvdimm mm/memremap_pages: support multiple ranges per invocation 2020-10-13 18:38:28 -07:00
nvme nvme: fix memory leak freeing command effects 2020-11-14 09:57:55 +01:00
nvmem nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() 2020-09-27 14:25:48 +02:00
of Merge f01c30de86 ("Merge tag 'vfs-5.10-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux") into android-mainline 2020-11-14 10:29:08 +01:00
opp opp: Reduce the size of critical section in _opp_table_kref_release() 2020-10-27 13:21:03 +05:30
oprofile
parisc dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
parport
pci ANDROID: pcie/dwc: driver: export dw_handle_msi_irq 2020-12-01 08:16:12 +00:00
pcmcia dma-mapping: remove DMA_MASK_NONE 2020-09-25 06:12:15 +02:00
perf perf: arm-cmn: Fix conversion specifiers for node type 2020-10-01 22:30:07 +01:00
phy phy: mediatek: fix spelling mistake in Kconfig "veriosn" -> "version" 2020-11-16 13:21:28 +05:30
pinctrl Merge 7f376f1917 ("Merge tag 'mtd/fixes-for-5.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux") into android-mainline 2020-12-12 12:19:56 +01:00
platform Merge c84e1efae0 ("Merge tag 'asm-generic-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic") into android-mainline 2020-11-28 08:23:09 +01:00
pnp PNP: fix kernel-doc markups 2020-10-27 19:23:04 +01:00
power Merge e731f3146f ("Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") into android-mainline 2020-10-27 11:50:07 +01:00
powercap Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2020-11-10 10:02:31 -08:00
pps
ps3
ptp ptp: clockmatrix: bug fix for idtcm_strverscmp 2020-11-25 17:24:49 -08:00
pwm Merge 5.10-rc7 into android-mainline 2020-12-09 08:09:26 +01:00
rapidio rapidio: fix the missed put_device() for rio_mport_add_riodev 2020-10-16 11:11:22 -07:00
ras RAS/CEC: Convert to DEFINE_SHOW_ATTRIBUTE() 2020-09-25 19:05:31 +02:00
regulator regulator: ti-abb: Fix array out of bound read access on the first transition 2020-11-18 17:59:24 +00:00
remoteproc remoteproc updates for v5.10 2020-10-22 12:56:33 -07:00
reset ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
rpmsg Merge 2b71482060 ("Merge tag 'modules-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux") into android-mainline 2020-10-27 11:41:53 +01:00
rtc RTC for 5.10 2020-10-21 11:22:08 -07:00
s390 Networking fixes for 5.10-rc6, including fixes from the WiFi driver, 2020-11-27 14:38:02 -08:00
sbus
scsi Merge 6bff9bb8a2 ("Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi") into android-mainline 2020-12-13 08:42:04 +01:00
sfi
sh
siox
slimbus slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback 2020-09-25 14:41:51 +02:00
soc Merge c84e1efae0 ("Merge tag 'asm-generic-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic") into android-mainline 2020-11-28 08:23:09 +01:00
soundwire soundwire updates for 5.10-rc1 2020-10-01 22:59:55 +02:00
spi ANDROID: spi: of: Populate fwnode in of_register_spi_device 2020-12-01 15:36:41 +00:00
spmi
ssb
staging Merge fa02fcd94b ("Merge tag 'media/v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media") into android-mainline 2020-11-26 22:12:14 +01:00
target SCSI fixes on 20201120 2020-11-20 16:24:28 -08:00
tc
tee ARM: SoC fixes for v5.10, part 3 2020-11-27 14:48:03 -08:00
thermal ANDROID: Revert "thermal: Make thermal_zone_device_is_enabled() available to core only" 2020-11-27 16:50:51 +00:00
thunderbolt thunderbolt: Fix use-after-free in remove_unplugged_switch() 2020-11-19 17:44:10 +03:00
tty Merge 5.10-rc7 into android-mainline 2020-12-09 08:09:26 +01:00
uio uio: Fix use-after-free in uio_unregister_device() 2020-11-09 18:54:30 +01:00
usb FROMGIT: usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled 2020-12-11 11:15:08 +01:00
vdpa vdpa: mlx5: fix vdpa/vhost dependencies 2020-12-02 04:09:56 -05:00
vfio vfio/pci: Bypass IGD init in case of -ENODEV 2020-11-03 11:07:40 -07:00
vhost vhost_vdpa: return -EFAULT if copy_to_user() fails 2020-12-02 04:36:40 -05:00
video hyperv-fixes for 5.10-rc6 2020-11-23 15:29:03 -08:00
virt nitro_enclaves: Fixup type and simplify logic of the poll mask setup 2020-11-09 18:20:36 +01:00
virtio Merge 1f70935f63 ("Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") into android-mainline 2020-10-27 11:47:16 +01:00
visorbus
vlynq
vme
w1 w1: w1_therm: make w1_poll_completion static 2020-10-05 14:49:24 +02:00
watchdog ARM: SoC platform updates 2020-10-24 10:33:08 -07:00
xen xen: don't use page->lru for ZONE_DEVICE memory 2020-12-09 10:31:41 +01:00
zorro
Kconfig
Makefile vdpa: mlx5: fix vdpa/vhost dependencies 2020-12-02 04:09:56 -05:00