[Nexus 6P Android Development] nathanchance:
Update for M and N!

Couple of major changes here along with minor patches to help. First is that I have reverted Fauxsound (since it is deprecated) and added Franco's sound along with High Performance Audio (thank you to [MENTION=2967322]buckmarble[/MENTION] for the commits!). There are also some CAF patches that will also improve sound. I think the sound is more natural now, especially in combination with ARISE, which I recommend you check out. Second are some scheduler commits from CAF that allow the phone to use a little less power and manage its frequencies better. I've found there is only battery to be gained, the phone still feels snappy. There will be more of these in the future but I want to see how they go. As always, let me know if there are issues using the process in the OP.

Additionally, my current settings in the OP have been updated. I am really enjoying [MENTION=4151089]xperator[/MENTION]'s BlackPepper profile available here. Great on battery and performance.

Downloads: v1.2 for M and v2.2 for N

Changelog for M:

Short list:

Version 1.2

Revert Fauxsound and add Franco's sound control

Some CAF sound patches

Some CAF network patches

Some CAF scheduler patches

Latest Linaro 6.1 source

Full list: (see Github for full details)

68a8ff6 NINJA: v1.2

9df554d Sound: fix static

7e04678 Sound Control: add Francos sound control with high performance audio control pull from here: https://github.com/Elite-Kernels/Elite_M8/commit/b3c14f0f5d8f5d5f847431e489fd16ccd6f5a733

fa91be2 Revert Fauxsound (SQUASHED)

a8f71f1 usb: gadget: cleanup: removing duplicate bulk out ep alloc

ff9c1aa Android: MMC IO Latency Histograms.

fc6d317 cpumask, nodemask: implement cpumask/nodemask_pr_args()

0b4f63c kernel: make READ_ONCE() valid on const arguments

03406ff kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)

4d544c9 kernel: Provide READ_ONCE and ASSIGN_ONCE

bad6069 CHROMIUM: net: wireless: bcmdhd: tighten up parsing BTCOEXMODE command

b802e2b CHROMIUM: net: wireless: bcmdhd: do not save btcoex state in statics

deadde2 CHROMIUM: net: wireless: bcmdhd: restore btcoex parameters synchronously

d9522f9 CHROMIUM: net: wireless: bcmdhd: use delayed work when setting btcoex

b5e6bb1 CHROMIUM: net: wireless: bcmdhd: remove split brain p2p unregister code

314482b CHROMIUM: net: wireless: bcmdhd: avoid globals in btcoex handling

4f8b438 CHROMIUM: net: wireless: bcmdhd: get rid of COEX_DHCP ifdefs

31501bb CHROMIUM: net: wireless: bcmdhd: get rid of DNGL_FUNC macro

5408e7c CHROMIUM: net: wireless: bcmdhd: Fix system hang when FW download hit with SDIO bus errors

c07fdb3 Revert "soc: qcom: pil-msa: Correct the modem metadata error path"

9068057 soc: qcom: watchdog_v2: update last_pet variable during resume

27ede6d soc: qcom: pil-msa: Correct the modem metadata error path

5202ba9 soc: qcom: watchdog_v2: add support to enable watchdog feature

9dc873a soc: qcom: Add a delay after sending the SUBSYS_SOC_RESET notification

848b8ce soc: qcom: memory_dump_v2: use kmemleak_not_leak for mem dump's app table

0180f13 soc: qcom: pil-q6v5: Modify the q6 reset sequence for pil-q6v55-mss.

2fdfe4a soc: qcom: watchdog_v2: use kmemleak_not_leak for cpu context dump data

03201d9 soc: qcom: msm_audio_ion: export ION alloc and free functions

34f87c2 soc: qcom: smem: add partition information

f837e1a soc: qcom: bam_dmux: Correct payload length handing for dynamic mtu

4d70fbf soc: qcom: dcc: add support for CRC mode

304a2b1 soc: qcom: dcc: fix uninitialized variable bug in dcc_ll_cfg function

6881618 soc: qcom: dcc: add support for DCC driver

4e2c6e3 qcom: common_log: add support to dump VSENSE registers

c04b51c soc: qcom: glink: add error logging for glink_tx failures

4fd913a soc: qcom: glink: Remove redundant reinit() of completion variable

682e588 soc: qcom: glink_pkt: Add auto-intent queuing support

46d9017 soc: qcom: ramdump: Use dma_remap/dma_unremap for ramdump read

b9f0cc9 memshare: Change dma attribute to DMA_ATTR_NO_KERNEL_MAPPING

dfa5558 soc: qcom: bam_dmux: Use SPS hold mem flag

95a8d0d soc: qcom: bam_dmux: Add fast-shutdown flag

c4b5e15 cpaccess: Remove memory protection

5fd2354 ASoC: audio: add rate limit for prints to avoid excessive logging

06692fa arm64: atomic: add missing macros

fa729dd llist: defining relaxed version of llist_empty

41508ab hrtimer: enhance power efficiency

06878d7 thread_info: enhance power efficiency

d71095c arm64: processor.h: remove redundant macros

6c1398b ARM64: defining macros to optimize power usage

6ead890 arm: asm: relaxed.h: defined relaxed.h

d1c4fbc asm-generic: processor.h: remove redundant macros

4058c54 asm-generic: processor.h: adding new header file

0316143 arm64: atomic.h: defining relaxed atomic_read

53c82e2 arm: atomic.h: defined relaxed atomic_read

2951494 asm-generic: atomic.h: relaxed atomic_read

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

ced505e PM / devfreq: governor_cpufreq: Fix incorrect refcounting of OF node

575d946 workqueue: Fix workqueue stall issue after cpu down failure

38156f5 workqueue: clear POOL_DISASSOCIATED in rebind_workers()

f1acd61 UPSTREAM: proc: actually make proc_fd_permission() thread-friendly

1bf14dd UPSTREAM: proc: make proc_fd_permission() thread-friendly

00d92c6 input: synaptics: use a higher prio workqueue

23230cb msm: mdss: optimize DSI command delay semantics

ec1bb38 PM / sleep: Allow devices without runtime PM to do direct-complete

adc2c51 PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily

d247e80 PM / Runtime: Fix error path for prepare

815d842 PM / Sleep: new trace event to print device suspend and resume times

98295be PM / Sleep: fix async suspend_late/freeze_late error handling

e9552fe PM / sleep: we don't have reinit_completion so revert to the old pal INIT_COMPLETION

aef24c6 PM / sleep: Asynchronous threads for suspend_late

64bad92 PM / sleep: Asynchronous threads for suspend_noirq

4bd4deb PM / sleep: Asynchronous threads for resume_early

38ab55cb PM / sleep: Asynchronous threads for resume_noirq

629c91e PM / sleep: Two flags for async suspend_noirq and suspend_late

d857b23 Revert "PM: Enable asynchronous noirq resume threads to save the resuming time"

79bcd9f arm64: asm: relaxed.h: defined relaxed.h

2708983 asm-generic: relaxed.h: defined relaxed.h

38fcac0 UPSTREAM: arm64: module: avoid undefined shift behavior in reloc_data()

5749513 UPSTREAM: arm64: module: fix relocation of movz instruction with negative immediate

f1b4df4 msm8994: Decrease thermal threshold's freq step

10e830c Get rid of __cpuinit - squashed (jollaman999)

4893a00 sched: Set sched_upmigrate_min_nice to 9

7c73ea4 sched: hmp: Change sched_small_task to 30

17c0493 sched: Change default hmp values for msm8992/msm8994

b97aaed sched: avoid unnecessary HMP scheduler stat re-accounting

c00eedd sched: Fix exec_start/task_hot on migrated tasks

2a98fdb sched/fair: Avoid integer overflow

6955850 sched/balancing: Reduce the rate of needless idle load balancing

754cc1d sched/fair: Stop searching for tasks in newidle balance if there are runnable tasks

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

fa1172a sched: auto adjust the upmigrate and downmigrate thresholds

8c172f1 sched: don't inherit initial task load from the parent

4a968af sched: fix incorrect wait time and wait count statistics

1517453 sched: s/do_each_thread/for_each_process_thread/ in core.c

c553094 sched/core: Fix an SMP ordering race in try_to_wake_up() vs. schedule()

563911c sched: Fix RLIMIT_RTTIME when PI-boosting to RT

ccdd30c sched: Queue RT tasks to head when prio drops

8967ada sched: Force sleep on consecutive sched_yields

21b2a09 arm64: use the new *_relaxed macros for lower power usage

Changelog for N:

Short list:

Version 2.2

Revert Fauxsound and add Franco's sound control

Some CAF sound patches

Some CAF network patches

Some CAF scheduler patches

Latest Linaro 6.1 source

Full list: (see Github for full details)

18d6417 NINJA: v2.2

1ccb9996 Sound: fix static

ac1c5ae Sound Control: add Francos sound control with high performance audio control pull from here: https://github.com/Elite-Kernels/Elite_M8/commit/b3c14f0f5d8f5d5f847431e489fd16ccd6f5a733

25456ba Revert Fauxsound (SQUASHED)

a5709a7 usb: gadget: cleanup: removing duplicate bulk out ep alloc

15945c3 Android: MMC IO Latency Histograms.

a681008 cpumask, nodemask: implement cpumask/nodemask_pr_args()

251cb03 kernel: make READ_ONCE() valid on const arguments

6e91928 kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)

d84c062 kernel: Provide READ_ONCE and ASSIGN_ONCE

d7d9751 CHROMIUM: net: wireless: bcmdhd: tighten up parsing BTCOEXMODE command

731ed43 CHROMIUM: net: wireless: bcmdhd: do not save btcoex state in statics

4f553db CHROMIUM: net: wireless: bcmdhd: restore btcoex parameters synchronously

8e9a900 CHROMIUM: net: wireless: bcmdhd: use delayed work when setting btcoex

904a221 CHROMIUM: net: wireless: bcmdhd: remove split brain p2p unregister code

1cfa368 CHROMIUM: net: wireless: bcmdhd: avoid globals in btcoex handling

7b91df4 CHROMIUM: net: wireless: bcmdhd: get rid of COEX_DHCP ifdefs

4900a7c CHROMIUM: net: wireless: bcmdhd: get rid of DNGL_FUNC macro

17b0d6c CHROMIUM: net: wireless: bcmdhd: Fix system hang when FW download hit with SDIO bus errors

6eab4db Revert "soc: qcom: pil-msa: Correct the modem metadata error path"

0ea78a2 soc: qcom: watchdog_v2: update last_pet variable during resume

54866b2 soc: qcom: pil-msa: Correct the modem metadata error path

b0a7f1f soc: qcom: watchdog_v2: add support to enable watchdog feature

9625f93 soc: qcom: Add a delay after sending the SUBSYS_SOC_RESET notification

57d109b soc: qcom: memory_dump_v2: use kmemleak_not_leak for mem dump's app table

bb6f58e soc: qcom: pil-q6v5: Modify the q6 reset sequence for pil-q6v55-mss.

0e84a89 soc: qcom: watchdog_v2: use kmemleak_not_leak for cpu context dump data

d2a448b soc: qcom: msm_audio_ion: export ION alloc and free functions

dcfbb4c soc: qcom: smem: add partition information

a49a4e6 soc: qcom: bam_dmux: Correct payload length handing for dynamic mtu

a98c4ae soc: qcom: dcc: add support for CRC mode

a74be90 soc: qcom: dcc: fix uninitialized variable bug in dcc_ll_cfg function

3969ced soc: qcom: dcc: add support for DCC driver

75adfe1 qcom: common_log: add support to dump VSENSE registers

095d3cb soc: qcom: glink: add error logging for glink_tx failures

ba83075 soc: qcom: glink: Remove redundant reinit() of completion variable

1598362 soc: qcom: glink_pkt: Add auto-intent queuing support

847890d soc: qcom: ramdump: Use dma_remap/dma_unremap for ramdump read

a476663 memshare: Change dma attribute to DMA_ATTR_NO_KERNEL_MAPPING

45912f6 soc: qcom: bam_dmux: Use SPS hold mem flag

ef1ca5b soc: qcom: bam_dmux: Add fast-shutdown flag

faac618 cpaccess: Remove memory protection

b78ac8e ASoC: audio: add rate limit for prints to avoid excessive logging

aeca89a arm64: atomic: add missing macros

9b023bf llist: defining relaxed version of llist_empty

3081a34 hrtimer: enhance power efficiency

f6a3fdf thread_info: enhance power efficiency

20ce702 arm64: processor.h: remove redundant macros

ddf372e ARM64: defining macros to optimize power usage

84a8d96 arm: asm: relaxed.h: defined relaxed.h

1480914 asm-generic: processor.h: remove redundant macros

9849c13 asm-generic: processor.h: adding new header file

3aecb07 arm64: atomic.h: defining relaxed atomic_read

4168be4 arm: atomic.h: defined relaxed atomic_read

00c18a9 asm-generic: atomic.h: relaxed atomic_read

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

a2deb62 PM / devfreq: governor_cpufreq: Fix incorrect refcounting of OF node

ebca7ee workqueue: Fix workqueue stall issue after cpu down failure

5f9133f workqueue: clear POOL_DISASSOCIATED in rebind_workers()

8c4668d input: synaptics: use a higher prio workqueue

42330c7 msm: mdss: optimize DSI command delay semantics

e99d0d8 PM / sleep: Allow devices without runtime PM to do direct-complete

417ea39 PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily

bc0e82f PM / Runtime: Fix error path for prepare

8e1fc92 PM / Sleep: new trace event to print device suspend and resume times

89fface PM / Sleep: fix async suspend_late/freeze_late error handling

ebe1125 PM / sleep: we don't have reinit_completion so revert to the old pal INIT_COMPLETION

0d442b3 PM / sleep: Asynchronous threads for suspend_late

3980687 PM / sleep: Asynchronous threads for suspend_noirq

bde0e63 PM / sleep: Asynchronous threads for resume_early

cda7ee5 PM / sleep: Asynchronous threads for resume_noirq

c4f01b2 PM / sleep: Two flags for async suspend_noirq and suspend_late

4f2a8e3 Revert "PM: Enable asynchronous noirq resume threads to save the resuming time"

ac1a24f arm64: asm: relaxed.h: defined relaxed.h

7d2c4a5 asm-generic: relaxed.h: defined relaxed.h

dde05bc UPSTREAM: arm64: module: avoid undefined shift behavior in reloc_data()

d0b8d2c UPSTREAM: arm64: module: fix relocation of movz instruction with negative immediate

e4a35c1 msm8994: Decrease thermal threshold's freq step

53cf21a Get rid of __cpuinit - squashed (jollaman999)

ac77d06 sched: Set sched_upmigrate_min_nice to 9

f42cb15 sched: hmp: Change sched_small_task to 30

cb03186 sched: Change default hmp values for msm8992/msm8994

55efbd7 sched: avoid unnecessary HMP scheduler stat re-accounting

997e225 sched: Fix exec_start/task_hot on migrated tasks

cd13348 sched/fair: Avoid integer overflow

9c08337 sched/balancing: Reduce the rate of needless idle load balancing

8157c5c sched/fair: Stop searching for tasks in newidle balance if there are runnable tasks

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

0537cd7 sched: auto adjust the upmigrate and downmigrate thresholds

281993d sched: don't inherit initial task load from the parent

fa3d342 sched: fix incorrect wait time and wait count statistics

3c2edfb sched: s/do_each_thread/for_each_process_thread/ in core.c

7cecb07 sched/core: Fix an SMP ordering race in try_to_wake_up() vs. schedule()

14199e4 sched: Fix RLIMIT_RTTIME when PI-boosting to RT

dc085f2 sched: Queue RT tasks to head when prio drops

f4eff6d sched: Force sleep on consecutive sched_yields

d97d3d5 arm64: use the new *_relaxed macros for lower power usage