Android OS Forum banner
1 - 20 of 294 Posts

229 Posts
Mod Type:: Kernel

Difficulty:: Easy

Mod Base:: AOSP

Mod Status:: Stable

Apply In:: CWM Recovery

Carrier:: Verizon

Optional:: Insecure Boot

Requires Root:: Yes

Android Version:: 4.0.3 (ICS)

You guys have already had a taste of this (if you're on RootzBoat) but for the rest of you, here it is.

This kernel has been a collaboration between Jake Day and myself, bringing you tons of improvements over the stock kernel.
Jake has done the majority of the code fixes, he's doing great work on this kernel.

If you want to take a look at our voltages vs the stock voltages, they're posted in the 2nd post

Change Log:

1.1.3: (including all versions up to this to save time)
  • Patch up to 3.0.21
  • OMAPFB: Do not suspend on FB BLANK, instead disable panel
  • OMAPDSS: DSS: Complete callbacks on mgr->blank
  • OMAPDSS: DSS: Fix wait_for_go support
  • Adjusted voltages to better stabilize
  • Removed 250MHz and 500MHz slots, replaced with 230MHz and 540MHz slots which better suit our processor
  • Set serial device wakeup capable as needed instead of forcing wakeup
  • Pull in RCU 3.3 backports from Faux's git
  • Pull in scheduler 3.3 backports from Faux's git
  • SmartReflex fixes
  • ARM cleanups
  • Hotplug/SMP fixes

  • Update to 3.0.19
  • Now boots at 350mhz min, 1200mhz max frequencies (should get rid of any bootlooping problems)
  • sched_clock fixes
  • Hotplug fixes (credit to Imoseyon)
  • Hotplug/Suspend features from InteractiveX built in to Interactive (credit to Imoseyon)
  • SMC (security) driver updated to 1.06
  • omap: rpmsg: unmap vring memory address (fixes memory leaks)
  • SMC: Fix PA load error
  • SMC: Fix regression where AES1 clock would never be disabled
  • watchdog: omap_wdt.c: fix the mismatch of pm_runtime enable and disable
  • watchdog: omap_wdt.c: fix the WDIOC_GETBOOTSTATUS ioctl if not implemented
  • Leaned out the defconfig some more
  • fixed issue with invalid syncobjects
  • fixed bug with dcache so shrink_dcache_parent() doesn't get stuck in a loop (was causing lockups)
  • initial work for automatic frequency scaling during suspend/resume (regardless of governor)
  • Update to 3.0.18
  • Kanged suspend and hotplug features from InteractiveX (just the features, to use them, stay running Interactive governor)
  • rcu: Eliminate in_irq() checks in rcu_enter_nohz()
  • nohz: Remove nohz_cpu_mask
  • nohz: Make idle/iowait counter update conditional
  • nohz: Fix update_ts_time_stat idle accounting
  • nohz: Remove update_ts_time_stat from tick_nohz_start_idle
  • ARM: SMP: use a timing out completion for cpu hotplug
  • ARM: cache: assume 64-byte L1 cachelines for ARMv7 CPUs
  • ARM: align the exception fixup table to a 4-byte boundary
  • ARM: do not hardcode cacheline size as 32 bytes
  • scheduler: domain: init next_balance in nohz_idle_balancer with jiffies
  • Enable KSM
  • Super AMOLED Color Hack now enabled (adjustable in new RootzBoat coming)
  • Fixed issue with gpio pins causing wakeups without enable_irq_wake() set
  • Fix bug with LPDDR CLK IO for suspend and idle to save power
  • Added open color format definitions
  • Force a DPLL clkdm/pwrdm ON before a relock
  • Fix gains on DL1 BE so values don't get lost and screw up sound
  • Fixed memory leak and dm timer handling
  • Create sysfs entry for egl.cfg so SGX can load correct OpenGL libraries
  • Readahead corrected
  • Set default HZ to 250
  • disable fsync (makes data writes quicker and better on battery)
  • improve performance of deadline io scheduler
  • overclock core OPP100 to 220 and gpu OPP3 to 422
  • adjust voltages
  • improve cpu transition latency
  • OMAP4: HWMOD: UART1: disable smart-idle.
  • iosched (796d511): prevent aliased requests from starving other I/O
  • OMAP4: PM: work around for CPU1 onlining from OFF/OSWR state
  • fixed mbox recovery wakeup issue
  • adjust DSS latency constraint for deeper power state
  • OMAP4: HSI: Fix for back to back CAWAKE interrupts
  • Smartass2 stable again
  • Interactive adjusted
  • i2c-omap: use usleep_range(), get rid out of jiffies
  • hrtimers: teach usleep_range() to return how many usecs was slept
  • PM / Hibernate: Correct additional page calculation
  • ARM: smp_twd: make sure timer is stopped before registration
  • mm: vmscan: recompute page status when putting back
  • mm: vmscan: check page order in isolating lru pages
  • ARM: hwcaps: add new HWCAP defines for ARMv7-A
  • ARM: hwcaps: use shifts instead of hardcoded constants
  • mmc: fix deadlock from mmc core when suspend the device
  • ARM: Fix handling of pending IRQs at request time
  • mmc: change mmc_delay() to use usleep_range()
  • mm: memcg: update the correct soft limit tree during migration
  • OMAP4: USB: Fixed tshut reboot issue
  • Use same voltage for GPU OC as 307mhz
  • cpufreq: hotplug: do not synch threads on jiffies
  • block: avoid unnecessary plug list flush
  • block, sx8: kill blk_insert_request()
  • block: simplify force plug flush code a little bit
  • block: avoid building too big plug list
  • Some md updates from Linux mainline 3.2
  • Commits cherry picked from Linux 3.2
  • sched: don't call task_group() many times in set_task_rq()
  • nohz: Remove ts->inidle checks before restarting the tick
  • Init: Multithread initcalls to auto-resolve ordering issues.
  • memcg: mark rcu protected member as __rcu
  • mm/swap: make swapin readahead skip over holes
  • sched: fix nohz idle load balancer issues
  • Video playback solved
  • improved CPU transition latency
  • fixed voltages for two addition frequency slots
  • fixed battery drain issues (battery life should be MUCH better)
  • added jRCU
  • tweaked smartass2 and interactive governors
  • some code and message clean up (going LEAN!)
  • fixed dispc issue with NO_SLEEP
  • patched to 3.0.17
  • fixed callbacks in mgr->blank
  • improved I/O latency
  • correct manager index for VSYNC irq handler
  • updated cpufreq and regulator driver
  • added version name to kernel
  • added two additional frequency slots (from 5 slots to 7 slots) (please read known issues in second post)
  • lowest slot is now 250 mhz
  • fixed voltage ramping for lower frequencies (will help battery life)
  • some OTG clock and USB_DPLL fixes
  • Hotplug governor stabilized
  • Ram issue fixed
  • Added ramconsole
  • Reduced power consumption when idle
  • (both from Jake, great changes)
  • Userspace undervolting fixed thanks to Jake.. guys a genius
  • updated to 3.0.14
  • SLOB is default memory allocator
  • adjust initialization of powerstates to fix power consumption
  • enable OMAP4_PMD_CLKS for saveram calls
  • add REG support for VCORE and gate resources during suspend
  • Improved clock frequency selection
  • Higher HSI throughputs
  • False IO wakeup fixed
  • PRM Register offsets fixed
  • Fast ramp down allowed
  • SmartAss2 optimizations
  • Change default scheduler CFS -> Autogroup
  • RCU boost enabled
  • cpufreq updates from 3.2
  • Use SWSUP instead of HWSUP to improve performance and power usage
  • SGX Active Power Latency set to 2ms
  • CK1 patched in (minus BFS)
  • On suspend, make sure resources will be gated with regulator_suspend_calls
  • Fixed suspend states for VAUX3, VUSIM, VANA, VCXIO, and VDAC
  • vfs cache pressure = 20
  • dirty ratio = 90
  • dirty background ratio = 70
  • swappiness = 0
Download Link:
You can find the downloads for 1.1.3 and previous versions here:


As always, I comply with GPL.
You can find my source here:

If you like our work, feel free to donate to me here:
Jake here:

229 Posts
Known Issues:


Here are the stock voltages in relation to our voltages (stock on the left, ours on the right)

-#define OMAP4460_VDD_MPU_OPP50_UV 1025000 -> +#define OMAP4460_VDD_MPU_OPP50_UV 900000
-#define OMAP4460_VDD_MPU_OPP100_UV 1203000 -> +#define OMAP4460_VDD_MPU_OPP100_UV 1080000
-#define OMAP4460_VDD_MPU_OPPTURBO_UV 1317000 -> +#define OMAP4460_VDD_MPU_OPPTURBO_UV 1170000
-#define OMAP4460_VDD_MPU_OPPNITRO_UV 1380000 -> +#define OMAP4460_VDD_MPU_OPPNITRO_UV 1260000
-#define OMAP4460_VDD_MPU_OPPOC_UV 1380000 -> +#define OMAP4460_VDD_MPU_OPPOC_UV 1350000

350 mhz: 1025mV -> 900mV
700 mhz: 1203mV -> 1080mV
920 mhz: 1317mV -> 1170mV
1200 mhz: 1380mV -> 1260mV
1350 mhz: 1380mV -> 1350mV

303 Posts
Expect a new release tonight with some changes to help battery life as well as overall performance.

If anyone has any bugs or requests, let us know so we can make KangBang the best kernel available!
When I tried the kernel w/ RB 6.1 I had one SOD and one random reboot in a very short period of time. At that point I switched kernels.

70 Posts
Expect a new release tonight with some changes to help battery life as well as overall performance.

If anyone has any bugs or requests, let us know so we can make KangBang the best kernel available!
Would love to see a version for 4.0.2

I'm very happy with stock, but would love to have a little more control over my GPU and battery life.

2,012 Posts
When I tried the kernel w/ RB 6.1 I had one SOD and one random reboot in a very short period of time. At that point I switched kernels.
What voltages did you use? Do you have any issues with other kernels? When we have the new release out, will you test and if you get a lockup can you show us last_kmsg?

Sent from my Galaxy Nexus using RootzWiki

229 Posts
Discussion Starter · #11 ·
Would love to see a version for 4.0.2

I'm very happy with stock, but would love to have a little more control over my GPU and battery life.
I'll look into seeing about making it usable with 4.0.2. No promises, but I'll definitely take a look.

Android Apprentice
196 Posts
I had some hard lockups using Fab's UV suggestions (defaults for Apex) when using the hotplug governor (boat 6.1, kernel 6.5). Seemingly fine with interactive and the same UV settings. Also, looked at the battery life since I unplugged last night and finally didn't have the usual hour of Android CPU use time and 2+ hours of awake time for no reason. So hopefully that keeps up!

Android Apprentice
235 Posts
Please add one of those custom governors used by imoseyon and faux to turn off one of the cores when the screen is off

2,012 Posts
I pressed download and it downloaded 0.6.5 isn't the new version supposed to be 0.6.7? Also would you suggest updating to this using rootz rom?

Sent from my Galaxy Nexus using Tapatalk
You can download it from my server until the link gets updated:

Yes, updating to this kernel is recommended, and not just for RootzBoat!

Remember, if coming from any other kernel it is recommended to wipe dalvik.
1 - 20 of 294 Posts