hiu: Introduce HIU driver.
Change-Id: Ib8c490128ab6dcc36fc7f502ded8c2d5b9eddc41
[9820] hiu: sync up H/W and S/W frequency with EFF
Exynos FF and HIU driver cowork to sync up H/W and S/W frequency.
Change-Id: I71689390ca7cf8bea6cfe222b419788c47708ed7
[9820] hiu: update hiu data using cpufreq ready callback
Change-Id: I398899d97541410776b7b780ac72fb87de8ff796
[9820] hiu: modify logging type
Change-Id: I1cc7927255d574462639e6eda4fbd5533eaed890
[9820] hiu: add offset to level for communication with ACPM
Change-Id: Ic37b5c812004f2168c625e6c224e07090a526f6a
[9820] hiu: add field in hiu data for sw power budget limit
When current frequecy is lower than boost threshold,
HIU don't need to request dynamic power bugeting.
SW requests DVFS with fixed power budgeet limit
Change-Id: I2b20d14d39c729552854bd4226e3d862f65c44a4
[9820] hiu: move some functions under helper function category
Change-Id: I5511e5f9a6778cd92dc7fcdfe5ed905e33a45e5c
[9820] hiu: wait for SR1 response in when normal DVFS is requested
Change-Id: Ib6676d2b586ec11c208f02cb9bbac77dc1acb281
[9820] hiu: make sr1_check_loop more stable
Change-Id: I9fefe89eb4a631238789e34629882447d6bc4adc
[9820] hiu: give normal DVFS request higher prio than turbo boost
If
1) normal DVFS request and trubo boost request tb_threshold DVFS value and
2) turbo boost request get to know SR1 write and clear SR1 write bit,
then normal DVFS will be stuck in loop until other SR1 write comes.
It means that other normal DVFS requests will be stuck by mutex
the normal DVFS request stuck has.
This patch is for solving the problem.
Change-Id: I6671fa1149cdc657560df1bdf3d8ac6929d95ac9
[9820] hiu: enable/disable power constraint and turbo boost using dt
Change-Id: I89724d836be9b9a5475d85981a047a423372c9b6
[9820] hiu: modify API & polling thread for processing DVFS triggered by HIU HW
Change-Id: I11afdf7a32a492e19faf347a43eaa81f9b22949d
[9820] hiu: synchronize SW request and HW request using mutex
Change-Id: I7407a29da0a23422a54a70fa33f7619198faf996
[9820] hiu: do not adjust max frequency
If cpufreq_update_policy is not called,
policy's max frequency could be mis-set.
Therefore, remove max frequency update code
in cpufreq policy callback of HIU
Change-Id: I5cf7073532bc885b360cb0b47764e824fa958c52
[9820] hiu: do not write SR0 with boost threshold when turbo boosting
Change-Id: I575f61f6994f56d2c2498c0371a27f9e32dd5ea7
[9820] hiu: wait for updating sw structure by hwidvfs
Change-Id: Ie8e1387aeb2ca355679f340b7480eed0f7b1361a
[9820] hiu: do not update DVFSLIMIT unnecessarily
Change-Id: Ic3dabb9ee8ada067827dc597bbd3efc53a6cbac3
[9820] hiu: stop polling when turbo boost is released
Change-Id: I58528ee2a93ad7ec8de091daa9e0554cc8bca05f
[9820] hiu: increase polling term
Change-Id: Icd086d3231f4b1b3f2ae399511d7eb5659b6460c
[9820] hiu: check normal dvfs done in API
Change-Id: Ifec361cd4a146cb633f8b82e469d24b6cda895e6
[9820] hiu: locking when updating limit dvfs
Change-Id: I56aa95b5d14c4d89daff1708c8b79131ac0b403e
[9820] hiu: set boost level increments using dt
Change-Id: I0247aa315a20f634f5479d4ead34645321e96ea4
[9820] hiu: deal with hwi dvfs using hwi_dvfs_flag
Change-Id: Ib50268be24994751cab07c9d460d349509426fc5
[9820] hiu: update boost_max using cpufreq policy
Change-Id: I0b34be80c4a5d652e241f29d6318c23bf9ee032f
[9820] hiu: modify condition to set limit dvfs
Condition:
Only when clipped freq is higher than or equal to boost threshold
Change-Id: I588e4b0d5828f3f59ccf182674fc3aa65c920ef4
[9820] hiu: define polling period using macro
Change-Id: Idd74c36d9875f415e2bcc3f08f25a752f78d483c
[9820] hiu: bind polling thread to little
Change-Id: I54862683a1a9d765fb80d2008e0da7529c9fb23b
[9820] hiu: restore hiu data after CHT cluster exits CPD
Change-Id: I342b6e3243755f6da49374a4da76f02affe46bcc
[9820] hiu: use usleep_range instead of udelay
Change-Id: Id19a14242b2d1b25d13b540104b2da0a5543bc16
[9820] hiu: set limit dvfs with hiu data clipped_freq
Change-Id: I6e289246800d28f0f990b4a95ce1c49d084a0395
[9820] hiu: determine SR0 write in set_freq API
Change-Id: Ic5c46476b9ea6ef0b0a418a42fb2085bc7b796c1
[9820] hiu: refactoring functionality to write on SR0
Change-Id: I42ebceba7946f69fdf4242df8dbbecf5be6732bf
[9820] hiu: find policy using online cpu
Change-Id: I4f3ad4d13f348765399290b61fefa2e5a1ca150d
[9820] hiu: create polling thread when probing
Change-Id: I7a4f22b6f573e50e2eedb52aa9e54490109ecf70
[9820] hiu: lock just before cur_freq could be updated
Change-Id: I8e0d7eb2e67af8b6633c429041c6ae08b1b69e5f
[9820] hiu: force work to run only on big
Change-Id: I9a5230f407722a2293eb78fa8a1362797c0407c2