android_kernel_msm-6.1_noth.../drivers/android
Huang Yiwei 8f42d066aa ANDROID: timer: Add vendor hook for timer calc index
timer wheel calculates the index for any timer based on the expiry
value and level granularity of the timer. Due to the level granularity
timer will not fire at the exact time instead expire at a time value
expires + granularity. This is done in the timer code when the index for
each timer is calculated based on the expiry and granularity at each
level:
  expires = (expires >> LVL_SHIFT(lvl)) + 1;
For devfreq drivers the requirement is to fire the timer at the exact
time. If the timer does not expire at the exact time then it'll take
much longer to react and increase the device frequency. Devfreq driver
registers timer for 10ms expiry and due to slack in timer code the
expirty happens at 20 ms. For eg: Frame rendering time is 16ms.
If devfreq driver reacts after 20ms instead of 10ms, that's
way past a frame rendering time.
Timers with 10ms to 630ms expiry fall under level 0, to overcome the
granularity issue for level 0 with low expirty values do not add the
granularity by introducing a new calc_index vendor hook.

Bug: 178758017
Change-Id: I13cdf541e4c1bd426ce28b7a8a17cb8381eb2a92
Signed-off-by: Huang Yiwei <quic_hyiwei@quicinc.com>
2022-09-29 13:37:38 +08:00
..
binder.c Merge d895ec7938 ("Merge tag 'block-6.0-2022-09-02' of git://git.kernel.dk/linux-block") into android-mainline 2022-09-03 12:19:57 +02:00
binder_alloc.c Char/Misc driver fixes for 6.0-rc4 2022-09-02 10:50:08 -07:00
binder_alloc.h android: binder: stop saving a pointer to the VMA 2022-07-29 18:07:13 -07:00
binder_alloc_selftest.c android: binder: stop saving a pointer to the VMA 2022-07-29 18:07:13 -07:00
binder_internal.h Merge 228dfe98a3 ("Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc") into android-mainline 2022-08-21 14:30:36 +02:00
binder_trace.h Merge 228dfe98a3 ("Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc") into android-mainline 2022-08-21 14:30:36 +02:00
binderfs.c binder: fix redefinition of seq_file attributes 2022-07-08 15:44:19 +02:00
debug_kinfo.c ANDROID: kernel: fix debug_kinfo set twice crash issue 2022-05-17 20:48:53 +08:00
debug_kinfo.h ANDROID: debug_kinfo driver, move to drivers/android 2022-04-13 13:42:33 +02:00
Kconfig Merge 228dfe98a3 ("Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc") into android-mainline 2022-08-21 14:30:36 +02:00
Makefile ANDROID: debug_kinfo driver, move to drivers/android 2022-04-13 13:42:33 +02:00
vendor_hooks.c ANDROID: timer: Add vendor hook for timer calc index 2022-09-29 13:37:38 +08:00