[Xiaomi Redmi Note 3 [Snapdragon] ROMs, Kernels, Re] psndna88:
AGNi pureLOS-MM​

[IMG="AGNi pureCM-MM kernel"]http://s6.postimg.org/v3lh6glwt/agni_xda.jpg[/IMG][IMG="AGNi pureMIUI kernel"]http://s6.postimg.org/v3lh6glwt/agni_xda.jpg[/IMG][IMG="AGNi pureCM kernel"]http://s6.postimg.org/v3lh6glwt/agni_xda.jpg[/IMG]​

Join Telegram DISCUSSION & TESTING GROUP

CAMERA libs for kenzo/kate

: HERE

AGNi Toolbox

: HERE

For Android 6.0.x CM/AOSP :

DOWNLOADS pureLOS-MM kernel :- HERE

AGNi pureLOS-MM CHANGELOG:-

AGNi pureLOS-MM v11.0:-

Merge caf/LA.BR.1.3.7_rb1.4

staging: prima: Update to LA.BR.1.3.7_rb1.4

drivers/power: revert qpnp-fg & modify qpnp-smbcharger from LA.BR.1.3.7_rb1.3

Apply pending updates from LA.BR.1.3.7_rb1.3

fs: hack to fix kernel taint warning 512

ASoC:WCD9335: Enhance SLimbus CLK Gear

dts: kenzo: increase thermal mitigation threshold for max 2100mA

kernel/rcu: implement many updates

ANDROID: binder: fix format specifier for type binder_size_t

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

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

dts: set gpu initial-pwrlevel 200MHz

AGNi Installer: modify memory management

AGNi Installer: new updated ScreenModes App

AGNi control: tweak cultivation governor

AGNi control: add 1800(hot weather),2000(default),2100mA charging options

AGNi control: set default swappiness 30

AGNi control: set 200Mhz as min gpu default

spectrum: 200Mhz min gpu freq as default balanced profile

Older Changelogs:

AGNi pureLOS-MM v10.9:-

msm: sensor: restore slave address after I2C read

trace: enable CONFIG_DISABLE_TRACE_PRINTK

regulator: core: Use the power efficient workqueue for delayed powerdown

fbcon: queue work on power efficient wq

script : remove dirty defs

tcp: add CDG congestion control (squash commit) and set default

tcp: add sociopath congestion control

netfilter: ensure number of counters is >0 in do_replace()

clockevents: Provide explicit broadcast oneshot control functions

clockevents: Prevent shift out of bounds

sched: Remove finish_arch_switch()

sched: Delete an unnecessary check before unregister_sysctl_table()

posix_cpu_timer: Optimize fastpath_timer_check()

sched/cputime: Fix cpu_timer_sample_group() double accounting

fix up initial thread stack pointer vs thread_info confusion

perf: Optimize group_sched_in()

perf: Remove useless atomic_t

ktime: Fix ktime_divns to do signed division

mm/mempolicy.c: merge alloc_hugepage_vma to alloc_pages_vma

mm, thp: replace smp_mb after atomic_add by smp_mb__after_atomic

mm: let mm_find_pmd fix buggy race with THP fault

mm/huge_memory.c: complete conversion to pr_foo()

thp: consolidate assert checks in __split_huge_page()

mm: revert "thp: make MADV_HUGEPAGE check for mm->def_flags"

mm: include VM_MIXEDMAP flag in the VM_SPECIAL list to avoid m(un)locking

mm/mempolicy.c: remove unnecessary is_valid_nodemask()

vm_area_operations: kill ->migrate()

mm: mempolicy: skip inaccessible VMAs when setting MPOL_MF_LAZY

mempolicy: change alloc_pages_vma() to use mpol_cond_put()

mm/mempolicy.c: parameter doc uniformization

mm: constify nmask argument to set_mempolicy()

mm: constify nmask argument to mbind()

mm: new_vma_page() cannot see NULL vma for hugetlb pages

mm/mempolicy: fix !vma in new_vma_page()

mm/mempolicy: correct putback method for isolate pages if failed

mbind: add BUG_ON(!vma) in new_vma_page()

mm: mbind: add hugepage migration code to mbind()

migrate: add hugepage migration code to migrate_pages()

mm/hugetlb.c: fix reservation race when freeing surplus pages

mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()

mm, fs: check for fatal signals in do_generic_file_read()

mm: vmpressure: fix sending wrong events on underflow

msm: camera: Add NULL check in msm_actuator

crypto: msm: optimise code

sg: Prevent potential double frees in sg driver

sg: O_EXCL and other lock handling

msm: vidc: Fix memory leak

time64: Add time64.h header and define struct timespec64

Applied many upstream & backports

AGNi Control: add options for TCP congestion controls

AGNi pureLOS-MM v10.8:-

Merge caf/LA.BR.1.3.6_rb1.22

staging: prima: Update to LA.BR.1.3.6_rb1.22

msm: camera: msm_actuator: attempt fixup camera focussing

Bluetooth: Properly check L2CAP config option output buffer length

msm: camera: Add regulator enable and disable independent of CSID

ANDROID: sdcardfs: Add missing break

ANDROID: Sdcardfs: Move gid derivation under flag

ANDROID: mnt: Fix freeing of mount data

ANDROID: check dir value of xfrm_userpolicy_id

UPSTREAM: brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()

arm64: avoid overflow in PAGE_OFFSET

Sound Control: change min/max ranges, allow speaker mute

arch:arm: disable bcl frequency control for BIG cluster

kernel/process: convert do_each_thread to for_each_process_thread

Spectrum Profiles: do not change backlight dimmer

AGNi Control: add speaker mute option

AGNi pureLOS-MM v10.7:-

power: PM: add toggle fingprintd/gx_fpd quick resume (default off)

power: PM: add more checks for fingprintd/gx_fpd quick resume

leds: qpnp-flash: Fix switch brightness not stored

kernel: fix nsproxy *task_nsproxy compilation error

ANDROID: cpufreq: stats: fix missing definition

ANDROID: cpufreq: stats: add uid removal for uid_time_in_state

ANDROID: cpufreq_stats: Fix task time in state locking

ANDROID: cpufreq_stat: add per task/uid/freq stats

ANDROID: Fix cpufreq stats table creation

driver/power/qpnp-smbcharger: add missing boardtemp thermal sensor

revert "dts:kenzo: fix readings for pa_therm0 and case_therm thermal sensor"

AGNi Control: add gpu min freq 200MHz option

AGNi Control: add add fasterfp quick resume option

AGNi pureLOS-MM v10.6:-

Merge updates from caf/LA.BR.1.3.7_rb1.3 (msm8952_64 Android 8.0.0)

power: PM: Add goodix gx_fpd quick resume

power: PM: Add fpc fingprintd quick resume from OnePlus

PM / devfreq: bw_hwmon: Add HW offload support to governor

DTS: Update temperature threshold limits for Kenzo

msm: mdss: Fix occasional panic on init due to race in DSI status driver

binder: Disable debug mask

msm: kgsl: Increase memstore size

BACKPORT: mmc: core: Export device lifetime information through sysfs

net: Westwood+ Tweaks

cpuidle:lpm: Fix div by zero bug

arm64: switch to relative exception tables

slimbus: Fix potential memory leak

cgroup: Allow non-root users permission to attach

block_dev: implement readpages() to optimize sequential read

wcnss: trigger config when ctrl open, prevent uninitialized if ctrl open before device

proc: smaps: Allow smaps access from system_server and android.bg

cpufreq: Fix missing 'WQ_UNBOUND, from CPU Boost

adreno_tz: Push 19MHz frequency step to be used a bit more

minor updates for ext4, mdss, network

and many more... refer github

AGNi pureLOS-MM v10.5:-

drivers/usb: re-add changes from 3.10.105

arm64: fix avoid returning from bad_mode

revert "Add security hooks to binder and implement the hooks for SELinux." (this breaks goodix)

AGNi pureLOS-MM v10.4:-

mdss: mdss_fb: switchable different backlight dimmer algorithms

revert "ASoC: wcd9335: Fix compander disable after SSR"

net: Zero terminate ifr_name in dev_ifname()

net: phy: Fix PHY unbind crash

net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target

net: fix keepalive code vs TCP_FASTOPEN_CONNECT

tcp: fastopen: tcp_connect() must refresh the route

tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states

rtnetlink: allocate more memory for dev_set_mac_address()

packet: fix tp_reserve race in packet_set_ring

ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES.

ANDROID: Add untag hacks to inet_release function

UPSTREAM: capabilities: ambient capabilities

Add security hooks to binder and implement the hooks for SELinux.

arm64: Remove nr parameter from secure_computing

seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing

Revert: "mm: process_reclaim: Don't use work_pending()"

revert "mm: conditional vfs_cache_pressure (charging=80,discharging=40)"

revert "mm: revert some stuff

AGNi installer: modify memory management parameters

AGNi installer: zram size 250MB for 2GB devices and 500MB for 3GB devices

Spectrum: tweaked the default balanced profile

Spectrum: remove brightness changes in profiles

AGNi installer: wifi channel bonding option

AGNi control: switchable backlight dimmer mode (normal[miui's default]/more-dim)

AGNi pureLOS-MM v10.3:-

revert "staging: LMK: Evaluate regular swap space when calculating memory"

revert "BACKPORT: [UPSTREAM] mm: new shrinker API"

revert "drivers: staging: make android ashmem.c explicitly non-modular"

mm: kswapd use only small cluster cpus

power: disable sync on suspend

mdss: livedisplay: add missing mutex_unlock

mdss: livedisplay: stop logspam

ASoC: wcd9335: enable HeadPHone impedence detection

ASoC: wcd9335: fix compander disable after SSR

ASoC: wcd-mbhc: try to fix corner case of headphone detected as headset

ASoC: wcd-mbhc: Fix unbalanced irq enable/disable

ASoC: wcd-mbhc: merge bits from mido and caf upstream

usb: f_fs: change wait as freezable

msm: camera: isp: Ratelimit hw errors

arch:arm: bcl hotplug: we have hexacore processor

arch:arm:dtsi: Increase default max torch brightness

mdss: mdss_fb: implement modified backlight dimmer (default off)

AGNi installer: memory management changes for 2gb & 3gb ram devices

AGNi pureLOS-MM v10.2:-

ASoC: wcd-mbhc-v2: import audio jack driver from Motorola Athene Nougat

fpc1020/goodix: Set fingerprintd/gx_fpd always on on high priority

Implement GPU voltage control

prima/wifi: disable tracing & debuging

prima/wifi: enabled mac spoofing in firmware config

ltr533,stk3x1x: don't use HIGHPRIO wq for proximity & light sensors

qpnp-smbcharger: Publish charger voltage to the usb psy

xfrm: policy: check policy direction value

msm_performance: squash update and changes for perfd

ASoC: msm: qdsp6v2: return error when copy from userspace fails

revert "power: quickwakeup: initial driver"

revert "fs: drop_pagecache on suspend - Xiaomi ido-l-oss"

AGNi Control: fix settings restore

AGNi installer: disable perfd and config-perfd files

AGNi pureLOS-MM v10.1r2:- (Major Update - Indian Independence Day Special)

R2: ASoC: wcd-mbhc-v2: port 3.5mm audio jack driver from Xiaomi mido-m-oss

R2: ASoC: msm: qdsp6v2: extend validation of virtual address

R2: revert "wcd-mbhc-v2: revert some commits"

soundcontrol: fix mic boost and introduce earpiece boost

(Primary, Secondary and wired external earphone's mic

are boosted together to maintain uniform noise cancellation at boosted volumes.

Fixes earpiece gain register previously being used mistakenly for mic boost.)

credits: [MENTION=8232269]ScreaMySkrillEX[/MENTION]

sound_control: implement flar2 sound_control along franco sound control

qdsp6v2: reintroduce msm dts-eagle hwacc effect support

wcd-mbhc-v2: revert some sound jack commits

kernel: auto disable arch_power when display panel Off

mdss_fb: backlight dimmer (default on)

mm: conditional vfs_cache_pressure (charging=80,discharging=40)

revert "mm: process_reclaim: Don't use work_pending()"

ipa: Fix for missing int overflow check in the refcount library

uid_sys_stats: fix overflow when io usage delta is negative

revert "dts: 621MHz gpu freq as new step after 600MHz"

dts: modify gpu min/max bus levels

ANDROID: sdcardfs: override credential for ioctl to lower fs

ANDROID: arm64: add HWCAP2 flags to compat /proc/cpuinfo

BACKPORT: arm64: Fix up /proc/cpuinfo

camerav2/sensor: silence log "Failed in getting TOP gdscr regulator handle"

AGNi installer: handle bcl properly on boot

AGNi installer: tweak memory management

AGNi installer: remove shox mod support selection

AGNi pureLOS-MM v10.0:-

dts: add 1843 Mhz Big cpu core frequency

dts: 621MHz gpu freq as new step after 600MHz

Better ram management for 2gb devices

dts:qcom,cpubw: use governor cpufreq

sound control: modify mic

qpnp-smbcharger: set 2000mA max (SORRY, NO QC ANYMORE FOR UR OWN GOOD, no more damaged charging ports)

msm_hsusb.h: increase CHG_MAX,HVDCP_CHG_MAX to 2000mA

Fixed High-Load Average due to Drivers

Reduced CPU Load-Average

more in-depth tweaked spectrum profiles

AGNi control: add gpu max and min options

AGNi control: modify shell action commands,remove dependency on /system/etc/init.d instead use /data/.AGNi/ [app v1.3]

AGNi pureLOS-MM v9.9:-

Merge caf/LA.BR.1.3.6_rb1.21

staging: prima: Update to LA.BR.1.3.6_rb1.21

dts:msm8976-gpu: add 621MHz & 133MHz frequency support (squash update)

dts:msm8976-gpu.dtsi: set qcom,initial-pwrlevel to 133MHz

dts:msm8976-cpu: remove non-existent core 2 & 3 in cluster 1

qpnp-fg,msm-core,msm-thermal: use power_efficient_wq when battery is discharging

workqueue: make the workqueues list RCU walkable

workqueue: invert the order between pool->lock and wq_mayday_lock

diable SERIAL_MSM_HS & SERIAL_MSM_HSL

AGNi installer: fixed usb adb permission issue

AGNi pureLOS-MM v9.8r2:-

R2: drivers/input/Kconfig: rearrange fingerprints

R2: touchscreen: import ft5346_ts focaltech touchsceen driver

R2: leds: qpnp-flash: Fix torch flash when controlled by camera Part-2

R2: power efficient wq: revert for msm-thermal,qpnp-fg,msm-core

R2: revert "power: process: decrease time to enter sleep"

R2: workqueue: revert some upstream commits

revert some ASoC upstream commits

revert "Add security hooks to binder and implement the hooks for SELinux"

leds: qpnp-flash: Fix torch flash when controled by camera

Apply over 180 upstream commits to increase performance without extra battery usage

Reduce logspam

AGNi installer: address permissions issues for Agni apps auto installation

AGNi pureLOS-MM v9.7:-

qpnp-smbcharger: set 2000mA as default

Stop some more dmesg spam

ion: fix logical-not comparison warning

UPSTREAM: af_key: Fix sadb_x_ipsecrequest parsing

fs/exec: fix use after free in execve

AGNi installer: modify memory management parameters and some more things

AGNi installer: set zram size 750MB for 3GB variants and 500MB for 2GB ones

AGNi installer: set thermals to 60C as default

AGNi installer: 3 selinux boot cmdline selectable modes (rom default/permissive/enforcing)

AGNi installer: remove qcrypto modules from imported from miui8

AGNi installer: fixed option to use screen mode standard or vivid on boot

AGNi pureLOS-MM v9.6r2:-

R2: revert "BACKPORT: selinux: restrict kernel module loading"

R2: fingerprint: fix goodix-purge optional fp_bigcore_boost and allow it always

R2: enable fs & f2fs encryption support for device encryption

R2: ecryptfs support for encrypted devices (MIUI-MM)

R2: selinux set permissive when goodix not natively suported in rom (LOS-M,LOS-N)

R2: selinux set permissive always when goodix detected (MIUI-MM)

R2: add aroma option to enable lazyflasher dmverity & forceencrypt fix (MIUI-MM)

R2: set charging current default max 2000mA, add AGNi Control option to increase to 2400mA

R2: add aroma option to use screen mode standard or vivid on boot

R2: bring back aroma option to select selinux mode

Update GCC 6.4.1

binder: squash update

selinux: Add security hooks to binder and implement SELinux hooks

BACKPORT: selinux: restrict kernel module loading

BACKPORT: UPSTREAM: selinux: fix off-by-one in setprocattr

fingerprint: purge optional fp_bigcore_boost and allow it always

enable:- mmc deferred resume

disable:- cleancache, memory cgroup swap controller

update zram,zsmalloc,crypto-lz4,lib lz4

uid_sys_stats: make hash_table static

ANDROID: sdcardfs: Remove unnecessary lock

powersuspend: cumulative update to v1.7

msm: mdss: Correct the AD backlight calculation formulas

firmware_class: Fix firmware_loading_timeout usage of jiffies

AGNi pureLOS-MM v9.5r2:-

R2: fix boot scripts permissions,thermal throttle scripts & tweak spectrum profile to add relevant permissions

qpnp-smbcharger,fg,msm_thermal: restore to LOS state, keep 2400mA max

binder: restore to LOS state

revert "Add security hooks to binder and implement the hooks for SELinux.

revert "BACKPORT: selinux: restrict kernel module loading

revert "BACKPORT: UPSTREAM: selinux: fix off-by-one in setprocattr

leds-aw2013: increase brightness and add sysfs tunable

uksm: restore RW run tunable

wcd9335: remove some stuff

mdss: remove dynamic fps completely

spectrum: modify & add more profiles by @ScreaMySkrillEX

Restructured the critical boot scripts (fixes enforcing selinux issues)

AGNi installer: remove selinux enforcing/permissive option

AGNi installer: set proper AGNi_Control & ScreenModes app permissions

AGNi Control: remove quick charge options and set 2400mA max default

AGNi Control: add thermal throttle options

AGNi Control: add notification led brightness options

AGNi pureLOS-MM v9.4:-

implement Slimbus O.C.

prima: enable WMM feature

crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code

fs: readdir: Fix su hide patch for non-iterate filesystems

ANDROID: sdcardfs: use mount_nodev and fix a issue in sdcardfs_kill_sb

drivers: power,regulator: revert using power efficient workqueue

workqueue: fix power efficient workqueue permissions

uksm: backport for 3.10.y and implement updates Read More about UKSM

uksm: add ability to autorun during charger connected

cpu-boost: partial revert to stock

revert "ARM: dts: kenzo: [qpnp-smbcharger] increase thermal mitigation threshold values"

mm: queue swap_work only if previous instance has completed

power: add a simple api to query the charging state (on/off) at any point in time

AGNi Control: add uksm and default to run during charger connected

AGNi Control: add hvdcp3 handling in Quick Charge option

AGNi pureLOS-MM v9.3:-

Makefile: enable -O3 enhanced optimizations

DOWNLOAFD v9.3

AGNi pureLOS-MM v9.2r3:-

revert "set CONFIG_HZ = 300"(r3) [breaks compatibility with some touchscreens with newer firmware or replacement panels]

import from miui8 & force allow autoloading qcrypto_module.ko & qdrbg_module.ko modules(r3)

msm_thermal: revert using power efficient workqueue(r2)

ARM: dts: kenzo: increase thermal mitigation threshold values

set CONFIG_HZ = 300

revert "UPSTREAM: usb: gadget: f_fs: add "no_disconnect" mode

revert "usb: gadget: f_fs: Guard epfile->error

AGNi pureLOS-MM v9.1:-

qpnp-smbcharger/fg: bring to LOS state

kgsl: disable old optimizations

fs/buffer.c: increase the buffer-head per-CPU LRU size

AGNi Control: add noop IO sched option

Added Spectrum app support with various profiles

AGNi pureLOS-MM v9.0r2:-

battery/charger: fix battery % and slow charging(r2)

AGNi Control: add back input boost option(r2)

Upstream to linux 3.10.107

mm: revert changes from "Upstream to linux 3.10.107"

staging: prima: Update to LA.BR.1.3.6_rb1.20

Merge caf/LA.BR.1.3.6_rb1.20

msm: camera: Fix for Memory leak in actuator

qpnp-smbcharger: change thermal mitigation values to reduce heat

fs: drop_pagecache on suspend - Xiaomi ido-l-oss

mdss: kcal: AGNi Screen Modes v1.1 (use switch case)

AGNi installer: add support toggle for Shox Sound-Mod

Revert: "qpnp-fg: fix DELTA_SOC"

revert "PM / devfreq: Add an interface to boost devices when the screen is woken

revert "PM / devfreq: Boost cpubw on screen on events

revert "msm: mdss: Correct the AD backlight calculation formulas

ASoC: msm: qdsp6v2: Add support to set volume in ASM loopback

ASoC: wcd-mbhc: headset detection & jack updates

ASoc: wcd: correct handling of L_DET_EN and pull down switches

msm: kgsl: mempool and related updates

ARM: dts: msm: Add GPU mempools properties for msm8976/56

ARM: dts: kenzo: Enable 64bit sdhci ADMA support

ARM: dts: msm: Enable 64bit sdhci ADMA support for MSM8956/8976

ARM: dts: msm: Enable 64bit sdio ADMA support for MSM8956/8976

mmc: sdhci-msm: Disable controller clocks in suspend

mmc: sdhci-msm: enable 64-bit ADMA

mmc: sdhci-msm: avoid using NOP ADMA descriptor for EOT

mmc: sdhci: cmdq: add notification for cmdq halt

fix some duplicate const Werrors

UPSTREAM: ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT

BACKPORT: ALSA: timer: Fix race between read and ioctl

ANDROID: sdcardfs: remove dead function open_flags_to_access_mode()

UPSTREAM: ipx: call ipxitf_put() in ioctl error path

sdcardfs: limit stacking depth

BACKPORT: ip6_gre: fix ip6gre_err() invalid reads

UPSTREAM: dm ioctl: prevent stack leak in dm ioctl call

ANDROID: hid: uhid: implement refcount for open and close

GCC 7.x: Makefile: Disable format-truncation globally

Makefile: Disable couple more warnings

AGNi pureCM-MM v8.9:- (This Version Focusing on Performance Tuning)

msm: performance: prevent userspace hints to decrease max cpu freq

ping: implement proper locking

lot of scheduler tuning

Introducing optional AGNi SceneModes app

mdss: kcal: Introduce AGNi Screen Modes

AGNi pureCM-MM v8.8:- (This Version Focusing on Smoothness/Performance)

msm: mdss: Update RT priority

kgsl: Increase priority of RT thread

kgsl: Higher priority of RT thread

PM / devfreq: Add an interface to boost devices when the screen is woken

PM / devfreq: Boost cpubw on screen on events

qpnp-smbcharger: user configurable fastcharge tunable

Max charge current is limited to 2000mA unless increased from AGNi Control

Added compatibility for magisk v13

AGNi installer: add support for fat32/exfat/ext4/ntfs detection and auto fix errors on system,data,cache,sdcard,usb-otg

(Run from internal storage to scan & fix external sdcard filesystem errors)

AGNi pureCM-MM v8.7:- (This Version Focusing on Battery/Zram/RAM-management)

staging: prima: Update to LA.BR.1.3.6_rb1.19

Merge caf/LA.BR.1.3.6_rb1.19

netlink: use old LOS mode for CM-MM & MIUI-MM

mdss_fb: backlight dimmer option (default off)

Disable some debug support

revert zram,lz4,mm changes

ipa: bring to CAF state

remove CDG & sociopath congestion control

revert "power: quickwakeup: initial driver"

revert "leds-qpnp: Multi-color smooth LED support"

revert "fs: drop_pagecache on suspend - Xiaomi ido-l-oss"

revert "mdss: import screen modes from Xiaomi thomas-kk-oss"

AGNi Control: add backlight dimmer option

AGNi pureCM-MM v8.6:- (This Version Focusing on Battery Life)

qpnp-fg: fix DELTA_SOC, disable debug & add qcom,nom-batt-capacity-mah

msm: kgsl: Remove event worker

msm: kgsl: Remove redundant memory barrier

msm: kgsl: Clear VBIF pending transactions before going to power collapse

net: Fix build failure due to lockdep_sock_is_held().

sock: make lockdep_sock_is_held static inline

net: introduce lockdep_is_held and update various places to use it

mm: update ksm

ipv6: release dst in ping_v6_sendmsg

ipv6/dccp: do not inherit ipv6_mc_list from parent

sctp: do not inherit ipv6_{mc|ac|fl}_list from parent

ipv6: Prevent overrun when parsing v6 header options

revert "kgsl: Higher priority of RT thread"

revert "cpufreq: stats: Fix memory leaks when updating stats table"

revert "PM / devfreq: Add an interface to boost devices when the screen is woken"

revert "PM / devfreq: Boost cpubw on screen on events"

revert "kgsl: Increase priority of RT thread"

revert "msm: mdss: Update RT priority"

revert "block: Add driver to change the I/O scheduler when the screen turns off"

revert "mmc: queue: Configure the I/O sched switcher for mmc block devices"

revert "iosched_switcher: Use reliable state notifier"

AGNi pureCM-MM v8.5:-

ipv6: fix out of bound writes in __ip6_append_data()

mm: Tighten x86 /dev/mem with zeroing reads

mm/mempolicy.c: fix error handling in set_mempolicy and mbind.

KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings

scsi: sg: check length passed to SG_NEXT_CMD_LEN

BACKPORT: sg: relax 16 byte cdb restriction

BACKPORT: block: add blk_rq_set_block_pc()

xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder

xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window

KEYS: Change the name of the dead type to ".dead" to prevent user access

sctp: deny peeloff operation on asocs with threads sleeping on it

irda: Fix lockdep annotations in hashbin_delete().

time: Remove CONFIG_TIMER_STATS

sctp: avoid BUG_ON on sctp_wait_for_sndbuf

Kconfig: msm: disable ultrasound driver

KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings

net: ping: check minimum size on ICMP header length

ext4: validate s_first_meta_bg at mount time

bluetooth: Validate socket address length in sco_sock_bind()

Makefile: remove useless hardware specific compiler flags

AGNi pureCM-MM v8.4:-

wake gestures: revert AGNI enhancements and call detection

wake gestures: input callback dependent on proximity near and call detection

Removed buggy lazyplug

AGNi Control: remove wake duration timer and fp boost

CHROMIUM: mm: lower oom dump burst limit to 1

CHROMIUM: add vmstat counts for different page fault types

CHROMIUM: net: xt_qtaguid: Remove unnecessary check for in_ifaddr.ifa_label != NULL

cpufreq_stats: Fix stats leak during update policy

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

msm: mdss: Update RT priority

kgsl: Increase priority of RT thread

mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp

metag/uaccess: Fix access_ok()

metag/uaccess: Check access_ok in strncpy_from_user

stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms

UPSTREAM: arm64: perf: Fix callchain parse error with kernel tracepoint events

UPSTREAM: arm: perf: Fix callchain parse error with kernel tracepoint events

UPSTREAM: arm64: LLVMLinux: Add current_stack_pointer() for arm64

UPSTREAM: ARM: 8170/1: Add global named register current_stack_pointer for ARM

ARM: dts: kenzo: Enable store hardware reset reason

ANDROID: uid_sys_stats: defer io stats calulation for dead tasks

ANDROID: uid_sys_stats: fix access of task_uid(task)

ANDROID: uid_sys_stats: reduce update_io_stats overhead

ANDROID: make PF_KEY SHA256 use RFC-compliant truncation.

revert "ASoC: msm: qdsp6v2: Add support to set volume in ASM loopback

fs/pstore: fix last_kmsg

revert "ipv4: keep skb->dst around in presence of IP options

revert "UPSTREAM: timerfd: Protect the might cancel mechanism proper

pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes

fs: compat: Remove warning from COMPATIBLE_IOCTL

Fix voltage control sometime change back to floor voltage level

Fix CPU voltage control title name duplicate

CPU voltage control for kenzo

revert "cpufreq: show cpu voltages via sysfs @imoseyon"

proc: Remove additional SafetyNet flags from /proc/cmdline

proc: Remove verifiedbootstate flag from /proc/cmdline

revert "SafetyNet bypass: Show androidboot.verifiedbootstate=green

iosched_switcher: Use reliable state notifier

mmc: queue: Configure the I/O sched switcher for mmc block devices

block: Add driver to change the I/O scheduler when the screen turns off

state_notifier: Reduce defer on suspend call to 1 second

state_notifier: Queue work on any core

arm64: uaccess: ensure extension of access_ok() addr

arm64/uaccess: fix sparse errors

tcp: fix wraparound issue in tcp_lp

dccp/tcp: do not inherit mc_list from parent

UPSTREAM: net/packet: fix overflow in check for priv area size

drivers: char: mem: Check for address space wraparound with mmap()

watchdog: pcwd_usb: fix NULL-deref at probe

usb: hub: Do not attempt to autosuspend disconnected devices

USB: hub: fix non-SS hub-descriptor handling

USB: hub: fix SS hub-descriptor handling

USB: iowarrior: fix info ioctl on big-endian hosts

USB: fix device quirk on big-endian hosts

Bluetooth: Fix user channel for 32bit userspace on 64bit kernel

Added probable fix for some cases when AGNi control settings are not applied

AGNi pureCM-MM v8.3:-

msm: kgsl: Replace CP_INTERRUPT with EVENT_WRITE interrupt

msm: kgsl: Enable context done bug fix for A510

msm: kgsl: Prevent deadlock in cmdbatch timer

Revert "msm: kgsl: Enable dynamic clock throttling"

ANDROID: ion: Protect kref from userspace manipulation

ANDROID: ion: Fix uninitialized variable

goodix/prima: use LOS netlink values for CM-MM & CM-N AGNi variants

add gxfingerprint.default.so for goodix to support changed netlink values

revert "ft5x06_ts: fix wake gesture incomplete stuff"

AGNi pureCM-MM v8.2:-

Merge caf/LA.BR.1.3.6_rb1.18

staging: prima: Update to LA.BR.1.3.6_rb1.17

staging: prima: Update to LA.BR.1.3.6_rb1.18

staging: ion: revert caf/LA.BR.1.3.6_rb1.18

msm: kgsl: Improve GPU idle power

msm: kgsl: Enable dynamic clock throttling

Fix battery capacity

Dynamic Fsync: Don't wait force sync done when screen off, use emergency_sync instead

kernel: Only expose su when daemon is running

kernel: Fix potential refcount leak in su check

ASoC: wcd-mbhc: correct lineout detection

revert slab previous commits

revert "mmc: core: add partial initialization support

revert "msm: camera: isp: For burst stream fix framedrop period and pattern"

AGNi pureCM-MM v8.1:-

BACKPORT: commoncap: don't alloc the credential unless needed in cap_task_prctl

ASoC: msm: qdsp6v2: Add support to set volume in ASM loopback

input: sensors: Fix LTR553 DT parsing

input: sensors: ltr553: Write PS_LED

input: sensors: ltr553: Allow maximum number of LED pulses

mmc: core: add partial initialization support

net: ipc_router: Fix memory leaks when releasing a remote port

cpufreq: stats: Fix memory leaks when updating stats table

msm_bus: arb: Fix memory leak when unregistering client

usb: hub: Fix unbalanced reference count/memory leak/deadlocks

soc: qcom: bam_dmux: Use SPS hold mem flag

drivers: staging: make android ashmem.c explicitly non-modular

mm/slab updates

revert "Slimbus O.C[2]"

msm_venc: fix parameters for do_div

msm: camera: isp: For burst stream fix framedrop period and pattern

soundcontrol: set minimum and maximum boost limits if user value goes beyond it

AGNi pureCM-MM v8.0:-

UPSTREAM: timerfd: Protect the might cancel mechanism proper

msm: mdss: Don't constantly fire interrupts for DSI status check

PM/devfreq: Add an interface to boost devices when the screen is woken

PM/devfreq: Boost cpubw on screen on events

qpnp-smbcharger: queue work on system_power_efficient_wq

gpio: stop dumping the stack every time a gpio isn't valid

qpnp-linear-charger: queue work on system_power_efficient_wq

revert: "wake gestures: implement resume destroy to kill pending resume work on screen resume"

revert "mdss_fb: backlight dimmer option"

lazyplug: update v1.7 -> v1.12

qdsp6v2: stop logspam

prima: silence log trace

wake gesture: delay resume work by 2sec

qpnp-smbcharger: limit fastcharge current to max 2400mA

random: set permission 664 for wakeup thresholds

soundcontrol: fix mic boost and set sysfs minimum limits

Slimbus O.C.

AGNi pureCM-MM v7.9:-

goodix,prima: set older nelink values for MM and use LOS values for N

alarmtimer: Add the verification code for rtc device error.

net/packet: fix overflow in check for tp_frame_nr

net/packet: fix overflow in check for tp_reserve

give up on gcc ilog2() constant optimizations

usb: hub: Wait for connection to be reestablished after port reset

wake gestures: implement resume destroy to kill pending resume work on screen resume & increase resume delay

msm_hotplug: fix derp-"disable update_load_stats when min min_cpus_online = total cpus"

msm: mdss: Remove DCS backlight delay

Turn off trace_printk in vidc's dprink.

tcp: export tcp_enter_cwr()

init: kconfig: disable DEBUG_KERNEL

revert dynamic fps mdss

shift mount-ro code before init.d scripts handling

AGNi pureCM-MM v7.8r2:-

r2:

goodix: disable debug flag

revert "prima: Update to LA.BR.1.3.6_rb1.17" fix WIFI Hotspot and USB Tethering Error

r1:

Merge caf/LA.BR.1.3.6_rb1.17

prima wifi: Update to LA.BR.1.3.6_rb1.17

merge latest LOS commits

BACKPORT: [UPSTREAM] mm: new shrinker API

ipv4: keep skb->dst around in presence of IP options

drivers: cpuidle: lpm-levels: fix array-bounds warnings

arm64: atomic.h: defining relaxed atomic_read

hrtimer: Replace usage of hrtimer_callback_running with the new relaxed version for less power usage

kernel: cpuidle: use idle_cpu_relaxed and cpu_relaxed

sched: core: warning: comparison between pointer and integer

usb: android: Fix buffer overflow due to incorrect snprintf length

sound: msm: qdsp6v2: fix memset-transposed-args warning

drivers: media: msm: camera_v2: fix bool-compare warning

input: atmel_mxt_ts: more proper wakeup implement

ARM: dts: mdss: kenzo: Enable dynamic fps for kenzo panels

msm: mdss: use key event trigger to update fps

msm: mdss: Using Fixed fps and v_total for BW calculations

msm: mdss: move dpfs vsync wait before next mixer programming

msm: mdss: change calculation reference to default frame rate in hfp mode dynamic fps

DTS: batterydata-scud-4000mah-4400mv: Merge changes from latest miui

qpnp-fg: remove useless delayed work

charger: allow more amperage and heavier amperage throttle on temperature

qpnp-smbcharger: remove more dmseg spam[2]

kenzo: Remove useless charging debugging

qpnp-smbcharger,qpnp-fg: thermal-mitigation from kenzo-l-oss official values (improve charging)

kenzo: goodix,prima: Change RMC netlink group (goodix netlink 30,prima RMC 29)

ARM: DTS: kenzo: Re-enable appsbl qseecom support flag

revert "MDSS: KCAL: Add minimum brightness tunable"

set lowest screen brightness to hardware minimum by default

wcd-mbhc-v2: import headset detection code from Xiaomi scorpio-m-oss

ft5x06_ts: fix wake gesture incomplete stuff

wake gestures: use mutexes for delay timer mechanism and fix indentations

wake gestures: rework the detection triggers

little cosmetic changes to AGNi Control

AGNi pureCM-MM v7.7:-

DTS: qpnp-fg: "qcom,resume-soc" increase resume charging after full charge 95% -> 99%

revert "drivers/usb: revert changes from 3.10.105"

ARM: 8167/1: extend the reserved memory for initrd to be page aligned

fat: fix using uninitialized fields of fat_inode/fsinfo_inode

msm: msm_bus: fix the memory leak issue

cpufreq: implement cultivation governor v1.5

AGNi pureCM-MM v7.6:-

Rebase from v7.1 (revert many commits which brought regressions, now should be good performance & battery)

Android: update uid_cputime to uid_sys_stats

msm_hotplug: disable load calculations when music hotplug mode

MDSS: KCAL: Add minimum brightness tunable (1 <-> 50)

add workaround for fingerprint errors with roms not supporting Unified FP

AGNi pureCM-MM v7.5:-

ANDROID: sdcardfs: Use LOS 14.1 state for CM-MM & MIUI-MM

revert "drivers/input: update sensors from Xiaomi ido-l-oss & thomas-kk-oss"

Revert: "DTS: screen panel dtsi backlight-min-level changes"

ltr533,stk3x1x: use HIGHPRIO,FREEZABLE workqueues and increase LTR533 proximity sensor sensitivity

MDSS: KCAL: add a toggle to set minimim brightness to 1 or to the panel value

AGNi control: add minimim brightness toggle

AGNi pureCM-MM v7.4:-

wakeup: block qcom_rx_wakelock

fix unwanted 2% battery drop issue

gadget/f_fs: reduce logspam on suspend/resume & use pr_err_ratelimited

usb: dwc3: gadget: make Set Endpoint Configuration macros safe

fs: fat: move fat_truncate_blocks to unlink

kernel: report pid reservation failure properly

ft5x06_ts: add missing wake_gesture bits

fs/pstore: bring to LOS state (fixed /proc/last_kmsg)

sched: Add a check for cpu unbound deferrable timers

disable many logging including goodix and qpnp-smbcharger

revert some commits

AGNi control: reduce little saturation of night screen mode

AGNi control: introduce MSM-Hotplug-Music feature: (Idea - > @miguelang611)

(keep all cores online when display on and attempts to keep only two small cores online with big cores off when screen off)

AGNi pureCM-MM v7.3:-

intelli_hotplug: Update to v5.5 & improve MSM8956 thread capacity

power: bcl: Check battery state of charge for frequency mitigation

sdcardfs: silence log

android:binder: silence log

drivers/cpufreq: add Wheatley governor

fpc/goodix: back to unified fingerprints

AGNi control: add wheatley governor option

AGNi control: reduce saturation of standard screen mode

AGNi control: increased saturation of night screen mode

AGNi pureCM-MM v7.2r2:-

r2: revert: kernel/sched updates

AGNi control: Normal screen mode saturation 50%

r1:

tcp: add sociopath congestion control and set as default

tcp: add CDG congestion control

disable some debugging

drivers/mdss uodates

drivers/cpufreq updates

fs/exfat updates

block/cfq: updates

kernel/sched updates

msm-thermal updates

msm kgsl updates

Reduce vfs cache pressure & swappiness

cpufreq: show cpu voltages via sysfs

cpufreq: add Cafactive gov - modded interactive from code aurora

sched: features: disable gentle_fair_sleepers

power:qpnp-charger: extended charge time from 30s to 100s when battery status is near to full

android: binder: Fix potential scheduling-while-atomic

sched/idle: Optimize the generic idle loop

ARM: dts: msm8956: Add large-address-bus to sdhci-msm

Implement CPU U.V. (85mv)

msm: Add Intelli Hotplug Driver

adreno_tz: Push 27MHz frequency step to be used a bit more

arm64: cache: change ARCH_DMA_MINALIGN and L1_CACHE_SHIFT values

lpm-level: Fix residency calculate

ARM: dts: msm: enable MDSS gdsc idle power collapse on msm8976-kenzo

wake gesture: fix proximity and call detect conditions

ANDROID: sdcardfs: Squash Commit Update

Power charging modifications

AGNi control: reduce red value for night mode

AGNi control: add intelliplug option

AGNi control: add cafactive governor

AGNi pureCM-MM v7.1.1r2:-

exfat: implement errors=remount-ro

exfat: unlock pages under readonly status

exfat: link superblock for all the buffer head

clockevents: Prevent shift out of bounds

lpm-levels: Change _WARN_printf to pr_err when residency < 0

ipv4: keep skb->dst around in presence of IP options

drivers/usb: revert changes from 3.10.105

disable coresight tracing support

force fpc and goodix as kernel modules

AGNi installer: detect fingerprint hardware type during install

AGNi installer: load appropriate fp module on init

AGNi installer: patches init files for goodix support if goodix fp detected by installer

AGNi installer: kernel will have permissive selinux by default for goodix

r2: Changes to AGNi installer and devfreq and hwmon kernel updates

AGNi pureCM-MM v7.1:-

vidc updates

kernel/sched updates

net/tcp updates

kernel workqueue updates

AGNi: add gcc optimizations

Remove State Notifier & thunderplug

msm: mdss: Correct the AD backlight calculation formulas

msm: mdss: turn on the mdss clocks when enabling vsync

kthread_work: wake up worker only when the worker is idle

qcom: msm-core: interruptible wait

msm: vidc: disable CPU L2 cache PC during video sessions

cpufreq: cpu-boost: don't boost over user set max freq

mm/slub: don't wait for high-order page allocation

mm: do not activate swap write failed pages

msm: sps: fix kernel panic

UPSTREAM: kernel: Provide READ_ONCE and ASSIGN_ONCE

perf: arm64: implement CPU_PM notifier

perf: arm64: fix RCU usage on pmu resume from low-power

CHROMIUM: cgroups: relax permissions on moving tasks between cgroups

clocksource: Fix abs() usage w/ 64bit values

arm/dts: increase bus-width on GPU

GPU: add optimization flags to GPU drivers

msm: camera: sensor: Fix memory leaks when sensor probe fails

msm: camera: isp: Avoid unaligned register access

msm: camera: isp: Add different flags in spin lock

msm: qpnp-haptic: Work around poor fingerprint authentication haptics

fingerprint: fix init and check for string length for added security

touchscreen: ft5x06: disable the charging status flag

fix drivers: wakeup: block some wakeups

wake gesture: add proximity state api and implement in call detect

qpnp_fg qpnp_smbcharger: be silent in logs

DTS: kenzo: fix wrong reading for pa_therm1 thermal sensor

AGNi pureCM-MM v7.0:-

revert hall sensor from Xiaomi ido-l-oss

cpufreq: fallback to interactive if governor is not found

block: cfq: tuning

ARM: dts: kenzo: Change s5k5e8_z5e8yab eeprom according to miui mm dts

kenzo: Only allow one fingerprint device to be created & default to goodix

unified kernel for fpc & goodix

AGNi pureCM-MM v6.9:-

fs: drop_pagecache on suspend - Xiaomi ido-l-oss

drivers/input: update sensors from Xiaomi ido-l-oss

drivers/input: update sensors from Xiaomi thomas-kk-oss

qpnp-vibrator: implement vibration pattern from Xiaomi thomas-kk-oss

mdss: import screen modes from Xiaomi thomas-kk-oss

revert "some power driver fixes"

AGNi pureCM-MM v6.8:-

msm: thermal: add a module param to change the thermal throttle temperature point to userspace (set 60C default)

camera_v2: remove dual hw isp and combo csiphy support

DTS: screen panel dtsi changes (back-porch,panel-timings,reduce backlight-min-level,dsi-on-command)

AGNi pureCM-MM v6.7r2:-

v6.7-r2: (AGNi: allow latest Nougat camera_v2 & vidc for miui-MM & CM-MM's)

revert: "drivers: wakeup: add option to block wlan, alarmtimer & bluetooth_timer wakelocks"

Fix reboot issue after miui update 7.3.9

wakeup: remove display_on check

fs/sdcardfs: restore to LOS 14.1 state

kenzo: Use caf hall driver

wake gesture: modify voice call detection & remove vib_wake switch

modify wake gestures options with vibration strength in AGNi Control

AGNi pureCM-MM v6.6:-

drivers: wakeup: add options to block (un)popular battery wrecking wakelocks

drivers: wakeup: add option to block wlan, alarmtimer & bluetooth_timer wakelocks

net: rmnet_data: Silence "Unkown IOCTL" log spam

ANDROID: lib: vsprintf: updates

revert "ASoC: (LA.BR.1.3.6_rb1.16) msm: qdsp6v2: Add support to set volume in ASM loopback

prima: silence some log trace

net/sched: silence "quantum of class is big" log warning

revert "Decrease Time To Enter Sleep"

wake gestures: use is_display_on() & mdss_dsi to control conditional switch-off timer

kenzo: apply some misc changes by Xiaomi from hydrogen-m-oss source

AGNi pureCM-MM v6.5:-

cpufreq: add blu_active governor

Revert "msm: sensor: restore slave address after I2C read"

leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback

msm: (LA.BR.1.3.6_rb1.16) IPA: add the check on intf query

wake gestures: (Revision 2) implement conditional switch-off timer using delayed workqueue (fixed all bugs)

wake gestures: reEnable sweep2sleep sysfs

Agni control v1.1 with some polishing and changes

AGNi pureCM-MM v6.4:-

Fix Headset jack detect time missed changes

Merge caf/LA.BR.1.3.6_rb1.16

prima: Update to LA.BR.1.3.6_rb1.16

goodix: Disable all key event if new driver detected

input: misc: goodix_fp: Change netlink group to 29, return WLAN_FEATURE_RMC

kenzo: kill enable_spk_ext_pa and lazyplug's lazymode logspam

net: ipv6: Add sysctl for minimum prefix len acceptable in RIOs

cpufreq: add elementalx governor by flar2

add Interactive wingoku_battsave_4.1 governor profile in AGNi control

set no hotplug as default, add wake gesture duration in AGNi control

wake gestures: implement conditional switch-off timer using delayed workqueue

AGNi pureCM-MM v6.3:-

fingerprint: fpc: boost cpufreq on unlock

fingerprint: goodix: silence logspams

fingerprint: goodix: Support use netlink to communicate with user app

prima: disable WLAN_FEATURE_RMC: seems not used by hal, and conflict with goodix fpsensor driver

block: iosched: add fifo and vr

dts: Add missing clock-frequency property to CPU nodes

include/linux: Added support for GCC 6/7

msm_hotplug: restore original name for tunable msm_enabled

Makefile: fix ccache, remove graphite optimizations & fix build for a72.a53

Update UBERTC with GNU GCC 6.3.1

remove experimental tag for goodix in Aroma installer

set default zram swappiness 30 in AGNi Control

AGNi pureCM-MM v6.2:-

sound:soc: implement franco soundcontrol

fix fast charging dtsi values

arch/arm: dts: Add pstore DT & enable /proc/last_kmsg

ARM: dts: pstore: Match motorola configuration

Enable Arch Power

Revert "msm: thermal: add a module param to change the thermal throttle temperature point to userspace"

power: qpnp-smbcharger: Fix the BMD algo. disable logic

sysfs interface bool to Enable/Disable CRC

devfreq: Add a governor whitelist

PM: devfreq: Always reflect a change of polling interval

devfreq: gpu: added simple time_in_state stats

drivers: cpufreq: Send a uevent when governor changes

mdss: fix potential deadlock

Decrease Time To Enter Sleep

remove optional tweaks from aroma installer

AGNi pureCM-MM v6.1:-

SMBCHG: silence pr_info of lct_get_prop_batt_temp's chip->ntc_vadc and get_bat_temp

mm: dont unbound workqueue swap_work when work pending

net/wireless/scan: kill bss_free warning when wlan module unloading

ANDROID: binder: restore to LineageOS state

fix implementation of flar2 sound_control sysfs interface

soundcontrol: add support for older misc device sysfs interface

sound control can be handled from EX Kernel Manager,Kernel Auditor & AGNi Control

add adreno boost option in AGNi Control

AGNi pureCM-MM v6.0r2:-

disable RCU_BOOST and MMC DEFERRED RESUME

revert "time: Remove CONFIG_TIMER_STATS"

input: misc: goodix: Fix warning of unbalanced irq

Fast charge at max 2400mA, some battery charger & fuel guage driver fixes

writeback: Do not sort b_io list only because of block device inode

sctp: deny peeloff operation on asocs with threads sleeping on it

sound_control: implement flar2 sound_control sysfs interface (can also be used by EX kernel manager)

wake_gestures: modify wake_gesture_q6voice_detect application to input callbacks

Set Interactive stock governor profile as default in AGNi control

Add Quick Charge 2000->2400 mA option in AGNi control

AGNi pureCM-MM v5.9.1:-

fixed compatibility with Magisk v11.5

using latest busybox from magisk for AGNi control

revert "proc: Set androidboot.verifiedbootstate=green"

AGNi pureCM-MM v5.9:-

fs/sdcardfs: silence "sdcardfs: Failed to touch up lower fs gid/uid" error log

Use RCU_BOOST for msm8956 in conjunction with RCU_NOCB

Enable MMC DEFERRED RESUME

goodix: add msm_hotplug resume calls and boost cpu on touch (experimental)

revert "Small tweak for gpu bus frequencies"

disable selinux fake-enforced

add interactive-glassfish tweaked

add -5 and -10 speaker and headphone gain options in AGNi control

AGNi pureCM-MM v5.8:-

enable goodix only on non-fpc builds and disable fpc for goodix-builds

selinux: avc: do not deny when SECURITY_SELINUX_FORCE_PERMISSIVE or SECURITY_SELINUX_FAKE_ENFORCE is set

kill "Error: returning -512 value" in log when system suspend

remove zzmoove governors (not updated anymore and not optimised yet)

Update and enable maple ioscheduler

experimentally set default Interactive-DrunkSauceLite governor in AGNi control

AGNi pureCM-MM v5.7:-

ARM: dts: kenzo: Fix camera regulator voltage

revert some experimental goodix & fpc code

goodix fp: Add support to new reset ioctl

goodix will always have selinux permissive

ASoC: wcd-mbhc: Don't report headphone until timout

UPSTREAM: block: disable entropy contributions for nonrot devices

update sdcardfs

kenzo: enable appsbl qseecom support flag for M boot stack

Implement a different method to check if a voice session is active & disable wake gestures during voice sessions

interactive governor "DrunkSauceLite"-tweaked and set as default

tweaked cpu input boost option in AGNi Control

AGNi pureCM-MM v5.6:-

ASoC: msm: qdsp6v2: Add NEW simple API to check if a voice session is active & disable d2w and s2w during voice sessions (fixes screen freeze after remote voice call hangup)

random: Backport from linux-4.2 and remove frandom

AGNi pureCM-MM v5.5:-

ipc/shm: Fix shmat mmap nil-page protection

sctp: avoid BUG_ON on sctp_wait_for_sndbuf

BACKPORT: tcp: avoid infinite loop in tcp_splice_read()

ANDROID: ion: check for kref overflow

Wifi: remove some debugging

cpufreq: cache tunables for ondemand, conservative, alucard, chill, darkness, despair and relaxed governors(This makes them work better with big.LITTLE setups. Previously, all big cluster tunables were lost when a cluster went offline.)

Compatible with latest TWRPs including v3.1.x (resolved bootloop issue with newer TWRPs)

AGNi pureCM-MM v5.4:-

Wake gestures minor changes

Increase max readahead value to 1024

network related updates

android binder updates

cpufreq: interactive governor drops bits in time calculation

ASN.1: Fix actions on CHOICE elements with IMPLICIT tags

drivers: video: Add bounds checking in fb_cmap_to_user

sg_write()/bsg_write() is not fit to be called under KERNEL_DS

arm64: strcmp: align to 64B cache line

time: Remove CONFIG_TIMER_STATS

usb: gadget: f_accessory: Fix for UsbAccessory clean unbind.

lib: Update LZ4 compressor module v1.7.3 and lz4 ramdisk decompression support

zram: change usage of LZ4 to work with new LZ4 version

zsmalloc: require GFP in zs_malloc()

zram: user per-cpu compression streams

Update Zram & use CRYPTO_LZ4

UPSTREAM: staging: ion: Fix error handling in ion_buffer_create

AGNi pureCM-MM v5.3:-

ASoC: msm: qdsp6v2: Add simple API to check if a voice call is active

Disable d2w and s2w during voice calls

cpuidle: don't disable cpuidle when entering suspend

Revert "sdcardfs: Flag files as non-mappable"

Revert hbtp_input from LA.BR.1.3.6_rb1.14

AROMA installer updated to v3.00b1

AGNi pureCM-MM v5.2:-

sdcardfs updates

Merge LA.BR.1.3.6_rb1.14

prima: Update to LA.BR.1.3.6_rb1.14

proc: Set androidboot.verifiedbootstate=green

selinux will show as enforcing even if permissive mode is selected in aroma installer

Revert ipa from "Merge LA.BR.1.3.6_rb1.14"

AGNi pureCM-MM v5.1:-

Merge LA.BR.1.3.6_rb1.13

prima: Update to LA.BR.1.3.6_rb1.13

Merge Linux kernel 3.10.105

Fix incompatibility with Magisk-v11.1

Fix "run root as suid" error in wireless adb

zram: Max compression streams 4

Revert: "f2fs: reset default idle interval value" - arter97

BACKPORT: aio: mark AIO pseudo-fs noexec

cpufreq: cpu-boost: don't boost if input_boost_ms is <= 0

Updated chill and relaxed governors

lazyplug: Add highly aggressive lazy profile

Silences CPU suspend state kernel messages

AGNi pureCM-MM v5.0:-

Add lazyplug hotplug

Update qpnp fuel guage driver

drivers: thermal: queue work on system_power_efficient_wq

power: bcl: queue work on system_power_efficient_wq

Added cpu governors: relaxed, bioshock and despair

AGNi Control: set lazyplug hotplug default

AGNi Control: add relaxed, bioshock and despair governors for BIG & little clusters

AGNi Control: set impulse cpu governor as default for BIG & little clusters

AGNi Control: set USB fast charging On by default

AGNi pureCM-MM v4.8:-

revert "msm: ipa: fix the potential heap overflow on wan-driver

revert "msm: rndis_ipa: Remove rndis_ipa loopback functionality

Fix some dtb flashlight derps

Revert "dtsi: msm8976-regulator: remove regulator-always-on property"

AGNi pureCM-MM v4.7:-

Merge caf/LA.BR.1.3.6_rb1.12

prima: wifi Update to LA.BR.1.3.6_rb1.12

adreno_kgsl: re-implement KGSL_PROP_DEVICE_BITNESS

AGNi pureCM-MM v4.6:-

Topology: Enhance For MultiCore Decision Making

ARM: dts: msm: Set the default governor for cpubw to performance

arm64: topology: fix cpu power calculation

arm64, jump label: detect %c support for ARM64

UPSTREAM: arm64: jump labels: NOP out NOP -> NOP replacement

arm/arm64: crypto: boost performance

msm_adreno_tz: Add display state awareness

ARM64: defining macros to optimize power usage

thread_info: enhance power efficiency

hrtimer: enhance power efficiency

kernel: cpu: use cpu_read_relaxed on cpu_down()

lib: vsprintf, bitmap updates

sdcardfs related commits

fs: exfat: sync upstream version

cpu-boost: Bring up to latest iteration

AGNi pureCM-MM v4.5:-

disable selinux Strict Access Vector Cache Control in permissive mode

devfreq: Make adreno idler more aggressive

fs: sync: avoiding some overhead

leds-qpnp: Multi-color smooth LED support

cpu boost input boost tunable in AGNi control

zram size 500MB default in AGNi control

selinux mode quick switching in AGNi control (permissive <-> enforcing)

seperate cpu governor options for each cluster in AGNi control

f2fs: set dentry bits on random location in memory (probable fix for SuperSU issues on f2fs - arter97)

AGNi pureCM-MM v4.4:-

prima: Update wifi driver to LA.BR.1.3.6_rb1.10

mdss: move to a kthread for vsync_retire_work_handler

kgsl: convert some workqueues to use kthreads

android: binder updates

Arm64: Enable Dcache word access

msm_rmnet: Kill logspam

power: wakeup: prevent IPA_WS wakelock from being acquired by default

zram: use appropriate compression streams number

msm: qdsp6v2: Allow 320K AAC encoding

cpufreq: Break out early when frequency equals target_freq

cpufreq: ondemand: Eliminate the deadband effect

Optimize ARM memset and memzero functions

Power efficient workqueue patches (squashed)

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

adreno_tz: Check that partner_gpu_profile is not NULL before using it

Offload RCU callbacks from all CPUs

selinux option in Aroma Installer

AGNi pureCM-MM v4.3:-

lowmemorykiller: account for unevictable pages

arm64: kill off the libgcc dependency

prima: Migrate QC prima wireless driver to official CM14.1 state

Apply ipa_uc.c from caf/LA.BR.1.3.6_rb1.10

Merge caf/LA.BR.1.3.6_rb1.11

AGNi pureCM-MM v4.2:-

revert many network related commits

Merged caf/LA.BR.1.3.6_rb1.10 again

AGNi pureCM-MM v4.1:-

Revert: "Merge caf/LA.BR.1.3.6_rb1.10"

kgsl: convert some workqueues to use kthreads

applied maximum Stable cpu undervolt

per-task/per-process cpufreq statistics

improve cpuidle

block: cfq,zen update

tweak MSM-hotplug

camera_v2/vidc LA.BR.1.3.4_rb1.28

prima: Update QC prima wireless driver LA.BR.1.3.6_rb1.10

AGNi pureCM-MM v4.0:-

sync cm sources:

-add sdcardfs

-video: Revert back to basic livedisplay driver

input: Handle an additional framebuffer hint (This fixes touch in Ambient Display)

Reduce dt2w time between taps

Revert: "prima: Update QC prima wireless driver LA.BR.1.3.6_rb1.10"

Revert ipa_uc.c from caf/LA.BR.1.3.6_rb1.10

AGNi pureCM-MM v3.9:-

ASoC: wcd9335: add earpiece gain control

tune for cortex-a72.cortex-a53+crypto + add graphite optimisations

input: atmel_mxt_ts: Add double tap sysfs symlink

arm64: lib: use pair accessors for copy_*_user routines

UPSTREAM: staging/android/ion : fix a race condition in the ion driver

net: ping: Fix stack buffer overflow in ping_common_sendmsg()

UPSTREAM: arm64: vdso: Mark vDSO code as read-only

ANDROID: dm verity: add minimum prefetch size

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

bfq-sched: Forcefully lookup entities when the cache is inconsistent

lib/crc32 updates

msm8976/56: dts: enable kgsl POPP

crypto: arm64/sha updates

enable TASKSTATS & NETFILTER_XT_TARGET_HL

other Upstream & backported network related commits

AGNi pureCM-MM v3.8:-

Merge caf/LA.BR.1.3.6_rb1.10

prima: Update QC prima wireless driver LA.BR.1.3.6_rb1.10

netfilter: x_tables: check for size overflow

tty: Fix hang at ldsem_down_read()

fs: ext4: disable support for fallocate FALLOC_FL_PUNCH_HOLE

sg: Fix double-free when drives detach during SG_IO

BACKPORT: tty: Prevent ldisc drivers from re-using stale tty fields

enable IP_NF_MATCH_RPFILTER & IP6_NF_MATCH_RPFILTER

AGNi pureCM-MM v3.7:-

Revert: "prima: Update QC prima wireless driver LA.BR.1.3.6_rb1.9"

reAdded Max LITTLE cpu frequency 1440 Mhz

AGNi pureCM-MM v3.6:-

prima: Update QC prima wireless driver LA.BR.1.3.6_rb1.9

ASoC: wcd9335: soundcontrol sysfs with sound_control_3 sysfs"

fpc1020_tee: Add switch to boost tasks to the big cores when touched anytime

AGNi control: boost tasks to the big cores when fp touched option

diag & ipa from caf/LA.BR.1.3.6_rb1.8

Merge caf/LA.BR.1.3.6_rb1.9

Revert qpnp fuel guage driver from 'CM_xiaomi_msm8956/cm-14.1'

enable IP_NF_TARGET_TTL

proc: much faster /proc/vmstat

Wake Gestures: sweep2wake default on until init.d scripts executed

input: ft5x06: Add option to disable keypad

input: atmel_mxt_ts: Add option to disable keypad

sched: fair: reduce preemption latency

ASoC: wcd-mbhc: disable fake electrical interrupts

ASoC: compress: Don't error on both playback and capture being set

AGNi pureCM-MM v3.5r2:-

fix derps from 'CM_xiaomi_msm8956/cm-14.1' - (Max big cpu frequency 1804 Mhz, Fix hall sensor support)

QPNP_FG: modifications from 'CM_xiaomi_msm8956/cm-14.1' only on CM-N

Revert diag & ipa from 'CM_xiaomi_msm8956/cm-14.1'

AGNi pureCM-MM v3.5:-

Merge remote-tracking branch 'CM_xiaomi_msm8956/cm-14.1'

AGNi pureCM-MM v3.4r2:-

Disable CONFIG_HALL, we need only CONFIG_SENSORS_HALL

fpc1020_tee: boost cpufreq & boost tasks to the big cores when touched anytime - remove unwanted stuff

camera_v2: use MM code state for MIUI-MM & CM-MM

Revert: "[BACKPORT] Implement zen-tune v4.5"

Revert: "sched: Add a check for cpu unbound deferrable timers"

Revert: "nohz: Get timekeeping max deferment outside jiffies_lock"

ASoC: wcd9335: faux sound_control app compatibility

AGNi Control: Add sound conrol and fix sweep2wake

USB: UICC: Set Root HUB speed as USB2 (caf/LA.BR.1.3.6_rb1.8)

ion: disable system contig heap (caf/LA.BR.1.3.6_rb1.8)

AGNi pureCM-MM v3.4:-

ASoC: wcd9335: Sound control (flar2)

Merge caf/LA.BR.1.3.6_rb1.8 (partial)

ext4 check & repair now optional in aroma installer

AGNi pureCM-MM v3.2:-

prima: Update QC prima wireless driver v3.0.11.61 to v3.0.11.66

fpc1020_tee: boost cpufreq & boost tasks to the big cores when touched anytime

AGNi Control: add Dynamic fsync & Light-Warm screen mode options

ext4 filesystem auto check & repair on each kernel install

Disable TouchBoost

AGNi pureCM-MM v3.2:-

qseecom: Fix SEND_MODFD ioctl failures for preloaded apps

add toggles for wakelocks

mdss_fb: backlight dimmer option

power: process: decrease time to enter sleep

power: quickwakeup: initial driver

fingerprint: boost cpufreq on unlock & boost tasks to the big cores when the scanner is used

sched: Add a check for cpu unbound deferrable timers

nohz: Get timekeeping max deferment outside jiffies_lock

cpufreq: Add Chill cpu governor

msm_adreno_tz: add adrenoboost

use big.Little a72/a53 compiler optimizations

Screen Tweak: Warm mode added to AGNi Control

Auto apply of AGNi control settings after reboot fixed

AGNi pureCM-MM v3.1:-

Built with GCC UBERTC 6.1.1

Screen modes in AGNi Control: Standard, Vivid, Reading, Night, LiveDisplay (attempted replication, may not be 100% same)

AGNi pureCM-MM v3.0:-

Based on caf/LA.BR.1.3.6_rb1.7

Update QC prima WiFi wireless driver v3.0.11.61 from LA.BR.1.3.6_rb1.7

tcp: fix use after free in tcp_xmit_retransmit_queue()

KEYS: Fix short sprintf buffer in /proc/keys show function

[PATCH] Fix a bug in __qseecom_update_cmd_buf (probable fix for full-disk encryption setup failures for CyanogenMod)

msm: thermal: add a module param to change the thermal throttle temperature point to userspace

tick: don't update idle time if cpu offline

msm: Fix high load average from uninterruptible waits

camera: better flash at most times

add goodix and fpc firmware & libs

add ironactive governor

Adreno idler available in AGNi control

drivers/staging/zram: zcomp_lz4, zcomp_lzo from Motorola MMI-MPD24.107-52

ram memory management changes from XiaoMI MI MAX

AGNi pureCM-MM v2.7:-

CM led driver - use proper max brightness values

Optional system tweaks in AGNi control (picked from radon)

interactive-tweak option in agni control

AGNi pureCM-MM v2.6r3:-

Upstream to linux 3.10.104

Hide verifiedbootstate to fix the failed SafetyNet CTS check.

audio: wcd9xxx-core,wcd9335: Bring to Xiaomi kenzo LP source state

goodix fp support (experimental)

disable livedisplay (no screen flickering)

get led notification working

AGNi pureCM-MM v2.5:-

based on caf/LA.BR.1.3.4_rb1.19

prima: Update QC prima wireless driver to v3.0.11.57

Revert: "cpufreq: cpu-boost: Remove migration sync boost"

drivers/mmc: timeout and other updates

Update gpu bus and power levels

Import stock mi camera drivers

Colour tweak mode 2 in Agni control (from Radon)

Zen IOsched option in Agni Control

AGNi pureCM-MM v2.4:-

Based on caf/LA.BR.1.3.6_rb1.5

WIP: Camera fixes (directed at better flash timing for CM-N)

Using Busybox v1.26.0 specifically compiled for AGNi (/sbin/busybox)

LCD hardware information can be seen in AGNi Control (options at end)

Goodix FP option to install specific libs

AGNi pureCM-MM v2.3:-

Based on caf/LA.BR.1.3.6

Asoc,codecs,qdsp6v2: Restore to Xiaomi kenzo LP source state

vidc updates

livedisplay fixed

wake gestures: disable vibration (to enable: echo 1 > /sys/android_touch/vib_wake)

Touch panel and camera information can be seen in AGNi Control (options at end)

AGNi pureCM-MM v2.2r3:-

Merge 'caf/LA.BR.1.3.6_rb1.6' and cm-14.0 sources

add support for STK3X1X sensortek proximity/ambient light sensor

fixed video recording issue

AGNi pureCM-MM v2.1r1:-

Interactive tuning

Fix missing boardtemp thermal sensor

wake gestures: make horizontal sweep more sensitive

Update goodix and fpc drivers

Fix hall sensor support

Merge remote branch caf/LA.BR.1.3.4_rb1.22

Properly Implement CM livedisplay

AGNi pureCM-MM v2.0r4:-

mdss: add missing bits for LiveDisplay

AGNi control: fix derp in max cpu freq scripts for BIG cores (no longer stuck to 1.4GHz)

fix leds not blinking

mdss updates

Merge remote-tracking branch 'caf/LA.BR.1.3.6_rb1.6'

AGNi pureCM-MM v2.0:-

added 400MHz cpu freq option

KSM support added default off (not included in agni control)

msm_eeprom: fixed s5k3p3_f3p3man camera sensor

msm_sensor: show camera module info in CIT

Revert powersuspend version 1.5

remove thunderplug in favour of MSM-HOTPLUG

added option for selecting stock or CM led drivers in aroma installer

AGNi pureCM-MM v1.9:-

ft5x06_ts: show touchscreen info and firmware

Update wifi driver 3.0.10.085 --> 3.0.11.51

Implemented AGNi Control app (controls: CPU governor, IO schedulers, CPU hotplugging types, zram, screen color tweak and more)

AGNi pureCM-MM v1.8:-

disable unneeded support for SYSVIPC

enable support for s5k3p3_f3p3man camera sensor

screen colors tweak

applied goodix fingerprint by alexstsv2

AGNi pureCM-MM v1.7:-

fs: dynamic sync 2.0

msm_hotplug v2.4

msm: sensor: Avoid potential stack overflow

drivers: cpuidle: msm: Use 64 bit type for sclk

cpufreq: interactive: reduce timer with screen off

Implement flar2's ElementalX Wake Gesture

Add s5k3p_f16s01c camera sensor support

USB: f_accessory: Fix NULL pointer dereference in acc_read()

tcp_output: set initial TCP window size to 64K

AGNi pureCM-MM v1.6:-

IO Governors: sio fiops sioplus row tripndroid zen cfq deadline bfq

CPU Governors: impulse darkness alucard zzmoove interactive

Thunderplug v5.0 hotplug algorithm

exFAT newer version

Dynamic Fsync v1.2

USB Fast Charge enabled

HID USB keyboard/mouse support

Sound control with basic functionality

frandom hwrng

selinux permissive to (avoid goodix related issues)

enable advanced tcp/ip congestion, default westwood

1 GB fast LZ4 Zram enabled

KCAL Control

Upstream to 3.10.103

AND MANY OTHERS ... refer github :p

Download the app for supporting this keyboard & mouse feature HERE

DOWNLOADS:- HERE

XDA:DevDB Information

AGNi kernel, Kernel for the Xiaomi Redmi Note 3

Contributors

psndna88

Source Code: https://github.com/psndna88/AGNi_pureMIUI.git

Kernel Special Features: Based on caf/LA.BR.1.3.7_rb1.5, LOS15.0 official sources with selectively picked mods/patches

Version Information

Status: Stable

Created 2016-09-27

Last Updated 2018-02-09