[G2 Android Development] RenderBroken:
R1 for LP-CAF is HERE!!!

Downloads

Things to note:

I am still blind Dev'n so expect some issues. If there is one, PLEASE get me some logs using Syslog!

Check OP#1 to see what features I have added.

AnyKernel!!! OMG!! No more Ramdisk BS Updating! It should work on all LP-CAF Roms!

See the huge changelog below for all the details.

Changelog:

4e3aed7 (HEAD, origin/r1-t1, origin/cm-12.x-caf, r1-t1, cm-12.x-caf) Defconfig: Minor fixes

99ef942 Build: Remote DTB Files during clean build

0bf20d2 Interactive: Remove get_cpuidle_time

e0f366a Defconfig: Update for R1

1870920 genirq: Add devm_request_any_context_irq()

5df5755 genirq: Prevent spurious detection for unconditionally polled interrupts

97250ae genirq: Set the irq thread policy without checking CAP_SYS_NICE

ede6f00 genirq: Set irq thread to RT priority on creation

a4c4c8f genirq: Provide means to retrigger parent

2bebf8b genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n

ec1ad5f genirq: Remove racy waitqueue_active check

48a005c irq: Enable all irqs unconditionally in irq_resume

6221514 mdss: fb: wait for idle only on last fb release

6b937b6 msm: mdss: release the mutex on rotator kickoff failure

e035af8 PM / Wakeup: Use rcu callbacks for better performance

60d2ac1 workqueue: usb: move hub init and LED blink work to power efficient workqueue

86fb594 workqueue: net: rfkill: move poll work to power efficient workqueue

dd96353 workqueue: net: wireless: move regulatory timeout work to power efficient workqueue

eee6234 workqueue: asoc: compress: Use power efficient workqueue

a1aa508 workqueue: fbcon: queue work on power efficient wq

97aecfc workqueue: timekeeping: move clock sync work to power efficient workqueue

698f77a workqueue: asoc: jack: Use power efficient workqueue

cf9063c workqueue: asoc: pcm: Use the power efficient workqueue for delayed powerdown

dcb51fe workqueue: phylib: queue work on system_power_efficient_wq

d9b6a19 workqueue: block: queue work on power efficient wq

ce1386f net/neighbour: queue work on power efficient wq

a30c2eb workqueue: rename kernel/workqueue_sched.h to kernel/workqueue_internal.h

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

d41a355d workqueue: Add system wide power_efficient workqueues

20c5acc workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues

ca0afb0 lowmemorykiller: Dump out slab state information

d58a22b staging: android: lmk: Tune up

75ad3c7 staging: android: lowmemorykiller: set TIF_MEMDIE before send kill sig

8dec614 staging:android:lmk: Use for_each_thread helper

343c536 lowmemorykiller: Do proper NULL checks

a39e5e4 staging: android: lmk: add rcu lock while test task flag

2319835 staging: android: lmk: check TIF directly

7385f3b staging: android: lmk: skip if killed by lmk

f16f92d staging: android: lmk: check free memory when tasks switch to background

efdc095 staging: android: lowmemorykiller: implement task's adj rbtree

866f142 trace: memkill: provide fixed zone info columns.

ec0393d trace: memkill: per-zone page state for LMK

8cdca0c trace: allow memkill tracing to be selectively enabled

aa7c747 trace: memkill: trace LMK and OOM kills

6c98220 staging: android: lowmemorykiller: select a new task to kill

c49796e android/lowmemorykiller: Account for total_swapcache_pages

c8792cb lowmemorykiller: enhance debug information

10c68a4 lowmemorykiller: make default lowmemorykiller debug message useful

1a54224 mm, oom: make dump_tasks public

825cfbd introduce for_each_thread() to replace the buggy while_each_thread()

0cb2c57 block: deadline: Optimize for non-rotational

2fe0b33 writeback: fix occasional slow sync(1)

7c4dc91 sync: don't block the flusher thread waiting on IO

5f7e9dd cfq-iosched: fix the setting of IOPS mode on SSDs

29bc994 block: Make CFQ default to IOPS mode on SSDs

2e7b194 power: catch wake-up requests in suspend_again

add42bc msm: lpm-levels: add suspend_again handler

7ee696e power: quickwakeup: initial driver

cc53c6a sched: Add controls for sched features

afe52f4 power: make sync on suspend optional

564e2d2 block: Disable IO Stats

3d0859a AIO: Don't plug the I/O queue in do_io_submit()

b7adf6a arm/dt: msm8974: Lower GPU voltage constraints

1947af1 writeback: increase bdi_min_ratio to 5 in light of the latest writeback commit.

f2c4a18 mdss: use an interruptible thread on edp to reduce load_average

8b49a35 linux: blkdev: disable add random * this is a flash device we don't have a spinning storage like a hdd

49c918e xz: Optimize Sfck Compression

fc6212b msm: cpufreq: Break early if target freq is current freq

6120a18 cpufreq: Blu_Active: Initial Port for G2

293ffd3 CPUFREQ: Lionheart: Initial Port for G2

6d1e83f devfreq: adreno_idler: Clean up

c23715c devfreq: adreno_idler: Use state notifier helper

2689e7c devfreq: Introduce Adreno idler for devfreq-based devices

552d7e9 drivers: state_notifier: Export suspend status

e8978d4 msm: Clean-up hotplug drivers

971e926 msm: thermal: simple: Remove unnecessary check

3a8cb46 thermal: msm: simple: Clean up 'enabled' sysfs node

3243fca thermal: msm: simple: Fix on/off switch

924be50 thermal: Add simple standalone MSM thermal solution

42e17e4 Defconfig: Update

af8c234 drivers: state_notifier: Implement suspend_defer_timer

56ce7c8 msm: simple gpu Algorithm: Initial coding for devfreq based Adreno Drivers

eb627e0 selinux: Add option to force audit

8c45b62 block: scheduler: add TRIPNDROID

dec180f CPUFREQ: IntelliMinMax: Initial Port for G2

2502bb0 CPUFREQ: Impulse: Initial port of [MENTION=3795148]neobuddy89[/MENTION] 's conservative take on Interactive

4bdd957 block: zen: Optimize usage for android

9b2ea69 tick: don't update idle time if cpu offline

ee202c4 mm/page-writeback.c: fix dirty_balance_reserve subtraction from dirtyable memory

d7f6554 block: Reserve only one queue tag for sync IO if only 3 tags are available

910019c readahead: make context readahead more conservative

8df4499 writeback: fix race that cause writeback hung

7715f34 mm: vmscan: If kswapd has been running too long, allow it to sleep

8bc82ed Input: Send events one packet at a time

8ad1910 CPUFREQ: YankActive: Initial Port for G2

733f76e PM: Enable asynchronous noirq resume threads to save the resuming time

f741fc4 sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire

54c4383 mmc: add support for scheduling mmcqd on idle CPU

c4c2ac3 msm: msm_rq_stats: Tone down mpdecision

d84f415 irq: ratelimit is useless

833c86d lib/memcopy: use glibc version

7ca146c lib/string: use glibc version

105639a hashtable: introduce a small and naive hashtable

f366274 mm/huge_memory: use new hashtable implementation

d90cfc5 cgroup: use new hashtable implementation

e9a504b lib/int_sqrt.c: optimize square root algorithm

193fb1f rwsem: Implement writer lock-stealing for better scalability

72a3b7f mmc: core: Silence log spam

616a97f cpufreq: SmartMAX: Initial Port for G2

fc5de2d Fix Merge Errors

bdbe7e53 cpufreq: Move get_cpu_idle_time() to cpufreq.c

1308609 cpufreq: Fix broken uevents for cpufreq governor and cpu devices

9e0dbd7 drivers: cpufreq: Send a uevent when governor changes

6b87ef2 mutex: Back out architecture specific check for negative mutex count

4f44c7f mutex: Queue mutex spinners with MCS lock to reduce cacheline contention

c687a75 mutex: Make more scalable by doing less atomic operations

3a494c4 cpufreq: Add Frequency limiter driver

28cd9e5 msm: Add Bricked Hotplug driver

830b046 msm: Add Intelli Hotplug driver

4642fd2 msm: Add MSM hotplug driver

ad47d5f cpufreq: cpu-boost: Upgrade to enhanced version

e6e71cc sched: Skip load update for idle task

1c6a8db sched/debug: Fix sd->*_idx limit range avoiding overflow

0268faf sched/debug: Limit sd->*_idx range on sysctl

b76a398 sched: Fix memory leakage in build_sched_groups()

a95920a sched: Micro-optimize the smart wake-affine logic

67b7b0c sched: Implement smarter wake-affine logic

7915d4d mutex: Move mutex spinning code from sched/core.c back to mutex.c

2ff5789 sched: window-stats: Fix overflow bug

4d18f30 sched: Window-based load stat improvements

171aabb sched: Disable wakeup hints for foreground tasks by default

fc7ff4b sched: Call the notify_on_migrate notifier chain for wakeups as well

ff90e45 cpufreq: cpu-boost: Consider only task load to decide on sync frequency

d0fa6b7 cpufreq: cpu-boost: Handle wakeup hints received for foreground tasks

5701a6b cpufreq: cpu-boost: Introduce scheduler assisted load based syncs

50ff9ea sched: window-based load stats for tasks

4b55180 sched: Make scheduler aware of cpu frequency state

d6bbb92 smp, idle: Allocate idle thread for each possible cpu during boot

b8b8c22 arm: Use generic idle thread allocation

782f077 smp: Add task_struct argument to __cpu_up()

51ea235 softirq: reduce latencies

2db5c5e softirq: Use hotplug thread infrastructure

f27ef4b smp: Allow booting a specific subset of CPUs

fc9afab stop_machine: Mark per cpu stopper enabled early

910fe65 stop_machine: Use smpboot threads

6f62bef stop_machine: Store task reference in a separate per cpu variable

12b3f48 kthread: Prevent unpark race which puts threads on the wrong cpu

d7a61b5 smpboot: Allow selfparking per cpu threads

0e84ce6 hotplug: Fix UP bug in smpboot hotplug code

56c8bdd smpboot: Provide infrastructure for percpu hotplug threads

ce810b0 kthread: Implement park/unpark facility

1061df1 kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed

59eb096 kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation

fe736d7 smpboot, idle: Fix comment mismatch over idle_threads_init()

e63ab98 smpboot, idle: Optimize calls to smp_processor_id() in idle_threads_init()

4dab492 smp, idle: Allocate idle thread for each possible cpu during boot

69518dc smp: Provide generic idle thread allocation

07f2895 smp: Add generic smpboot facility

b3b3ec6 drivers: Add state notifier driver

a4d2276 cpufreq: Introduce new relation for freq selection

cf42a44 cpufreq: Break out early when frequency equals target_freq

327215f msm:rq_stats: Register for Cpufreq policy notification

b47d5c5 msm: msm_rq_stats: Add hotplug enable toggle

28d60d6 soc: qcom: rq_stats: remove the redundant iowait check

22ae254 cpufreq: Use signed type for 'ret' variable, to store negative error values

da2d3f6 cpufreq: Improve debug prints

f3603eb cpufreq: Make sure target freq is within limits

30adb8b cpufreq: Restore policy min-max properly

f3ef7d1 cpufreq: Simplify cpufreq_add_dev()

c5c3291 cpufreq: Add policy notifiers

52bafd4 cpufreq: Notify governors when cpus are hot-[un]plugged

313d97c cpufreq: expose scaling_cur_freq sysfs file for set_policy() drivers

0836d7d cpufreq: Export user_policy min/max

2a0cc71 msm: clock-krait-8974: User voltage control for msm-cpufreq device

7ca6b0c ./Makefile: tell gcc optimizer to never introduce new data races

e20a013 Disable -fconserve-stack on ARM v2

3d77d09 cpufreq: Return directly in __cpufreq_get if policy is NULL

0bc982b drivers: cpufreq: Upstream optimizations

0fbd332 usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs

17dd93c USB: storage: ene_ub6250: fix warning for the frame size

0c643dd cfg80211: mlme: Silently ignore duplicate management registrations

0df4f87 toolchain: gcc: squashed fixes related to optimized toolchain Thanks AK

8d52a08 Makefile: Enable CCACHE

56bae84 Defconfig: Enable IO Schedulers

deffb71 Add BFQ/SIO/FIOPS/ZEN/VR IO Schedulers

8674f95 fs: sync: add missing return if fsync is disabled from userspace.

44a7927 fs: sync: enable fsync by default.

b175742 mdss/mdss_debug.h: Fix build error

49edea7 Update .Gitignore

78de662 msm: mdss: Fix compilation

3deb727 build: Fix some warnings with GCC 4.9

ebf1c29 cpufreq: interactive: fix compiling warnings

1e66ef7 Fix Build Errors, I am sure there will be more

b2d5ec8 Build: Get ready for Render Kernel!

bd32412 Defconfigs: Remove excess defconfigs and prepare for Render Kernel

f3fa8a5 use of swp{b} is deprecated for ARMv6 and ARMv7

6a8dc89 defined(@array) is deprecated

34b9078 Allow to build DTB configs for dt.img thanks to [MENTION=2376110]dorimanx[/MENTION] and **** LG