{"push_id":780726874,"size":45,"distinct_size":2,"ref":"refs/heads/kk-stable","head":"3357c7dba5bcc2f0b05d747600c656dbe53c6e6b","before":"c754dc092f7378123e6ea6aa8abd0a0d666bf72e","commits":[{"sha":"1be9d0fd663a3235d0e00bd31725e5588016fd7b","author":{"email":"d033e22ae348aeb5660fc2140aec35850c4da997@jollaman999.com","name":"jollaman999"},"message":"dt2w: 'dt2w_msm_pm_enter' should be false after first check","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/1be9d0fd663a3235d0e00bd31725e5588016fd7b"},{"sha":"0b635b385b05b1708f3ff3aabe68f2c2c37b9b47","author":{"email":"f589d587264e8ab68612ae149d4360ba543920f1@gmail.com","name":"Loller79"},"message":"Stock-KK Camera Drivers","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/0b635b385b05b1708f3ff3aabe68f2c2c37b9b47"},{"sha":"cc94ad3e4c741defab06d6be57edde101310b780","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpufreq: Add CPU Input Boost driver\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/cc94ad3e4c741defab06d6be57edde101310b780"},{"sha":"ccbdb6087ed911598416993eb26dd40a3018f1c2","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Add power-saving algorithm to selectively boost CPUs\n\nInstead of boosting all CPUs, CPU input boost now checks two factors when determining the amount of CPUs to boost: the number of CPUs that are online and the current frequency of online CPUs. Each of these factors can only queue up to 2 CPUs for boosting, and a maximum of 3 out of 4 CPUs can boosted at once (or 2 CPUs on dual-core systems). A new sysfs parameter, up_threshold, has been added which can tweak the aggressiveness of the first half of the power algorithm (the current frequency of each online CPU).\n\nOnline CPUs are given priority when boosting.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/ccbdb6087ed911598416993eb26dd40a3018f1c2"},{"sha":"34140df6f3673e15a1e9f488d422ddfcf9547acc","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Unboost all CPUs in a single call\n\nUnboosting CPUs on a per-cpu basis now could leave some CPUs boosted, and it is unnecessary. Unboost all CPUs at once instead.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/34140df6f3673e15a1e9f488d422ddfcf9547acc"},{"sha":"a0372b7ffd4b8a7a5bf1a5b9f98b42055b77c98e","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Automagically calculate boost freq to be used\n\nBoost frequencies to be used are now automatically calculated at init by multiplying a hardcoded fraction by the maxfreq. The main boost function will determine which boost frequency to use (high, medium, low). On dual-core systems, only the high and medium boost frequencies are used.\n\nAlso fixed some derps that broke boosting on a per-cpu basis.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/a0372b7ffd4b8a7a5bf1a5b9f98b42055b77c98e"},{"sha":"9a6888599a1969255fcf4581d7bf7ae30bcd3e54","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Automagically calculate boost duration\n\nBoost duration is calculated based on the number of CPUs boosted, as well as how much they are being boosted.\n\nAlso allowed frequencies that are exactly the same as the requested freq to be used as the boost freq.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/9a6888599a1969255fcf4581d7bf7ae30bcd3e54"},{"sha":"387759148ecb04fe75f970d551e077a2de4308f3","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Add on/off switch\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/387759148ecb04fe75f970d551e077a2de4308f3"},{"sha":"f18bee67fc69bcec463b2dcf05fa2ce284947202","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Remove useless guard during init\n\nWe are guaranteed to break out of this loop before hitting the maxfreq (or hitting any invalid freqs), as long as the system has more than 3 CPU frequencies available and as long as boost_factor/BOOST_FACTOR_DIVISOR is less than 1.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/f18bee67fc69bcec463b2dcf05fa2ce284947202"},{"sha":"e4739d934e418d7d540d114d0631bbf2f181d1fb","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Reduce overhead and prevent races\n\n*Instead of constantly overriding boosts every 150ms during a torrent of input events, wait for the current boost to expire before accepting a new boost\n*Make the workqueue non-reentrant, as running the boost workers concurrently could lead to mayhem\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/e4739d934e418d7d540d114d0631bbf2f181d1fb"},{"sha":"5f74f33c4bde6d13aaa1a55b80f5ee22831b8535","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Set boost_running to false if there is no boost\n\nboost_running would be remain true forever if the power algorithms decided not to boost, thus permanently disabling input boosting.\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/5f74f33c4bde6d13aaa1a55b80f5ee22831b8535"},{"sha":"7a785cfb1f4e7780543d0cd2548303119e1e7b39","author":{"email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com","name":"Sultanxda"},"message":"cpu_input_boost: Minor clean-up\n\nSigned-off-by: Sultanxda <sultanxda@gmail.com>","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/7a785cfb1f4e7780543d0cd2548303119e1e7b39"},{"sha":"21abec624d58d0510ec8f5445da31c2f820b158f","author":{"email":"ed5b18bb2a24124d713b552f5236325f567824ec@gmail.com","name":"Emmanuel Utomi"},"message":"cpu_input_boost: Update from @sultanxda\n\nhttps://github.com/sultanxda/android_kernel_oneplus_msm8974/blob/cm-12.1-caf/drivers/cpufreq/cpu_input_boost.c","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/21abec624d58d0510ec8f5445da31c2f820b158f"},{"sha":"c8b573be605437ebaee7e16f46e22df67ee8e699","author":{"email":"ed5b18bb2a24124d713b552f5236325f567824ec@gmail.com","name":"Emmanuel Utomi"},"message":"cpu_input_boost: Retain original minfreqs","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/c8b573be605437ebaee7e16f46e22df67ee8e699"},{"sha":"36cd058c97fce6b92d9188908df42a4b59123b67","author":{"email":"75919d8a40657e7c4b73dbcdaee163d56b6efc07@gmx.com","name":"Igor"},"message":"Enable cpu_input_boost","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/36cd058c97fce6b92d9188908df42a4b59123b67"},{"sha":"b9eb34c79f3ca1250f16088ec6ecdc9f67fb3c96","author":{"email":"ed5b18bb2a24124d713b552f5236325f567824ec@gmail.com","name":"Emmanuel Utomi"},"message":"cpufreq: Retain each individual cpu policy\n\nIn the scenario that a non-primary core is resuming from a hotplug, the min/max policy gets reset to the kernel default. This patch retains those policies.\n\n-policy sync to cpu0 support\n-governor retain\n-code cleaned\n\ncpufreq: properly enforce CONFIG_MSM_CPU_FREQ_SET_MIN_MAX\n\nretain_cpu_policy: Utilize notifiers\n\nretain_cpu_policy: Utilize CPUFREQ_ADJUST to be self-sufficient\n\nConflicts:\n\tflashable/tools/updatewild.sh","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/b9eb34c79f3ca1250f16088ec6ecdc9f67fb3c96"},{"sha":"8f04d3b9d1ca9be4c0371598f0e4f37d6353f5ea","author":{"email":"ed5b18bb2a24124d713b552f5236325f567824ec@gmail.com","name":"Emmanuel Utomi"},"message":"cpufreq: Import VDD Userspace control","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/8f04d3b9d1ca9be4c0371598f0e4f37d6353f5ea"},{"sha":"2bfa6a4dd42864bcf99922af7fdd5b35348656c5","author":{"email":"ed5b18bb2a24124d713b552f5236325f567824ec@gmail.com","name":"Emmanuel Utomi"},"message":"cpu_input_boost: Implement IDLE boost state\n\nPreviously, there were only two states (boost and unboost). They are handled in a CPU notifier, meaning that they will boost/unboost everytime there is a policy update, rather than when there is a boost queued. So introducing this intermediary state will prevent events from occuring when they weren't called.\n\nIn my edit of this driver, this also prevents the stored user minfreq from being overwritten by the current boost freq (because multiple boosts may be called right after each other before an unboost).","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/2bfa6a4dd42864bcf99922af7fdd5b35348656c5"},{"sha":"af1c5f0d423cf8e56e994262a7bd784bf344ab11","author":{"email":"75919d8a40657e7c4b73dbcdaee163d56b6efc07@gmx.com","name":"Igor"},"message":"Unify README","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/af1c5f0d423cf8e56e994262a7bd784bf344ab11"},{"sha":"9e2c73469f95440fb03e8fcf174da5db7f651b41","author":{"email":"75919d8a40657e7c4b73dbcdaee163d56b6efc07@gmx.com","name":"Igor"},"message":"Revert \"Stock-KK Camera Drivers\"\n\nThis reverts commit 0b635b385b05b1708f3ff3aabe68f2c2c37b9b47.","distinct":false,"url":"https://api.github.com/repos/gromikakao/e980-zeKrnl/commits/9e2c73469f95440fb03e8fcf174da5db7f651b41"}]}