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

Hey guys and girls,

So here is an update for the EAS kernel. So far both [MENTION=8395457]velimirchek[/MENTION] and me have run this for nearly 3 days and so far not a single reboot, crash or anything.

The kernel runs extremely smooth for both of us now :)

Changelog:

- Add bfq io scheduler for 4.4 kernel

- CAF security patches to cfq io scheduler

- reworked complete binder implementation ( greatly enhances inter process communication)

- update to EAS implementation

- added many commits from CAF to improve camera, display, soc, crypto, gpu etc

- patches to workqueue

- latest double squeeze wake/sleep patches from [MENTION=3088420]tbalden[/MENTION] big thanks to him!!

- CAF patches to ufs

- raised max bus freq for lowest GPU step to eliminate micro lags

Detailed Changelog:

b605d87 gpu: set initial_pwrlevels for maximal smoothness

b9691d9 update:eas_defconfig

dfac767 gpu:raise initial powerlevel, raise max bus freq

98025e3 squeeze wake sleep: adding nanohub events to support detection

c9df21d squeeze wake sleep: revert vibration time check length

10c08c7 squeeze wake sleep: an extra case added when wakelock reg delays

db4b5b4 squeeze wake sleep: time check corrected, sleep time lowered

67acf7d scsi: ufs: fix issue with scaling up gear

ae7dfbb scsi: ufs: scale up the gear in 2 steps

d71c0ab msm: kgsl: Use vma_area_struct with proper locks

8db1a14 phy: qcom-ufs-qmp-v3: use CDR DIV4 in all bands and fastlock

77387b3 phy: qcom-ufs-qmp-v3: fix UFS NOP Timeout

5483ad1 PM/devfreq: bw_hwmon: add mutex lock in polling interval case

e681755 msm: pcie: switch GPIO to sleep state before asserting PERST

c509817 ARM: dts: msm: add sleep state for PCIe WAKE for msm8998

90a1b45 soc: qcom: msm_bus: add rt mutex lock for cllist data

e57751f msm: mdss: fix memcpy source and dest memory buffer size mismatch

2331236 msm: kgsl: Allow draw context to perform only replay on recovery

7f7e221 soc: qcom: Request GFP_NOIO for effective memory reclaim

a96d145 msm: mdss: dsi: reset phy during idle screen

1bfaba5 msm: mdss: Ensure MDSS GDSC switched off during FB PM suspend

8de2e24 Perf: arm64: disable irq for hotplug offline

5fbb45b ASoC: msm: Update proper clock frequency for slave mode

9b91d3e msm: ipa: fix for wakelock refcnt

83a8cbc PM / devfreq: event: remove duplicate devfreq_event_get_drvdata()

a4c60b1e Make msm_serial_hs RT to improve bluetooth performance

c97af3d ANDROID: ARM64: smp: disable preempt in backtracing across all cores

99814b8 workqueue: implicit ordered attribute should be overridable

45d24da workqueue: restore WQ_UNBOUND/max_active==1 to be ordered

0d5ca77 tick: don't update idle time if cpu offline

9744db3 ANDROID: binder: don't queue async transactions to thread.

4039d7d ANDROID: binder: don't enqueue death notifications to thread todo.

d2c9bba ANDROID: binder: call poll_wait() unconditionally.

0a6f455 ANDROID: binder: Don't BUG_ON(!spin_is_locked()).

990ac8c ANDROID: binder: don't check prio permissions on restore.

ba12941 Add BINDER_GET_NODE_DEBUG_INFO ioctl

53770be ANDROID: binder: add RT inheritance flag to node.

8025d0d ANDROID: binder: improve priority inheritance.

53ecd6b ANDROID: binder: add min sched_policy to node.

d610c9d ANDROID: binder: add support for RT prio inheritance.

adef3d3 ANDROID: binder: push new transactions to waiting threads.

67d8de8 ANDROID: binder: remove proc waitqueue

a9915df FROMLIST: binder: remove global binder lock

58a3400 FROMLIST: binder: fix death race conditions

ad6232e FROMLIST: binder: protect against stale pointers in print_binder_transaction

e1f3971 FROMLIST: binder: protect binder_ref with outer lock

6118367 FROMLIST: binder: use inner lock to protect thread accounting

fc77bb7 FROMLIST: binder: protect transaction_stack with inner lock.

ad6ff8b FROMLIST: binder: protect proc->threads with inner_lock

d769f4b FROMLIST: binder: protect proc->nodes with inner lock

490a936 FROMLIST: binder: add spinlock to protect binder_node

ba63da0 FROMLIST: binder: add spinlocks to protect todo lists

0eb94e5 FROMLIST: binder: use inner lock to sync work dq and node counts

aafafc4 FROMLIST: binder: introduce locking helper functions

6038d0c FROMLIST: binder: use node->tmp_refs to ensure node safety

825101b FROMLIST: binder: refactor binder ref inc/dec for thread safety

44eecf7 FROMLIST: binder: make sure accesses to proc/thread are safe

7e814d3 FROMLIST: binder: make sure target_node has strong ref

d47e806 FROMLIST: binder: guarantee txn complete / errors delivered in-order

fe717d0 FROMLIST: binder: refactor binder_pop_transaction

5c1de75 FROMLIST: binder: use atomic for transaction_log index

073608a FROMLIST: binder: add more debug info when allocation fails.

19a6ca7 FROMLIST: binder: protect against two threads freeing buffer

5111bbd FROMLIST: binder: remove dead code in binder_get_ref_for_node

86f88ca FROMLIST: binder: don't modify thread->looper from other threads

ba64700 FROMLIST: binder: avoid race conditions when enqueuing txn

6e6cad8 FROMLIST: binder: refactor queue management in binder_thread_read

24b6c2f FROMLIST: binder: add log information for binder transaction failures

1c2a336 FROMLIST: binder: make binder_last_id an atomic

b183c9f FROMLIST: binder: change binder_stats to atomics

7276a8e FROMLIST: binder: add protection for non-perf cases

ebf15f9 FROMLIST: binder: remove binder_debug_no_lock mechanism

a6f8552 FROMLIST: binder: move binder_alloc to separate file

d107ef1 FROMLIST: binder: separate out binder_alloc functions

b5ca8c2 FROMLIST: binder: remove unneeded cleanup code

21e802b FROMLIST: binder: separate binder allocator structure from binder proc

b3c93e6 Revert "android: binder: Disable preemption while holding the global binder lock."

4a0eaad ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES.

f679fa3 Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic"

8b62f7c binder: use group leader instead of open thread

7ce883f arm64: strcmp: align to 64B cache line

3aa5880 Revert "binder: use group leader instead of open thread"

9d28781 Revert "ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES."

c85602d Revert "Revert "android: binder: Disable preemption while holding the global binder lock.""

cffcb35 Revert "android: binder: move global binder state into context struct."

68680d3 Revert "Revert "Revert "Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic""""

2079104 Revert "Revert "android: binder: move global binder state into context struct.""

50255d9 Revert "Revert "android: binder: Don't use sched_preempt_enable_no_resched.""

6de2608 Revert "Revert "android: binder: Use wake up hint for synchronous transactions.""

6f3e88b Revert "FROMLIST: binder: Use wake up hint for synchronous transactions."

3c56ddb Revert "FROMLIST: binder: separate binder allocator structure from binder proc"

f1ccb28 Revert "FROMLIST: binder: remove unneeded cleanup code"

a098b31 Revert "FROMLIST: binder: separate out binder_alloc functions"

e70e850 Revert "FROMLIST: binder: move binder_alloc to separate file"

2dcd97e Revert "FROMLIST: binder: remove binder_debug_no_lock mechanism"

8fa4a44 Revert "FROMLIST: binder: add protection for non-perf cases"

96bd7ef Revert "FROMLIST: binder: change binder_stats to atomics"

ebb33b3 Revert "FROMLIST: binder: make binder_last_id an atomic"

a47336a Revert "FROMLIST: binder: add log information for binder transaction failures"

761f955 Revert "FROMLIST: binder: refactor queue management in binder_thread_read"

56fcb87 Revert "FROMLIST: binder: avoid race conditions when enqueuing txn"

764ced9 Revert "FROMLIST: binder: don't modify thread->looper from other threads"

e838db2 Revert "FROMLIST: binder: remove dead code in binder_get_ref_for_node"

d0de69c Revert "FROMLIST: binder: protect against two threads freeing buffer"

08adb52 Revert "FROMLIST: binder: add more debug info when allocation fails."

642735b Revert "FROMLIST: binder: use atomic for transaction_log index"

d53ab3c Revert "FROMLIST: binder: refactor binder_pop_transaction"

6c2c6bd Revert "FROMLIST: binder: guarantee txn complete / errors delivered in-order"

5a41d1e Revert "FROMLIST: binder: make sure target_node has strong ref"

6f09742 Revert "FROMLIST: binder: make sure accesses to proc/thread are safe"

6921505 Revert "FROMLIST: binder: refactor binder ref inc/dec for thread safety"

3792d1a Revert "FROMLIST: binder: use node->tmp_refs to ensure node safety"

b0f5fb9 Revert "FROMLIST: binder: introduce locking helper functions"

eb48280 Revert "FROMLIST: binder: use inner lock to sync work dq and node counts"

b9836b7 Revert "FROMLIST: binder: add spinlocks to protect todo lists"

b357455 Revert "FROMLIST: binder: add spinlock to protect binder_node"

ec0a350 Revert "FROMLIST: binder: protect proc->nodes with inner lock"

bd87d49 Revert "FROMLIST: binder: protect proc->threads with inner_lock"

96f859f Revert "FROMLIST: binder: protect transaction_stack with inner lock."

47fa444 Revert "FROMLIST: binder: use inner lock to protect thread accounting"

d86bbe2 Revert "FROMLIST: binder: protect binder_ref with outer lock"

4f6d96c Revert "FROMLIST: binder: protect against stale pointers in print_binder_transaction"

0afc09f Revert "FROMLIST: binder: fix death race conditions"

125d283 Revert "FROMLIST: binder: remove global binder lock"

728665a Revert "ANDROID: binder: remove proc waitqueue"

ce9b976 Revert "ANDROID: binder: push new transactions to waiting threads."

954341f Revert "ANDROID: binder: add support for RT prio inheritance."

58cd4e0 Revert "ANDROID: binder: add min sched_policy to node."

f5df37d Revert "ANDROID: binder: improve priority inheritance."

e3e4a4c Revert "ANDROID: binder: add RT inheritance flag to node."

36d23cf Revert "Add BINDER_GET_NODE_DEBUG_INFO ioctl"

b0c8f94 Revert "ANDROID: binder: don't check prio permissions on restore."

ecac899 Revert "ANDROID: binder: Don't BUG_ON(!spin_is_locked())."

8657d45 Revert "ANDROID: binder: call poll_wait() unconditionally."

b7677df Revert "ANDROID: binder: don't enqueue death notifications to thread todo."

f0a996d Revert "ANDROID: binder: don't queue async transactions to thread."

aee963c update:eas_defconfig

dd9ebd0 Revert "qcdev: Check the digest length during the SHA operations"

ca972c4 msm: kgsl: Fix the syncpoint_fence trace

8fe36ff diag: Free the read workqueue structure to avoid memory leak

abfa0c4 diag: Process glink buffers in workqueue context

93b0119 diag: Synchronize msg mask read and write on a peripheral

882a55b diag: Add protection while processing non-hdlc packets

fbcf84e diag: Add proper checks to fix possible out-of-bound issue

e9766a0 diag: Open glink channels in workqueue context

d45e25a diag: Remove BOM in file

0b89140 diag: Synchronize command registration table access

c879fdf diag: dci: Validate dci client entries prior to access

0fdea4f diag: dci: Add protection while querying event status

8a29571 diag: Add proper synchronization checks to msg mask table

d86e3b0 spcom: ignore CONNECTED notification while closing the channel

35a28fd spcom: check error from ion_import_dma_buf()

f104623 spcom: silent error messages until spss link is up

0d81f0a spcom: avoid user commands via /dev/spcom

872a40f spcom: always wait for glink LOCAL_DISCONNECT event after glink_close()

e96113a f_gsi: Use kernel buffer instead of user space provided buffer

dcd14fa msm: ipa: fix security issues in ipa wan driver

c20c737 msm: ipa: prevent string buffer overflows

9eec418 msm: mdss: fix the use after free problem in rotator ioctl

8ec9151 msm: mdss: Fix possible leaks in PP LUT get functions

f0a2708 qseecom: add bus scaling support for GP operations

45953d5 qseecom: use strnlen in qseecom_start_app

0164fd2 power: qcom: qpnp-fg-gen3: add missing break in switch statement

f54da7f qcdev: Check the digest length during the SHA operations

1a5f307 crypto: Change format specifier %p to %pK

be717c5 msm:ipa: Fix to IPA static analysis constant null deferenced

27b9309 msm: camera: Make use of mutex lock to avoid race condition

28f43c2 msm: mdss: Fix possible memory overwrite in pgc config

f8be8f5 msm: isp: fix the invalid type conversion

6da10a9 update:eas_defconfig

32d3920 sched: walt: Modify WALT window size to adjust for CONFIG_HZ

4034e1f ANDROID: binder: don't queue async transactions to thread.

0ba409f ANDROID: binder: don't enqueue death notifications to thread todo.

ea7e13b ANDROID: binder: call poll_wait() unconditionally.

7f49d00 ANDROID: binder: Don't BUG_ON(!spin_is_locked()).

0fcfe19 ANDROID: binder: don't check prio permissions on restore.

9ee7e39 Add BINDER_GET_NODE_DEBUG_INFO ioctl

6337949 ANDROID: binder: add RT inheritance flag to node.

5d0c370 ANDROID: binder: improve priority inheritance.

21b7f38 ANDROID: binder: add min sched_policy to node.

c16a00c ANDROID: binder: add support for RT prio inheritance.

9fd7347 ANDROID: binder: push new transactions to waiting threads.

da5800cf ANDROID: binder: remove proc waitqueue

2227f9e FROMLIST: binder: remove global binder lock

86b75c4 FROMLIST: binder: fix death race conditions

fa8e045 FROMLIST: binder: protect against stale pointers in print_binder_transaction

ceb8bd3 FROMLIST: binder: protect binder_ref with outer lock

d7a4705 FROMLIST: binder: use inner lock to protect thread accounting

0970b8f FROMLIST: binder: protect transaction_stack with inner lock.

e4a8887 FROMLIST: binder: protect proc->threads with inner_lock

575722c FROMLIST: binder: protect proc->nodes with inner lock

c6ff974 FROMLIST: binder: add spinlock to protect binder_node

2eabdd7 FROMLIST: binder: add spinlocks to protect todo lists

7aaca02 FROMLIST: binder: use inner lock to sync work dq and node counts

f0e7163 FROMLIST: binder: introduce locking helper functions

bb6ca1d FROMLIST: binder: use node->tmp_refs to ensure node safety

b0bfa01 FROMLIST: binder: refactor binder ref inc/dec for thread safety

2e4b06c FROMLIST: binder: make sure accesses to proc/thread are safe

dfc7c04 FROMLIST: binder: make sure target_node has strong ref

474ca33 FROMLIST: binder: guarantee txn complete / errors delivered in-order

f11789f FROMLIST: binder: refactor binder_pop_transaction

901f26b FROMLIST: binder: use atomic for transaction_log index

0a8aaac FROMLIST: binder: add more debug info when allocation fails.

2442959 FROMLIST: binder: protect against two threads freeing buffer

082ab0a FROMLIST: binder: remove dead code in binder_get_ref_for_node

0670d66 FROMLIST: binder: don't modify thread->looper from other threads

6e9c746 FROMLIST: binder: avoid race conditions when enqueuing txn

67a5b12 FROMLIST: binder: refactor queue management in binder_thread_read

05749e9 FROMLIST: binder: add log information for binder transaction failures

a2cf6e2 FROMLIST: binder: make binder_last_id an atomic

ec4a34c FROMLIST: binder: change binder_stats to atomics

358d08e FROMLIST: binder: add protection for non-perf cases

7f460e6 FROMLIST: binder: remove binder_debug_no_lock mechanism

9b74400 FROMLIST: binder: move binder_alloc to separate file

8e4b057 FROMLIST: binder: separate out binder_alloc functions

230d10f FROMLIST: binder: remove unneeded cleanup code

9fe0856 FROMLIST: binder: separate binder allocator structure from binder proc

fe01016 FROMLIST: binder: Use wake up hint for synchronous transactions.

a0a28f8 Revert "android: binder: Use wake up hint for synchronous transactions."

e319fc7 Revert "android: binder: Don't use sched_preempt_enable_no_resched."

5e1257d Revert "android: binder: move global binder state into context struct."

5559194 Revert "Revert "Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic"""

fe14810 android: binder: move global binder state into context struct.

026e04f Revert "android: binder: Disable preemption while holding the global binder lock."

c2a6617 ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES.

188e42b binder: use group leader instead of open thread

33dbeaf block: cfq_cpd_alloc() should use [MENTION=1180668]gfp[/MENTION]

6da5bf7 cfq: fix starvation of asynchronous writes

5f4c602 BFQ-v8r10

1e3a526 BFQ-v8r10-rc1

6a630d0 BUGFIX: Remove problematic check on max service duration

aec095d BUGFIX: Handle failure of weight-counter allocation

fe4489d BFQ-v8r9

7990f98 BUGIFX: remove use of bfq queues after free

1e47733 BFQ-v8r8

b667c49 block/bfq-cgroup: fix bfq_bic_update_cgroup() API

5ce0052 BFQ-v8r8-rc2

efe34e8 Avoid a second dispatch in case of budget exhaustion

8fbb3aa BFQ-v8r8-rc1

daa5797 Better tune weight-raising for slow flash-based devices

2bb643b Fix check of the percentage of sequential dispatches

80106dc BUGFIX: Put async queues on exit also without cgroups

20c6b56 Add a ton of forgotten static qualifiers

027cc0d Remove wrong compilation warning

8386172 BFQ-v8r7

9e3db5b BUGFIX: make BFQ compile also without hierarchical support

91cdb91 BFQ-v8r6

8fac5c2 BFQ v8r6-rc3

6cde2bd Stop bubble-up of next_in_service update if possible

343f71f Fix bug in optimized update of next_in_service entity

d700a78 BFQ v8r6-rc2

a7c2ad9 Add code to redirect trace log to console

bf60f75 Fix wrong reset of in-service entities

7de036e Fix bug causing occasional loss of weight raising

6707af2 Optimize update of next_in_service entity

ebf6265 Further improve code and comments for hierarchical code

34e74e5 Remove useless parameter from bfq_del_bfqq_busy

28e4a1f Provide more details in switching-off-wr message

f16d282 Port and improve CFQ commit 41647e7a

c0fc475 BFQ v8r6-rc1

9193bef Improve and fix some bugs in hierarchical code

5ca5ccf Fix false-positive warning for uninitialized var

dd2e7d28 Fix typo in comments on bfq_lookup_next_entity

1441bfb Add and improve pointers in initial comments

a539246 Improve documentation

62de113 BFQ-v8r5

eb6b84a Fix type in bfq-iosched.txt

d3f6ded Add parentheses to complex macros

0e087853 bfq-iosched.txt: add description of preemption

c81df7e Remove stray disk word in first line

d9efd4e Improve help message in Kconfig.iosched

bdb8cf3 Improve bfq-iosched.txt

99ca8b5 BUGFIX: Replace max wrongly used for modulo numbers

d9745c6 Documentation/block: add bfq-iosched.txt

bc796a1 BFQ-v8r4

07cc0e0 block: bfq: fix Oops at system shutdown

496b9e8 Switch to ns for all rate timestamps, fixing also 32-bit issues

dc49f56 Let soft-rt wr start also while interactive wr is still in place

6fb3612 Fix recovery of lost service for soft rt

38794be Guarantee that wr is not lost for a spurious temporary merge

ccbf159 Fix use of slice_idle and use smaller type

8c766fb Force one-request-at-a-time service scheme with strict_guarantees

fa6de0b Improve the peak-rate estimator

5db9ee2 Fix and extend logs, make other micro-improvements

ba9c6e6 Fix handling of wait_request state

5b20cb6 Port to v4.8, 4th part: switch slice_idle and thinktime to ns

c575c9f Port to v4.8, 3rd part: switch slice_timer and fifo_expire to ns

f7f0279 Update copyrigths to acknowledge Linaro's support

1e5020e BFQ v8r3

571e726 Fix switch from soft rt to interactive

b4aea10 BFQ v8r2

7ffcc4a Port commit ae11889636: turn blkg_lookup_create into blkg_lookup

ba42466 Remove variables not used if tracing is disabled

3772562 BFQ v8r1

d00e573 Privilege soft rt apps against interactive

9b5141e Add weight-changed log message

275aaa9 Changed weight type

61b454d Change suspect BUG_ON and add more BUG_ONs

296acae BFQ v8

e75cd5b BFQ v8-rc6

cbd839b Move inline and improve data-structure comments, remove stale fields

cebbc1c Further code cleanup

220fde2 Remove stale field

66bb29b Add missing comment

76f9e1a Removed stale fields and comments

dd8223b BUGFIX: remove a harmless but meaningless comparison

24582c2 BFQ v8-rc5

00addb8 Improve code

8bbdf01 BUGFIX: removed ref-incrememnt typo from a log message

f1201af BFQ v8-rc4

25104af Tell whether cgroups support is enabled at boot

4e813ab BUGFIX: fix typo in constant definition

92bbbf6 BFQ v8-rc3

221c9fe Drop unnecessary synchronize_rcu

24078bf BUGFIX: Extend rcu locking in bfq_bic_update_cgroup

b7c7a5b Port commit 30d7b9448f03f2c82d0fd44738674cc156a8ce0a

9aa59b9 Port commits 322731ed0dd and d4aad7ff04d

4de11ef Port commit 2da8de0bb799bf2bdfa893e5a1e294eb6bafba62

8f6121d Port commit d93a11f1cd890d4ea72f7cef75fac56801b099b3

85e467b Use just queue_lock in bfq_check_ioprio_change

cb736eb Port commit 563180a44b7d7978f44e9776eedfbbc550c2398d

6f25e60 Port commit bce6133b09013f70d41a678d262a12147ed43889

501a837 Port commit 95e5d6f62693f27d9011ec307eb32c6126314ea3

5cf34d0 Port commit 4ebc1c61d6185604c97fd0b0355ab668052044ab

a9b54ea Fix conditional-compilation errors related to cgroups

217bc83 Announce as v8-rc2

3049e23 Improve consistency with new IO controller

b8cc9dd Fix computation of queue weight as a function of ioprio

e8851a5 Improve some comments

82fb6cd Replace time_is_XXX_jiffies when appropriate

f3bee92 Replace max with more efficient max_t

e6ae44d BUGFIX: fix wrong Kconfig.iosched dependency for BFQ_GROUP_IOSCHED

cfdc7dc Add strict-guarantees tunable

ffe618a Change default group weight

715718a Improve time handling to reduce wraparound issues

4244016 BUGFIX: remove incorrect group-related BUG_ON

479414f Add extra logging

f6860776 BUGFIX: fix service-tree selection for non-leaf entities

5f59330 Improve weight-raising mechanism

c2a6261 Improve peak-rate estimation and rate-based autotuning

7fe7527 Port CFQ commits 3dde36ddea3 and e9ce335df51ff

cdfb29f Squash me

40fcb61 Improve EQM

92a5c60 Improve handling of bursts of queue activations

1b0cc03 Introduce preemption-based, idleless service guarantees

882b0d6 Improve use of async_charge_factor

77dc867 Turn next-in-service check into a WARNING, and improve comments on next_in_service

f5f7f5e Add group logging and more BUG_ONs for groups

8687f25 Serve also async queues based only on budget consumption

2220ba2 Remove apparently useless check on bfq_class_idle from dispatch_requests

52e146e Improve logging functions

bdf29fd BUGFIX: expire bfqq if needed in bfq_bfqq_move

6b28bf9 Align blk-cgroup code with CFQ, and fix related small bugs

b343a08 Reverse include order between blk.h and bfq.h

a068655 Remove useless includes from bfq.h

2369d82 block, bfq: add Early Queue Merge (EQM) to BFQ-v7r11 for 4.4.0

baffcf1 block: introduce the BFQ-v7r11 I/O sched for 4.4.0

67a021a block: cgroups, kconfig, build bits for BFQ-v7r11-4.4.0

Instructions:

1. Download the kernel zip from the link below

2. Reboot to twrp and do a full nandroid, including system, data and boot (this is important)

3. Restore the stock boot.img do have a clean ramdisk

4. If you haven´t done the nandroid do it now. you need it to backup your wlan module

5. flash my kernel zip

5.a If you are on new base flash the 1.27 kernel stutter fix zip. ( I will include the kernel side patch in the next release)

6. reboot

7. set your desired features via EXKM or leave everything default (leave complete CPU section as it is)

8. enjoy your EAS kernel

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

have fun with it. Really give this one a try

Donations are not mandatory but very welcome.

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