[HTC U11  ROMs, Kernels, Recoveries, & Other Develo] Freak07:
UPDATE!!!!

hey guys and girls!

I know it´s been a few days since I said I will update the kernel. I found a few things I was not content with.

So I rebased the kernel completely and did everything EAS related again from scratch. This took many hours so please try this kernel and enjoy it :)

The Changelog would be far to long for this post. AAh scratch that, I will post it with HIDE feature (poor users from xda app :D )

f7d5334 EAS Cleanup: Remove remants of "cpu isolation awareness"

31ebe05 cpufreq: Restore policy min/max limits on CPU online

8909da8 cpufreq: Fix and clean up show_cpuinfo_cur_freq()

0363b72 init/Kconfig: fixup after cleanup

2b1ff6f mqueue: fix a use-after-free in sys_mq_notify()

cea1485 ipc/shm: Fix shmat mmap nil-page protection

52b88d3 ipc/sem.c: fix complex_count vs. simple op race

6c13062 msm: move printk out of spin lock low_water_lock

e075ed8 msm8998.dtsi: Adjust energy model for unused idle states

13e98ca EAS Cleanup: android/lowmemorykiller: Ignore tasks with freed mm

fdeb39c EAS Cleanup: Further cleanup, Deus Ex, The Return 2, the sequel

3396ed1 arm: Fix build error "conflicting types for 'scale_cpu_capacity'"

4a9bf92 tracing: Fix kmemleak in instance_rmdir

519a83e ring-buffer: Have ring_buffer_iter_empty() return true when empty

b532458 ring-buffer: Fix return value check in test_ringbuffer()

bd874fc ftrace: Fix uninitialized variable in match_records()

3177939 ftrace: Fix removing of second function probe

09e2c61 sysctl: handle error writing UINT_MAX to u32 fields

679a487 kernel/sysctl.c: Add back entries after ACK4.4 Bringup

27b3ba15 PM / Domains: Fix unsafe iteration over modified list of domain providers

f6b4ae2 PM / Domains: Fix unsafe iteration over modified list of device links

1248222 Revert "perf/core: Drop kernel samples even though :u is specified"

9d025ba signal: Only reschedule timers on signals timers have sent

f274f00 sched: Enable might_sleep before initializing drivers.

37cb84a sched/topology: Optimize build_group_mask()

cea65da sched/topology: Fix overlapping sched_group_mask

99befe0 ptrace: Properly initialize ptracer_cred on fork

7ba02d7 ptrace: fix PTRACE_LISTEN race corrupting task->state

0094303 ptrace: Capture the ptracer's creds not PT_PTRACE_CAP

cb10384 init/Kconfig: Add back HAVE_HARDENED_USERCOPY_ALLOCATOR

a519815 pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes

82fb410 padata: free correct variable

00ff730 padata: avoid race in reordering

1ad9843 mm: fix devm_memremap_pages crash, use mem_hotplug_{begin, done}

c33e303 Fix: Disable sys_membarrier when nohz_full is enabled

73ef4be locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()

93fee44 locking/rtmutex: Prevent dequeue vs. unlock race

67c263a tracing/kprobes: Enforce kprobes teardown after testing

7d2cd31 kexec: fix double-free when failing to relocate the purgatory

7c8db5c genirq: Release resources in __setup_irq() error path

dfdadd7 genirq/generic_chip: Add irq_unmap callback

3a61f5d pid_ns: Fix race between setns'ed fork() and zap_pid_ns_processes()

0b405ed mm: Add a user_ns owner to mm_struct and fix ptrace permission checks

943948b kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd

26c4d8c mm: introduce get_task_exe_file

7dfa24b kernek/fork.c: allocate idle task for a CPU always on its local node

57f5638 wait/ptrace: assume __WALL if the child is traced

58df81b perf/core: Drop kernel samples even though :u is specified

77f39aa perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race

eb68025 perf/core: Fix event inheritance on fork()

3de12b3 perf/core: Fix PERF_RECORD_MMAP2 prot/flags for anonymous memory

cd73698 perf/core: Fix pmu::filter_match for SW-led groups

0c819dc kernel/debug/debug_core.c: more properly delay for secondary CPUs

7682027 Fix build warning in kernel/cpuset.c

14ee2d8 cpuset: make sure new tasks conform to the current config of the cpuset

97c8bf3 exec: Ensure mm->user_ns contains the execed files

6e7dc6e ptrace: Capture the ptracer's creds not PT_PTRACE_CAP

5d383a5 BACKPORT: audit: consistently record PIDs with task_tgid_nr()

b47f3a8 rcu: Fix soft lockup for rcu_nocb_kthread

07568fe stable-fixup: hotplug: fix unused function warning

29e2a51 hotplug: Make register and unregister notifier API symmetric

64f2870 UPSTREAM: cpu/hotplug: Handle unbalanced hotplug enable/disable

9a00026 Revert "sched: Remove synchronize rcu/sched calls from _cpu_down"

fb6ccaa futex: Add missing error handling to FUTEX_REQUEUE_PI

72e9710 futex: Fix potential use-after-free in FUTEX_REQUEUE_PI

d56ef5d0 futex: Move futex_init() to core_initcall

9acc6c6 Use after free from pid_nr_ns()

fcb9aa9 sched/fair: Add a backup_cpu to find_best_target

ae4ad4a sched/fair: Try to estimate possible idle states.

ca9b887 sched/fair: Sync task util before EAS wakeup

8613c1c Revert "sched/fair: ensure utilization signals are synchronized before use"

dfd6460 sched/fair: kick nohz idle balance for misfit task

bec65a3 sched/fair: Update signals of nohz cpus if we are going idle

49ce103 events: add tracepoint for find_best_target

96bf13f sched/fair: streamline find_best_target heuristics

cf19cc0 Makefile: Support CRC and Crypto hardware instructions

ead11ae update:Makefile

3536496 cpuidle: don't disable cpuidle when entering suspend

8b95aa21 cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter()

2fbfdc8 cpuidle: Indicate when a device has been unregistered

cfcb7ad cpuidle: Wakeup only cpus for which qos has changed.

184da33 cpuset: consider dying css as offline

88e1de0 CHROMIUM: cgroups: relax permissions on moving tasks between cgroups

b1078ac cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups

34b3982 EAS: Further Cleaup

2559188 Build Fixes for EAS Bringup (TEMP - DO NOT MERGE)

6dad8d3 UPSTREAM: cpufreq: schedutil: Trace frequency only if it has changed

acc4bde UPSTREAM: cpufreq: schedutil: Avoid reducing frequency of busy CPUs prematurely

33a959c UPSTREAM: cpufreq: schedutil: Refactor sugov_next_freq_shared()

92cf9e8 UPSTREAM: cpufreq: schedutil: Fix per-CPU structure initialization in sugov_start()

390f14f UPSTREAM: cpufreq: schedutil: Pass sg_policy to get_next_freq()

2784307 UPSTREAM: cpufreq: schedutil: move cached_raw_freq to struct sugov_policy

5c86e64 UPSTREAM: cpufreq: schedutil: Rectify comment in sugov_irq_work() function

71e0d0e UPSTREAM: cpufreq: schedutil: irq-work and mutex are only used in slow path

2eb3286 UPSTREAM: cpufreq: schedutil: enable fast switch earlier

8249f0d SCHED: SCHEDUTIL: Fix tunables not sticking after core going offline

6b29e4d UPSTREAM: cpufreq: schedutil: Avoid indented labels

a9f5bc0 cpufreq/sched: Use cpu max freq rather than policy max

2537a5b sched: walt: fix window misalignment when HZ=300

47624bd drivers/cpufreq/Kconfig: Fix CPU_BOOST compilation

2fea424 msm8998.dtsi: Add in dummy Energy Model

78a1565 Revert "sched: Add userspace interface to set PF_WAKE_UP_IDLE"

decd425 Revert "sched: colocate related threads"

1035eb0 EAS: Cleanup from massive revert of kernel/sched

a3430d1 include/linux/sched.h: Add back dump_fd_leak

ac07fd9 Revert "tracing/sched: Add trace events to track cpu hotplug."

df7b4c6 Revert "sched: Add per CPU load tracking for each task"

6f545a0 Revert "sched/hmp: Fix memory leak when task fork fails"

d20bc67 schedstats/eas: guard properly to avoid breaking non-smp schedstats users

dfb268a sched/tune: don't use schedtune before it is ready

caa6414 sched/fair: use SCHED_CAPACITY_SCALE for energy normalization

8636510 sched/{fair,tune}: use reciprocal_value to compute boost margin

b66b97e sched/tune: Initialize raw_spin_lock in boosted_groups

b71635e sched/tune: report when SchedTune has not been initialized

f26f60b sched/tune: fix sched_energy_diff tracepoint

0a29828 sched/tune: increase group count to 5

8dfd818 cpufreq/schedutil: use boosted_cpu_util for PELT to match WALT

f548b70 sched/fair: Fix sched_group_energy() to support per-cpu capacity states

1439e83 sched/fair: discount task contribution to find CPU with lowest utilization

34fd54b sched/fair: ensure utilization signals are synchronized before use

5567ca0 sched/fair: remove task util from own cpu when placing waking task

4e1cadc trace:sched: Make util_avg in load_avg trace reflect PELT/WALT as used

cc30c10 sched/fair: Add eas (& cas) specific rq, sd and task stats

e9eb345 sched/core: Fix PELT jump to max OPP upon util increase

5509c3d sched: EAS & 'single cpu per cluster'/cpu hotplug interoperability

7156af5 UPSTREAM: sched/core: Fix group_entity's share update

aa0b9e4 UPSTREAM: sched/fair: Fix calc_cfs_shares() fixed point arithmetics width confusion

3ecf3b3 UPSTREAM: sched/fair: Fix incorrect task group ->load_avg

22c8ff7 UPSTREAM: sched/fair: Fix effective_load() to consistently use smoothed load

1ac2202 UPSTREAM: sched/fair: Propagate asynchrous detach

fc7fb55 UPSTREAM: sched/fair: Propagate load during synchronous attach/detach

967a6a2 UPSTREAM: sched/fair: Fix hierarchical order in rq->leaf_cfs_rq_list

a465cca BACKPORT: sched/fair: Factorize PELT update

a955c76 UPSTREAM: sched/fair: Factorize attach/detach entity

cd1b519 UPSTREAM: sched/fair: Improve PELT stuff some more

5f6f49d UPSTREAM: sched/fair: Apply more PELT fixes

05e0b29 UPSTREAM: sched/fair: Fix post_init_entity_util_avg() serialization

3be2612 BACKPORT: sched/fair: Initiate a new task's util avg to a bounded value

fd9a51c sched/fair: Simplify idle_idx handling in select_idle_sibling()

e157135 sched/fair: refactor find_best_target() for simplicity

0d79caf sched/fair: Change cpu iteration order in find_best_target()

212718b sched/core: Add first cpu w/ max/min orig capacity to root domain

b3e92a7 sched/core: Remove remnants of commit fd5c98da1a42

3456d9a sched: Remove sysctl_sched_is_big_little

d240f4a sched/fair: Code !is_big_little path into select_energy_cpu_brute()

72b3ace EAS: sched/fair: Re-integrate 'honor sync wakeups' into wakeup path

f6f596c Fixup!: sched/fair.c: Set SchedTune specific struct energy_env.task

71a6095 sched/fair: Energy-aware wake-up task placement

3967e4c sched/fair: Add energy_diff dead-zone margin

0574696 sched/fair: Decommission energy_aware_wake_cpu()

ee5b916 sched/fair: Do not force want_affine eq. true if EAS is enabled

dbe5511 arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level

c545e9a UPSTREAM: sched/fair: Fix incorrect comment for capacity_margin

c73b4ac UPSTREAM: sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups

7425f02 UPSTREAM: sched/fair: Add per-CPU min capacity to sched_group_capacity

bf9a81d UPSTREAM: sched/fair: Consider spare capacity in find_idlest_group()

cb3d815 UPSTREAM: sched/fair: Compute task/cpu utilization at wake-up correctly

b7defda UPSTREAM: sched/fair: Let asymmetric CPU configurations balance at wake-up

5e263b3 UPSTREAM: sched/core: Enable SD_BALANCE_WAKE for asymmetric capacity systems

7bce221 UPSTREAM: sched/core: Pass child domain into sd_init()

e260e407 UPSTREAM: sched/core: Introduce SD_ASYM_CPUCAPACITY sched_domain topology flag

187235f UPSTREAM: sched/core: Remove unnecessary NULL-pointer check

48e1d75 UPSTREAM: sched/fair: Optimize find_idlest_cpu() when there is no choice

2c809ab BACKPORT: sched/fair: Make the use of prev_cpu consistent in the wakeup path

56b8cc2 UPSTREAM: sched/core: Fix power to capacity renaming in comment

b833450 Partial Revert: "WIP: sched: Add cpu capacity awareness to wakeup balancing"

7ca3ed4 Revert "WIP: sched: Consider spare cpu capacity at task wake-up"

6e177cb FROM-LIST: cpufreq: schedutil: Redefine the rate_limit_us tunable

8da632a cpufreq: schedutil: add up/down frequency transition rate limits

e63dbad trace/sched: add rq utilization signal for WALT

037bf14 sched/cpufreq: make schedutil use WALT signal

217d561 sched: cpufreq: use rt_avg as estimate of required RT CPU capacity

8ae2ab4 cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task

6afd39c BACKPORT: kthread: allow to cancel kthread work

7b485f4 sched/cpufreq: fix tunables for schedfreq governor

c939485 BACKPORT: cpufreq: schedutil: New governor based on scheduler utilization data

5526de1 sched: backport cpufreq hooks from 4.9-rc4

d5ae0f2 sched/fair: Initialize throttle_count for new task-groups lazily

4c60f4b sched/fair: Do not announce throttled next buddy in dequeue_task_fair()

5489b3d sched/rt: Add a missing rescheduling point

deab200 ANDROID: sched: fix duplicate sched_group_energy const specifiers

67c8ba3 DEBUG: sched/fair: Fix sched_load_avg_cpu events for task_groups

b2c70a2 DEBUG: sched/fair: Fix missing sched_load_avg_cpu events

68a4352 sched/walt: kill {min,max}_capacity

c493282 sched: tune: Fix lacking spinlock initialization

d56eaab cpufreq: sched: Fix kernel crash on accessing sysfs file

407cdf0 cgroup: Remove leftover instances of allow_attach

4d2b9d6 CHROMIUM: remove Android's cgroup generic permissions checks

6079f48 sched/core: Fix a race between try_to_wake_up() and a woken up task

c75e2a8 sched: Add Kconfig option DEFAULT_USE_ENERGY_AWARE to set ENERGY_AWARE feature flag

43973f6 sched/fair: remove printk while schedule is in progress

dc88375 sched/walt: Drop arch-specific timer access

1061814 eas/sched/fair: Fixing comments in find_best_target.

e430bbf sched/numa: Fix use-after-free bug in the task_numa_compare

91072fe FIXUP: sched/tune: update accouting before CPU capacity

1b851fe FIXUP: sched/tune: add fixes missing from a previous patch

7096903 sched/walt: use do_div instead of division operator

70dbdf1 sched/walt: include missing header for arm_timer_read_counter()

1b65f84 sched/nohz: Fix affine unpinned timers mess

bcd2298 sched/cputime: Fix NO_HZ_FULL getrusage() monotonicity regression

4ce35b6 sched/fair: Avoid redundant idle_cpu() call in update_sg_lb_stats()

47a6da3 FIXUP: sched: scheduler-driven cpu frequency selection

a095545 kernel/sched/rt.c: Add back missing changes

73efb36 sched/rt: print RT tasks when RT throttling is activated

f17097a UPSTREAM: sched: Fix a race between __kthread_bind() and sched_setaffinity()

4a7024f sched/fair: Favor higher cpus only for boosted tasks

a0071c6 kernel/sched/idle.c: Add back changes made before massive revert of CAF/HMP Changes

125b0f4 sched/fair: call OPP update when going idle after migration

51a9cf3 sched/cpufreq_sched: fix thermal capping events

d614e80 sched/fair: Picking cpus with low OPPs for tasks that prefer idle CPUs

a54dc31 FIXUP: sched/tune: do initialization as a postcore_initicall

759656b1 DEBUG: sched: add tracepoint for RD overutilized

9f5e32f sched/tune: Introducing a new schedtune attribute prefer_idle

0ee2b14 sched: use util instead of capacity to select busy cpu

ee46ceb arch_timer: add error handling when the MPM global timer is cleared

b73d4ea FIXUP: sched: Fix double-release of spinlock in move_queued_task

965a2c4 FIXUP: sched/fair: Fix hang during suspend in sched_group_energy

3c0cdc7 FIXUP: sched: fix SchedFreq integration for both PELT and WALT

d8b1aae sched: EAS: Avoid causing spikes to max-freq unnecessarily

a96a254 FIXUP: sched: fix set_cfs_cpu_capacity when WALT is in use

c4dc4cf sched/walt: Accounting for number of irqs pending on each core

478ef1d sched: Introduce Window Assisted Load Tracking (WALT)

d5e7c14 sched/tune: fix PB and PC cuts indexes definition

23f443d sched/fair: optimize idle cpu selection for boosted tasks

4d95efd FIXUP: sched/tune: fix accounting for runnable tasks

e565a11 sched/tune: use a single initialisation function

372891b sched/{fair,tune}: simplify fair.c code

380d211 FIXUP: sched/tune: fix payoff calculation for boost region

51cc639 sched/tune: Add support for negative boost values

ed5be6b FIX: sched/tune: move schedtune_nornalize_energy into fair.c

adc0e0c FIX: sched/tune: update usage of boosted task utilisation on CPU selection

72bb28d sched/fair: add tunable to set initial task load

c32e182 sched/fair: add tunable to force selection at cpu granularity

4af7fd0 sched: EAS: take cstate into account when selecting idle core

9ac6e44e5 sched/cpufreq_sched: Consolidated update

296dc86 FIXUP: sched: fix build for non-SMP target

7c7c5b3 DEBUG: sched/tune: add tracepoint on P-E space filtering

ec4d1e8 DEBUG: sched/tune: add tracepoint for energy_diff() values

c42b0a1 DEBUG: sched/tune: add tracepoint for task boost signal

3d52004 CHROMIUM: sched: update the average of nr_running

e799f3a sched/fair: Fix effective_load() to consistently use smoothed load

4c2e27d kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w

50d554d sched/fair: Fix cfs_rq avg tracking underflow

17f096f sched: panic on corrupted stack end

988e9d6 sched/loadavg: Fix loadavg artifacts on fully idle and on fully loaded systems

b389ac3 DEBUG: schedtune: add tracepoint for schedtune_tasks_update() values

73e13e1 DEBUG: schedtune: add tracepoint for CPU boost signal

43ea397 DEBUG: schedtune: add tracepoint for SchedTune configuration update

7bdb328 DEBUG: sched: add energy procfs interface

3375c0f DEBUG: sched,cpufreq: add cpu_capacity change tracepoint

a3dd00e DEBUG: sched: add tracepoint for CPU load/util signals

5bf93f5 DEBUG: sched: add tracepoint for task load/util signals

0980a9a DEBUG: sched: add tracepoint for cpu/freq scale invariance

f753b20 sched/fair: filter energy_diff() based on energy_payoff value

687effc sched/tune: add support to compute normalized energy

cc4adc6 sched/fair: keep track of energy/capacity variations

fa1dd6e sched/fair: add boosted task utilization

33bc33c sched/{fair,tune}: track RUNNABLE tasks impact on per CPU boost value

a3de387 sched/tune: compute and keep track of per CPU boost value

ad7a8fb sched/tune: add initial support for CGroups based boosting

7b34e11 sched/fair: add boosted CPU usage

8e8840e sched/fair: add function to convert boost value into "margin"

b8da63a sched/tune: add sysctl interface to define a boost value

5252c26 sched/tune: add detailed documentation

8454291 fixup! sched/fair: jump to max OPP when crossing UP threshold

8fdd8f6 fixup! sched: scheduler-driven cpu frequency selection

e3794b1 sched: rt scheduler sets capacity requirement

a0b8f11 sched: deadline: use deadline bandwidth in scale_rt_capacity

6e5e381 sched: remove call of sched_avg_update from sched_rt_avg_update

be0a09d sched/cpufreq_sched: add trace events

93b5aa8 sched/fair: jump to max OPP when crossing UP threshold

52a4943 sched/fair: cpufreq_sched triggers for load balancing

d0df7ff sched/{core,fair}: trigger OPP change request on fork()

bd54c27 sched/fair: add triggers for OPP change requests

b6ffd15 sched: scheduler-driven cpu frequency selection

3811e98 cpufreq: introduce cpufreq_driver_is_slow

edf0c3b sched: Consider misfit tasks when load-balancing

0e8ee25 sched: Add group_misfit_task load-balance type

6628e4c sched: Add per-cpu max capacity to sched_group_capacity

5eb2b67 sched: Do eas idle balance regardless of the rq avg idle value

3eaf538 arm64: Enable max freq invariant scheduler load-tracking and capacity support

ece65df arm: Enable max freq invariant scheduler load-tracking and capacity support

cb52a38 sched: Update max cpu capacity in case of max frequency constraints

63ae15d cpufreq: Max freq invariant scheduler load-tracking and cpu capacity support

5b9259d arm64, topology: Updates to use DT bindings for EAS costing data

d77f798 sched: Support for extracting EAS energy costs from DT

d42ae08 Documentation: DT bindings for energy model cost data required by EAS

e87ad90 sched: Disable energy-unfriendly nohz kicks

c24f9e5 sched: Consider a not over-utilized energy-aware system as balanced

192d1cb sched: Energy-aware wake-up task placement

bd45aed sched: Determine the current sched_group idle-state

3cb26ba sched, cpuidle: Track cpuidle state index in the scheduler

449e819 sched: Add over-utilization/tipping point indicator

315377c sched: Estimate energy impact of scheduling decisions

d02d1d8 sched: Extend sched_group_energy to test load-balancing decisions

3242b62 sched: Calculate energy consumption of sched_group

df78c2c sched: Highest energy aware balancing sched_domain level pointer

0c32f3e sched: Relocated cpu_util() and change return type

4dfd8ed sched: Compute cpu capacity available at current frequency

6c0013c arm64: Cpu invariant scheduler load-tracking and capacity support

59c8259 arm: Cpu invariant scheduler load-tracking and capacity support

b9a2820 sched: Introduce SD_SHARE_CAP_STATES sched_domain flag

3962ce1 sched: Initialize energy data structures

dfcb580 sched: Introduce energy data structures

65757e2 sched: Make energy awareness a sched feature

2a27811 sched: Documentation for scheduler energy cost model

3adcc94 sched: Prevent unnecessary active balance of single task in sched group

9ee0ee8 sched: Enable idle balance to pull single task towards cpu with higher capacity

d3581b5 sched: Consider spare cpu capacity at task wake-up

9e1b4cd sched: Add cpu capacity awareness to wakeup balancing

cc78719 sched: Store system-wide maximum cpu capacity in root domain

66fdf64 arm: Update arch_scale_cpu_capacity() to reflect change to define

1997de5 arm64: Enable frequency invariant scheduler load-tracking support

a471775 arm: Enable frequency invariant scheduler load-tracking support

e3a632e6 cpufreq: Frequency invariant scheduler load-tracking support

c4113b1 sched/fair: Fix new task's load avg removed from source CPU in wake_up_new_task()

4475dcf sched/cgroup: Fix/cleanup cgroup teardown/init

f5d8546 sched/cputime: Fix steal time accounting vs. CPU hotplug

b9f1947 sched/cputime: Fix steal_account_process_tick() to always return jiffies

46384b0 Rollback CAF/HMP changes to make way for ACK android-4.4 branch

33377c5 proc: Remove additional SafetyNet flags from /proc/cmdline

c764c83 proc: Remove verifiedbootstate flag from /proc/cmdline

bdc3294 Initial commit: HTC source oceanuhl-4.4.21-perf-gb52d306 1.03.401.6

it is still not perfect as EAS for 4.4 is a major WIP but it is better than 0.9 I feel. So this is a preview of whats to come for you all in the future.

Download: https://www.androidfilehost.com/?fid=745425885120753274

Instructions:

1. Download Zip

2. Backup your current setup in TWRP (system, data, boot)

3. Flash the kernel zip

4. reboot

5. set everything like in post #3 !! this is important

6. Enjoy your EAS kernel :)

Have fun with it! :)

Donations are not mandatory but very welcome.

If you like my work and want to buy me a coffee: http://paypal.me/freak07