[Nexus 4 Android Development] spezi77:
Change log Nougat:

R01

* Initial nougat release for AOSP and CM based ROMs

* no longer a separate build variant for BeanStalk

* no longer compiling with TC-7.0 (I never heard by anyone that they felt a difference incl. myself) -> compiled with UBER TC 5.4.1

* no longer franco's gamma control by franco -> faux123 gamma control

* incl. security patches from October 2016 (fix CVE-2016-3857, CVE-2016-5340, etc.)

R02

* Manual rebase of HellSpawn on the basic nougat kernel which is the built-in kernel in my NeXus4ever ROM

* This build allows to switch the SELinux mode between permissive and enforcing (you can do this with Kernel Adiutor)

* Added a new build variant for Fake nexus ROM (incl. cpuset feature) as requested by [MENTION=3118524]xenyz[/MENTION]

* Omitted a few unnecessary things, e.g.: toggleable software crc, custom sound control, disable IO stats per default, Lock initial TCP window size to 64k, interactive CPU governor mods, impulse CPU governor, mpdecision based hotplug (Bricked), etc.

* Added the latest security patches from November 2016, e.g.: mm: remove gup_flags FOLL_WRITE games from __get_user_pages()

* Doubletap2wake/power suspend support incl. profiles (Center, Full screen, Bottom half, Top half)

* DT2W: fire a small vibration when device is woken up

R03

* Add franco sound control

* Fix SELinux toggle

* This time we really use sd-card filesystem

* Change max readahead size to 512KB

* Revise GPU normal- & overclock frequencies: ... 400MHz, 487MHz

* Optimize apply_slack() for size and speed -- http://lkml.indiana.edu/hypermail/linux/kernel/1201.3/03172.html

* Add latest fixes from franco's nexus 5 kernel

R03 hotfix: solve battery drain while device is in IDLE

* Revert faulty commits (smpboot) which prevent the device from entering deep sleep

R04

* cpufreq: ondemand: MICRO_FREQUENCY_MIN_SAMPLE_RATE to 10K (return to a more sane default value)

* merged latest updates from security bulletin

* USB: msm_otg: Fix a bug in charger detection procedure

* USB: msm_otg: Fix host mode suspend bug

R05

* Linux 3.4.113

* Switch toolchain to uber/arm-eabi-6.x (more details: https://github.com/spezi77/hellspawn...ba15b6cc23629b)

Change log Marshmallow:

r01

* Initial beta release for CM (based on hells-Core N4 kernel b88-M)

* Add MSM OTG hack (ziddey/Chad Froebel/faux123)

* Use simplified thermal driver (franciscofranco)

* Add gamma control (franciscofranco)

* Add tweaks and optimizations from Quanta-Mako kernel (zaclimon)

* Add support for android-gadget-keyboard (zaclimon)

r02

* Beta Release for AOSP/CM

* Add Qualcomm Slimbus driver and use tweaks (CallMeAldy)

* Add fsync on/off support (franciscofranco)

* Add relaxed power savings from NVIDIA (experimental) (Tk-Glitch/zaclimon)

* Add ElementalX CPU governor (flar2)

r03

* Beta Release for AOSP/CM

* CPU-boost: add wake up boost, input boost and minor improvements (neobuddy89)

* Mako-hotplug: add toggle

r04

* Stable Release for AOSP/CM

* Fix USB problem: copying files via MTP was not working (at least in my device)

* Apply marshmallow patch by Dmitry Grinberg (Updated from flo: partialresume, uid-cputime, kernel wakeup reasons)

* MPDecision disabled per default

* Anykernel: disabled ramdisk patcher for now

r05

* Stable Release for AOSP/CM and each variant compiled with UBER TC 4.9.x and 5.3.x

* Partial revert of marshmallow patch by Dmitry Grinberg

* Remove CPU BOOST (caused battery drain and potential conflicts with mako hotplug)

* Add Simple GPU governor (faux123)

* Anykernel: re-enabled ramdisk patcher

r06

* Stable Release for AOSP/CM and each variant compiled with UBER TC 4.9.x and 5.3.x

* Added bricked hotplug driver as alternative (showp1984)

* Replaced franco's simplified thermal driver with bricked thermal driver (showp1984)

* Added more CPU governors: slim (based a lot on elementalX), badass (power-efficient)

* Anykernel: many improvements

r07

* Stable Release for AOSP/CM and each variant compiled with UBER TC 4.9.x and 5.3.x

* Added AutoSMP hotplug driver

* Added PegasusQ CPU governor and removed Slim governor

* Anykernel: set AutoSMP as default while other hotplug driver remain disabled

r08

* From now on the kernel is also compatible to CM-13.0 based roms (thanks to [MENTION=3003389]redj12[/MENTION] and [MENTION=6635194]MrRisan[/MENTION] for making me aware of that)

* In order to reduce build time, future builds will always use UBER TC 5.3.x, and ensure compatiblity with AOSP, BS and CM based roms

* Added upstream fixes from CM-13 to improve compatibility and stability

r09

* In order to offer greater flexibility, future builds will always use UBER TC 5.3.x (stable & battery-friendly) and TC 7.0 (experimental)

* Disable msm_mpdecision/bricked hotplug

* Add Alucard Hotplug & introduce Alucard CPU governor

* Enable 487.5 Mhz GPU Overclocking (experimental)

r10

* Fix video recording feature (Thanks to you for letting me about this issue!)

* Add Zen Decision Hotplug (Details. Thanks bbedward)

* Add Smartmax CPU governor (Based on OnDemand & SmartAss2; Usage scenario: Power-efficiency)

* Add powersuspend: new PM kernel driver for Android w/o early_suspend (Thanks yank555-lu & faux123)

* Add further wakelock knobs (Thanks franciscofranco):

** wakeup: add toggle for bluesleep wakelock

** wakeup: add toggle for bluedroid_timer wakelock

** wakeup: add toggles for wlan wakelocks. They are all enabled by default, it's up to the user to turn them off.

* Add quickwakeup (Thanks txuki2005 for discovery.):

** Allow kernel driver to do periodic jobs without resuming the full

system. This option can increase battery life on android powered

smartphone.

r9.5

* In order to reduce battery drain (introduced in r10) I decided to

** Exclude new PM kernel driver for Android w/o early_suspend

** Exclude zen_decision

* Remove the ultra-low CPU frequencies to prevent bad UX

r11 (official)

* Fixed headset not being recognized

* Reduced logspam (nf: uid field in the msg) (big thanks [MENTION=4329165]ivanich[/MENTION] for pointing this out)

* Added quite a few tweaks & performance improvements used in franciscofranco's msm-kernel (flo) and ion-storm's Unleashed-N4 kernel

* Replaced deprecated earlysuspend hooks with lcd notify

* msm-sleeper: upgrade to version 2 (thanks flar2) & change to use lcd-notifier.

* Updates for CPU hotplug drivers

** ALUCARD_HOTPLUG: Implemented use msm rq stats. fixed issue with min. CPUs online.

** zen decision: re-introduce & deactivate battery threshold (like lightning!) (big thanks [MENTION=5311064]txuki2005[/MENTION] for pointing me to a version that has been adapted to 3.4.x branch)

* Updates for CPU governors

** Abandon badass: causes too much UI stuttering/scrolling lags

** Ondemand: use optimizations from Semaphore kernel (credits stratosk)

** Smartmax: update for battery savings. Hotfix NULL pointer dereference.

** Introduce Impulse governor (Experimental) (credits neobuddy89)

** Introduce intelliminmax (credits faux123): intellimm governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations.

** Intellimm: fully sync w/dorimanx

** Alucard: tune for performance and to reduce idle drain. enable io is busy on alucard.

** Introduce Interactive: reduce timer with screen off (might be interesting for people who are listening music and experience audio issues due to measures for power saving while screen is off)

r11 dev notes:

I have tried many things & tested a lot of different configurations recently, e.g. to add back cpuboost driver, and also to add msm_limiter (replacement for msm_sleeper). Also worth to mention.. I have stabilized intelli_plug, which was temporarily added into r11-test-builds, but then it turned out that it has had impacts on the overall performance.. all those cool stuff didn't help to further improve this kernel, so I decided to abandon it in the official r11 build.

At this point I would like to thank two awesome guys: [MENTION=5796730]dragos281993[/MENTION] [MENTION=5337411]Cristiano Lira[/MENTION] who supported me extremely with testing and help me on the right track! BTW, I am constantly measuring changes with help of Antutu and my own eyes.. ;)

Rumors:

Last but not least.. You might be interested in learning about how my "experiments" with lazyplug have went. Well, there is not much to say, except for it didn't work. And hence I decided to give up.

r12

* Fix camera crash (thanks zaclimon).

* Improve battery life and phone sleep state by revert lcd_notify.

* Add system wide Linaro lsk-v3.10 based workqueues aligned towards power saving.

* Patch to Linux 3.4.112

* Add tweaks from mirage kernel (thanks mrg666)

r13 (official)

* Merge UPSTREAM fixes from msm-flo-3.4-mm-mr2

* Add a few performance tweaks from mirage kernel (thanks mrg666)

* Add latest version of dyn_hotplug from stratosk (lollipop branch)

* Switch to latest ubertc 5.4.1

* cpufreq: interactive: Use hellsgod's defaults

* cpufreq: conservative: add back cpufreq_notify_utilization. Required to work with mako_hotplug.

* Remove impulse, thunderX & thunderplug

r14 (official)

* Add interactive updates from myfluxi

* Merge July bulletin fixes (thanks CM & thanks [MENTION=5311064]txuki2005[/MENTION])

r15 (official)

* Fix for deep sleep issue/kernel panic by making a revert of smpboot related commits

* cpufreq: interactive: set timer_rate to 60ms on screen off (previously 50ms) (thanks franco)

* Performance improvements (thanks franco)

* Faster boot up through increased timer frequency (thanks franco)

* Set rate to 250 Hz for mako (thanks zaclimon)

r16 (official)

* Included CPU governor stockdemand

* Added Voltage interface for GPU

* GPU: Add 27MHz GPU idle frequency for battery savings

* Power-efficiency: series of power efficiency patches from NVIDIA

* Many tweaks for stability and to reduce lags/improve battery life

* Enable quickwakeup driver

* AIO: Optimization for SSD-only machines

* Security patches: crypto: arm/aes update NEON AES module to latest OpenSSL version

* RAM optimizations: enable KSM and KSM check page

* Disable OOB interrupt when WLAN is off

* dyn_hotplug: optimize for performance

r17 test (currently only for AOSP and BS ROM)

* Security update: Fix CVE-2016-5340 (Quadrooter Vulnerability)

* A few performance related enhancements (sched_clock, framebuffer imageblit function)

* Add toggle to control software CRC

* Updated the kernel installer script to reduce logcat spam (powerhal) and to disable mpdecision / thermald

r18 (official) CM COMPATIBLE

* Revert: CPU governor stockdemand (not working with CM-based ROMs)

* Revert: updates for kernel installer script (not working with CM-based ROMs)

* Revert: series of power efficiency patches from NVIDIA (has introduced a performance decrease)

* Ondemand patch: update frequency when limits are relaxed (currently ondemand doesn't do that when limits are relaxed, wasting power on systems with relatively low sampling rate.)

* AIO SSD ONLY: enable the SSD-only optimization for the Linux Asynchronous IO

framework.