#2
·
(Edited by Moderator)
History:
Version 001 (deprecated)
Initial CAF source baseline from 2011-11-21
Merged to kernel.org version 3.0.13
Version 002 (deprecated)
Enabled CIFS+UTF-8
Enabled PPP Async support
arm: Allow CPU-supported unaligned accesses
dm-cache: block level disk cache target for device mapper
PM / Sleep: Unify diagnostic messages from device suspend/resume
PM / Usermodehelper: Fix freezer failures due to racy usermodehelper_is_disabled()
PM / Docs: Recommend the use of [un]lock_system_sleep() over mutex_[un]lock(&pm_mutex)
PM / Sleep: Replace mutex_[un]lock(&pm_mutex) with [un]lock_system_sleep()
PM / Sleep: Make [un]lock_system_sleep() generic
PM: Use the freezer_count() functions in [un]lock_system_sleep() APIs
PM / Freezer: Remove the "userspace only" constraint from freezer[_do_not]_count()
mm: simplify find_vma_prev
vmalloc: Remove static declaration of va from __get_vm_area_node
cifs: Use kcalloc instead of kzalloc to allocate array
nohz: Remove ts->inidle checks before restarting the tick
mm/slqb: replace deprecated function
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
nfs: writeback pages wait queue
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
make default readahead size a kernel parameter
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
PM / Sleep: Remove pm_runtime_suspended() from __pm_generic_call()
lockdep: print lock name for lockdep_init_error
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
partition_sched_domains: Do not destroy old sched domain on cpu_up
printk: Don't allow cpu to get console lock during hotplugging
cpu-hotplug: Add the function 'cpu_hotplug_inprogress'
init/main.c: execute lockdep_init as early as possible
CPU hotplug, PM: Remove unused symbol 'suspend_cpu_hotplug'
kernel: Set the command name of the idle tasks in SMP kernels v3
ARM/mm: drop GFP_COMP for dma_alloc_coherent
crc32: expose __crc32c_le to fix compilation error for crc32c
crc32: Select an algorithm via kconfig
crypto: crc32c should use library implementation
crc32: Add self-test code for crc32c
crc32: Bolt on crc32c
crc32: final
crc32: optimize loops for x86
crc32: add slicing by 8
crc32: add real 8 bit
crc32: fix check endian warnings
crc32: misc cleanup
crc32: add pointer to tab
crc32: replace self test
crc32: move to documentation
crc32: remove trailing whitespace
ARM: support XZ compressed kernels
compilation: add compiler optimization flags
block: introduce the BFQ-v2-r1 I/O sched for 2.6.37
block: prepare I/O context code for BFQ
patch: add SLQB memory allocator by Nick Piggin
Version 003 (deprecated)
Added CPU Undervolt by creator of SetCPU app coolbho3k
Added GPU Overclocking by creator of SetCPU app coolbho3k
Version 004 (Long Term Release - 4.0.3)
The File ==> Tuna kernel 0.0.4r <==
USB Gadget/OTG dual mode support (for USB Mass, use StickMount from Market!)
OPP4xxx: Add compile time undervolt option
Remove ARM sha1 routines
lib/sha1: use the git implementation of SHA-1
opp4xxx: enable OPPNitro speed bin
lib/memcopy: use glibc version
lib/string: use glibc version
Asynchronous I/O improvement
usb/host/echi-dbg: fix stack overflow warning
sched: fix nohz idle load balancer issues (part 2)
sched: fix nohz idle load balancer issues
Version 005 (deprecated - 4.0.3)
Patched to kernel.org 3.0.14
cpufreq: tweak ondemand defaults
block: recursive merge requests
block, cfq: fix empty queue crash caused by request merge
usb: musb: remove a bit of indentation
usb: musb: trivial cleanup
usb: musb: fix pm_runtime mismatches
usb: musb: fix pm_runtime mismatch
cgroups: remove redundant get/put of css_set from css_set_check_fetched()
sched: add missing rcu_deref around real_parent
sched: mark parent and real_parent as __rcu
memcg: simplify LRU handling by new rule
memcg: clear pc->mem_cgorup if necessary.
memcg: simplify corner case handling of LRU.
memcg: add mem_cgroup_replace_page_cache() for fixing LRU issue.
memcg: simplify page cache charging.
cpufreq: add ondemand two-phase scheduling
Version 006/7 (deprecated - 4.0.2/4.0.3)
fixed VFS race conditions
Instead of 90% of stock voltage, raising to 95% of stock voltage values.
Fixed GPU OC to true 384 MHz (Ultimate ONLY)
Fixed and enabled Hot-plug governor (governor itself is fine, the fix is in the kernel SMP code in general)
Updated cpuidle driver from Linux 3.2.x
Updated Mempool from Linux-Next
Updated and Enabled cgroup for memory resources from Linux-Next (Ultimate ONLY)
Updated and Enabled zcache from Linux 3.2.x
Version 008 (deprecated - 4.0.2/4.0.3)
Add brand new I/O Scheduler designed from specifically for FLASH devices (FIOPS)
Further Tuned OnDemand Governor
Disable CleanCache
Update Block I/O to Linux-Next
Applied a few updates from omapzoom related to PM
Add Early Suspend / Late Resume to Interactive Governor
Add Early Suspend / Late Resume to OnDemand Two-Phase Governor
Add Snappy Compression ZRAM
Version 009 (LONG Term Release - 4.0.2/4.0.3)
*** 4.0.2 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control enabled, Enabled GPU Overclock to 384 MHz)
*** 4.0.3 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Fixed USB drain bug
Further pre-UV @ 92% of stock voltages
Added intermediate frequencies @ 525MHz, 810MHz and 1060MHz
Default @ 1.2 GHz after startup
Joe's RCU (directly from Joe's Email to me)
Multi-threaded Kernel Device Initialization
Version 010 (deprecated - 4.0.2/4.0.3)
updated hrtimer to use usleep_range (more accurate time tracking)
added OMAP4 patch for HSI issues (bug fixes)
added vmscan patches (bug fixes)
increased voltage by 1.5%, so it's now pre-uv'ed to 93.5% of stock voltages (stability)
revert multi-threaded device init (camera fix...)
added mfd optimization for twl6040 codec (performance enhancement)
added JIT compiler for packet filters (performance enhancement)
added mmc patch for deadlock (bug fixes)
added OMAP4 patch for DSS issues (bug fixes)
added cpufreq patches (bug fixes)
added memcg bug patches (bug fixes)
patched FrontSwap to complement CleanCache for complete I/O performance enhancement support. (performance enhancements)
added latest OMAP patches from omapzoom.org relevant to OMAP4460 (bug fixes)
Patched to kernel.org 3.0.17 (kernel update)
Version 011 (deprecated - 4.0.2/4.0.3)
Applied bunch of OMAP patches from omapzoom.org
Added hotplug capability to conservative governor as well when screen is off
Tweaked conservative governor to be slightly more responsive (nothing massive)
Reduced Ultimate GPU OC from 422.4MHz to 403.2MHz when running CPU @ 1.35 GHz OC for better stability!
Increased Mainline GPU OC voltage from 1.096 volts to 1.113 volts when running CPU @ 1.35 GHz OC for better stability!
Fixed couple of minor merge errors (vmscan)
Patched to kernel.org 3.0.18 (patched the recently found exploit gaining illegal root access)
Tweaked GPU max frequency @ 422 MHz and use same voltage value as old 384 MHz for Ultimate (for even better performance without increasing voltage)
Tweaked GPU to use lower max frequency @ 345 MHz and lower voltage for Mainline (for even lower battery consumption while screen on)
kernel NOHZ patches (better performance, better battery)
kernel cgroup patches (bug fixes)
OMAP specific RTC, USB patches (better performance and bug fixes)
ARM cache patches (better performance)
Version 012 (deprecated - 4.0.2/4.0.3)
revert SMP patch based on notifications
Updated to kernel.org 3.0.19 (bug fixes and performance)
Another 30+ patches (over 110+ total patches) for RCU bring RCU to the ABSOLUTE latest release (performance and battery life)
adjusted hotplug governor patches for interactive, ondemand and conservative slightly (bug fixes)
Tweaked voltages again:
core voltages to 95.0% of stock (used by GPU and everything ELSE in the system)
mpu voltages to 90.0% of stock (used only by CPUs)
iva voltages to 93.5% of stock (used only by Audio/Video DSP)
revert Asynchronous SMP boot (could be the culprit for the reboots when coming out of sleep)
added 2 more latest RCU updates (performance enhancement and battery life)
added cpuidle patch (battery life)
reverted Joe's RCU in favor of newest RCU Forward port.
Updated over 80+ patches to the latest RCU based on Linux 3.3 rc5 (better performance & battery life)
Cherry picked selected Linux 3.3 rc5 NOHz scheduler updates (better performance & battery life)
board/pm44xx: change from err to info for PM debugging message (easier for me to read)
usb/host: fix trivial merge error (bug fix - small omission)
cpufreq: update early suspend level to EARLY_SUSPEND_LEVEL_STOP_DRAWING (delay hotplug until all drawings are done!)
cpufreq/interactive: add early suspend/late resume drivers support (For ICS 4.0.3 ONLY, DOH forgot...)
opp4xxx_data: under volt MPU to 90% of stock (further UV!) <== TEST THIS for stability!!!
OMAP4: PM: Handle LPDDR CLK IO errata during suspend/idle (bug fix)
rpmsg: resmgr: disable aux_clk_src in case of error (bug fix)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: move user vfp state save/restore code out of signal.c (bug fix)
Revert "ARM: vfp: clear fpscr length and stride bits on entry to sig handler"
ARM: OMAP3+: SmartReflex: fix error handling (bug fix)
ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree (bug fix)
ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup (bug fix)
ARM: OMAP2+: GPMC: fix device size setup (bug fix)
ARM: fix rcu stalls on SMP platforms (bug fix)
OMAP4: Clock: Force a DPLL clkdm/pwrdm ON before a relock (bug fix)
kernel/timer: Optimise apply_slack() for size and speed. (performance enhancement)
mm: compaction: Check pfn_valid when entering a new MAX_ORDER_NR_PAGES block during isolation for migration (bug fix)
ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API (bug fix)
ARM: OMAP3+: SmartReflex: micro-optimization for sanity check (bug fix)
ARM: OMAP3+: SmartReflex: misc cleanups (bug fix)
ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument (bug fix)
ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata() (bug fix)
ARM: OMAP2+: clock: cleanup CPUfreq leftovers (bug fix)
smp: Start up non-boot CPUs asynchronously (performance enhancement)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: flush thread hwstate before copying ptrace registers (bug fix)
ARM: vfp: fix ptrace regset modification race (bug fix)
ARM: vfp: flush thread hwstate before restoring context from sigframe (bug fix)
ARM: OMAP2+: PM: clean up omap_set_pwrdm_state() (bug fix)
ARM: Skip unnecessary pte makeup when clearing it (performance enhancement)[/b]
Version 013 (LONG Term Stable Release- 4.0.2/4.0.3)
*** 4.0.2 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
revert asynchronous SMP boot
Updated MM folder to Linux 3.3-rc3
Updated Block folder to Linux 3.3-rc3
Updated AIO to Linux 3.3-rc3
Cherry-picked scheduler Optimization from Linux 3.3-rc3+
added CM9's (aka Supercurio's) Voodoo Color/Gamma control kernel patch.
Updated to kernel.org's 3.0.21
-- filemap completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- swap/swapfile completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- shmem completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- kernel init completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- more selective cherry picks from Linux 3.3-rc3 (kernel 013b8+)
-- memory page writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- FIOPS version 2 (kernel 013+) **made default by requests...
-- Filesystem writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- SLUB completed updated to Linux 3.3-rc2 (kernel 013+)
-- enabled KSM for CM9 Dalvik hack also completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmalloc completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmscan completely updated to Linux 3.3-rc2 (kernel 013+)
-- memcontrol completely updated to Linux 3.3-rc2 (kernel 013+)
-- memory compaction completely updated to Linux 3.3-rc2 (kernel 013+)
-- FIOPS version 2 (kernel 013+) **NOT SELECTED BY DEFAULT, MUST use SystemTuner or VoltageControl app to switch to it.
-- Updated IDR library to Linux 3.3-rc2 (kernel 013+)
Version 014 (deprecated - 4.0.3/4.0.4)
Raised Thermal Throttle limit from 64 degrees to 74 degrees Celcius
Added 1.42GHz and 1.48GHz Overclocking steps with working voltage controls for all slots
Added WORKING
user voltage control (compatible with SetCPU, SystemTuner)
NOTE: If you use voltage control in ANY WAY OR FASHION, THERE WILL BE NO SUPPORT FROM ME if it crashed or have weird errors!!!
Massive updates to FUSE and EXT4 bring them to latest Linux 3.3-rc4
Massive updates to VFS subsystem bring it to latest Linux 3.3-rc4
Kernel.org Patch to latest 3.0.24
Special Asynchronous I/O optimization to optimize ALL kernel I/O operations (supposedly faster than synchronous due to synchronous wait time)
Enabled NFS Client v3 and v4
Updated to kernel.org 3.0.23 from 3.0.21
Add USB fast charge hack by Chad
Add CM9 Color Multiplier hacks
Add OMAP TWL6040 (audio) codec fixes
Version 015 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 015m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 015u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Fix Settings->Apps->Running memory display issues since kernel 011 (Linux 3.0.18 patch)
Applied a few interactive governor patches from Google
disable the OMAP CPU1 PPA fix. (This patch was not new, I remembered it was causing issues, so disabled it again).
Enabled USB Serial FTDI and PL2303 (per request, built-in no .ko required)
patched to Official Google 4.0.4 kernel release
patched to kernel.org 3.0.26
Version 016 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 016m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 016u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Updated Gamma/Color control from CM9 (NOTE: YOU MUST RE-ADJUST YOUR COLOR/GAMMA due to this CHANGE!!!!)
Added VSprint / Number conversion lib optimizations
Added latest Google Clean Room Interactive governor updates
Added Wifi Fast option for fast wifi speed while screen is off (Good for Skype when screen is off)
Patched to mainline 3.0.29
Patched to latest Google MR1 release Kernel source from April
Added TI patches for EMIF (DDR RAM), USB, OTG (to save more battery when using), 32K timer
Enabled Higher Frequencies for IVA (image/video/audio DSP) Free performance boost for 3 different multimedia types!
Tons of TI OMAP 44xx Thermal Framework patches (Still WIP)
Latest patches from Android/Omap for input, cpufreq, RTC, L2 Cache and Netfilter
Tweaked Ondemand Governor Give Ondemand Governor a Try again!
patched to kernel.org 3.0.28 from 3.0.26
cpufreq: interactive - increase sampling time to during screen off
CPUfreq ondemand: update sampling rate without waiting for next sampling
gpu: ion: Use writecombined mappings for Tiler 2D
gpu: ion: Use writecombined mappings
OMAP4: DSS: Implement workaround for Errata ID:i733
Version 017 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 017m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u-SR == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Added TI's DDR RAM patch for low power down mode
Added kernel timer optimization
Added memory control group bug fix
Added SMP fix from Google.
Reduce WiFi voltage by 10%
add TI USB OTG patch
add interactive gov boost patch
add Android Binder patch from Linux 3.4+
back ported Android LMK and RAMConsole from Mainline Linux 3.4+ to 3.0
forward ported OMAP4 DSS Gamma control settings from Panda Board Linux 2.6.32 kernel
http://en.wikipedia.org/wiki/Gamma_correction (this gamma correction is done in the framebuffer, so it is a SOFTWARE correction, different from the Gamma Hacks by supercurio which is more of a Hardware gamma correction and are totally independent from each other. My own recommendation is value of 6)
there are 10 preset gamma tables. 0 ==> disable gamma correction,
1~10 ==> selects the gamma tables
5 ==> gamma of 1.0 to change:
Added Scheduler Load balancing patches
Added Coupled CPU Idle engine (WIP)
Patched to Linux 3.0.30
Added latest Google Interactive Gov patches
Added ARM VFP patches
Added TI TWL Codec patches
Added my own SmartReflex Bypass capability! 1.42/1.48 GHz are stable again
(this would allow unofficial OPPs to run with SmartReflex without causing crashes due to aggressive UV)
Enabled TI SmartReflex 1.5 (-SR Ultimate Version ONLY)
Updated to latest Google Interactive governor
Patched Audio Codec from TI
Version 018 (Short Term Release- 4.0.3/4.0.4)
Updated to Linux 3.0.33
Added NoHz/Load Balance changes from Linux 3.4+
Fixed DSS power drain issue since Beta 4
Added USB DMA alignment patches
Switched to use generic strnlen_user and strncpy_from_user functions from Linux 3.4+
Added ARM ticketed Spinlocks (better spinlock performance)
reverted wifi voltage adjustment
Added OMAP DSS patch regarding framedrops
Added OMAP DVFS patach
Fixed USB gadget composite corruption
Reverted 2 load balance patches from 017 (According to original author from mainline, they were didn't help).
Added HDMI CEC support
Added HDMI CEC compatible Keyboard Support
Updated to Mainline Linux 3.0.32
Fix and optimize memory allocator (SLUB)
Add new USB Audio Source Gadget support
Fix several OMAP bugs
Update Google's Cleanroom interactive governor to the latest
Update Mainline Linux 3.0.31
patch CPU frequency changes (ie less prone to crash when switching above 1.35 GHz to lower)
Version 019 (JB/4.0.3/4.0.4)
[ JB ]
Fixed Ext4 ASEC loop mount issues (unable to install app2sd apps)
Added my own power.tuna.so to fix Google's hardcoded max_freq screen on/off (built from source)
[ common ]
Fixed MHL/HDMI dock issues
Opened up the potential of my kernel to 1.8 GHz STABLE! (blame Romanbb)
Updated to Mainline Linux 3.0.36
Fixed Scheduler wraparound bug
Fixed 2 block device bugs (backported from mainline Linux 3.5+)
Fixed 1 USB gadget bug from OMAPZOOM
Updated to Mainline Linux 3.0.35
Added TorPlus Compatibility Support
Added CM Vibration Kernel Interface
Removed some debugging flags from compilation
Patched iosched: prevent aliased requests from starving other I/O
Version 020 (JB)
Revert back to old Zcache driver... newer driver is very unstable
re-merged 3.0.39 by hand. Fixed a few auto-merge errors
Fixed /proc/last_kmsg issues (JB compatibility issues with Linux 3.4+ Android RAM console)
Used a re-based Zcache driver (completely re-written by the original author and backported to Linux 3.0 by me)
Updated 3 FUSE patches from Linux 3.5+
Updated to Linux 3.0.41
Added Google's TCP rate reduction algorithm (Linux 3.2+)
Switched to Westwood+ TCP congestion algorithms (supposedly better for Cell/Wifi Lossy style networks)
Updated to latest LZO compression algorithms (up to 2x faster than older version)
Updated ZRAM to use new LZO
Updated to Linux 3.0.40
Backported 2 scheduler fixes from Linux 3.5+
Tweaked Deadline I/O scheduler for better android performance
Added ARM asm optimized AES/SHA1 crypto libs for better IPSEC performance (up to 50% improvement)
Updated fs/sync to Linux 3.5+
Updated to Linux 3.0.39
Updated to Linux 3.0.38
GPU OC'ed to 512 MHz
Updated to Linux 3.0.37
Version 021 (JB)
cpufreq: fix interactive bug during hotplug …
kernel/resource.c: fix stack overflow in __reserve_region_with_split …
irq: Set CPU affinity as soon as the irq thread is created …
slub: zero page to fix boot crashes …
time: Move ktime_t overflow checking into timespec_valid_strict …
time: Improve sanity checking of timekeeping inputs …
time: Avoid making adjustments if we haven't accumulated anything …
dynamic file sync control
board/omap2plus-cpufreq: make CPU governor switch a compilation option
cpufreq: interactive: handle speed up and down in the …
cpufreq: interactive: keep freezer happy when not current governor …
cpufreq: interactive: take idle notifications only when active …
netfilter: xt_qtaguid: report only uid tags to non-privileged processes …
sched: unthrottle rt runqueues in __disable_runtime() …
block: reject invalid queue attribute values …
readahead: fault retry breaks mmap file read random detection …
ARM: 7178/1: fault.c: Port OOM changes into do_page_fault …
x86,mm: make pagefault killable …
wakeup: Use irqsave/irqrestore for events_lock
Added few more Linux 3.5+ bug fix patches!
Updated to a new PowerHAL (no kernel changes)
Applied a few 3.5+ bug fixes for block, FAT FS and Zcache
WiFi driver update (All post xxx.75 fixups)
2 kernel bug fix patches from Linux 3.5+
Introducing CFS load-tracking. (From Google for Linux 3.5+)
- It implements load-tracking on a per-sched_entity basis. This results in a bottom-up
- load-computation in which entities contribute to their parents' load, as
- opposed to the current top-down where the parent averages its children. In
- particular this allows us to correctly migrate load with their accompanying
- entities and provides the necessary inputs for intelligent load-balancing and
- power-management.
ARM: smp: Fix cpu_up() racing with sys_reboot …
sched: unify the check on atomic sleeping in __might_sleep() & schedu… …
block: Remove unnecessary requests sort. …
block: avoid unnecessary plug should_sort test. …
panic: Fix a possible deadlock in panic() …
mm/memblock: reduce overhead in binary search
Version 022 (JB)
revert 1 mainline patch for better I/O performance
add GPU governor select:
default GPU governor: "ondemand" the other is "performance" (full CLOCK no scaling)
to change GPU governor behavior:
echo 0 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for performance)
echo 1 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for ondemand, default setting)
Updated to linux 3.0.45
tweaked the minimum OPP voltage values
tweaked intellidemand some more
Added morphic's Contrast Hacks
Introducing the first ondemand GPU governor for OMAP4460!!!
it will now auto-switch between 3 different GPU speeds:
-- IDLE 156 MHz (uses core voltage 962 mv)
-- NOMINAL 307 MHz (uses core voltage 1127 mv)
-- TURBO 512/384 MHz (uses core voltage 1250 mv)
-- to check GPU usage do:
cat /sys/kernel/pvr_simple_gov/simple_gov_stats
timers: Avoid finding cpu for migration of running timers in __mod_ti… …
sched: Prevent wakeup to enter critical section needlessly
Linux 3.0.44
2 CPU IDLE patches from OMAP
Tweaked Intellidemand for better UI performance
Updated PowerHAL from 30k/300k to 50k/500k sampling rates (screen on/off)
Tweaked Intellidemand for better battery performance
Added 3 cpu idle patches
Added Intellidemand PowerHAL (Courtesy of Termleech. Thank you very much man!)
(no kernel changes, simply a lib update for the ROM)
patched Intellidemand to 3.2 with bug fixes
Introducing Intellidemand 3.1
(See below for Intellidemand logic)
cpufreq/cpufreq_intellidemand: intellidemand cpufreq governor (version 3.1)
Intellidemand is inspired by ondemand governor. Its main features are:
- auto cpu hotplugging based on runnable thread average calculations
- detection of browsing mode (long screen on activities with moderate run
queue depth =< 38 )
- limit max frequencies when in browsing mode to conserve battery for long
duration tasks
Browsing State Determination:
1- Browsing state is enabled as power-on default. Browsing state is disabled
when run queue depth is > 38 for 2 consecutive samples
(very high instantaneous spikes)
Browsing State Limit Max Freq Logic (sliding window algorithm):
1- While Screen is ON > 3 min, and average load of the CPU is < 35%, then
CPU Max frequencies will remain power-on default
2- While Screen is On, if average CPU load > 35%, both CPUs max frequencies
will be limited to a lower user configurable max value
3- While Screen is On, After both CPUs' Max is limited to lowered max, when
the average CPU load has dropped down to less than < 25%, then both CPUs
Max freq will be restored to back to power-on default
Runnable Thread Auto-hotplug (fast hotplug / slow unplug algorithm):
1- When average number of running thread is < threshold, 2nd cpu will be
unplugged.
2- When > threshold, 2nd cpu will be hotplugged.
3- The logic applies a fast hotplug and slow unplug algorithm so 2nd core
will stay enabled longer to help deal with performance spikes
changes from Ver 3.0 -> Ver 3.1:
- add run queue persistence to better determine browsing state
changes from Ver 2.0 -> Ver 3.0:
- remove GPU Busy dependency for browsing state detection (this will make
the governor more portable to other platforms without specific GPU
architecture knowledge)
dependencies:
-- Qualcomm's run queue average logic (SOC independent logic)
-- TI's runnable thread average logic (SOC independent logic)
adapted for OMAP2 platform
Version 001 (deprecated)
Initial CAF source baseline from 2011-11-21
Merged to kernel.org version 3.0.13
Version 002 (deprecated)
Enabled CIFS+UTF-8
Enabled PPP Async support
arm: Allow CPU-supported unaligned accesses
dm-cache: block level disk cache target for device mapper
PM / Sleep: Unify diagnostic messages from device suspend/resume
PM / Usermodehelper: Fix freezer failures due to racy usermodehelper_is_disabled()
PM / Docs: Recommend the use of [un]lock_system_sleep() over mutex_[un]lock(&pm_mutex)
PM / Sleep: Replace mutex_[un]lock(&pm_mutex) with [un]lock_system_sleep()
PM / Sleep: Make [un]lock_system_sleep() generic
PM: Use the freezer_count() functions in [un]lock_system_sleep() APIs
PM / Freezer: Remove the "userspace only" constraint from freezer[_do_not]_count()
mm: simplify find_vma_prev
vmalloc: Remove static declaration of va from __get_vm_area_node
cifs: Use kcalloc instead of kzalloc to allocate array
nohz: Remove ts->inidle checks before restarting the tick
mm/slqb: replace deprecated function
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
nfs: writeback pages wait queue
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
make default readahead size a kernel parameter
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
PM / Sleep: Remove pm_runtime_suspended() from __pm_generic_call()
lockdep: print lock name for lockdep_init_error
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
partition_sched_domains: Do not destroy old sched domain on cpu_up
printk: Don't allow cpu to get console lock during hotplugging
cpu-hotplug: Add the function 'cpu_hotplug_inprogress'
init/main.c: execute lockdep_init as early as possible
CPU hotplug, PM: Remove unused symbol 'suspend_cpu_hotplug'
kernel: Set the command name of the idle tasks in SMP kernels v3
ARM/mm: drop GFP_COMP for dma_alloc_coherent
crc32: expose __crc32c_le to fix compilation error for crc32c
crc32: Select an algorithm via kconfig
crypto: crc32c should use library implementation
crc32: Add self-test code for crc32c
crc32: Bolt on crc32c
crc32: final
crc32: optimize loops for x86
crc32: add slicing by 8
crc32: add real 8 bit
crc32: fix check endian warnings
crc32: misc cleanup
crc32: add pointer to tab
crc32: replace self test
crc32: move to documentation
crc32: remove trailing whitespace
ARM: support XZ compressed kernels
compilation: add compiler optimization flags
block: introduce the BFQ-v2-r1 I/O sched for 2.6.37
block: prepare I/O context code for BFQ
patch: add SLQB memory allocator by Nick Piggin
Version 003 (deprecated)
Added CPU Undervolt by creator of SetCPU app coolbho3k
Added GPU Overclocking by creator of SetCPU app coolbho3k
Version 004 (Long Term Release - 4.0.3)
The File ==> Tuna kernel 0.0.4r <==
USB Gadget/OTG dual mode support (for USB Mass, use StickMount from Market!)
OPP4xxx: Add compile time undervolt option
Remove ARM sha1 routines
lib/sha1: use the git implementation of SHA-1
opp4xxx: enable OPPNitro speed bin
lib/memcopy: use glibc version
lib/string: use glibc version
Asynchronous I/O improvement
usb/host/echi-dbg: fix stack overflow warning
sched: fix nohz idle load balancer issues (part 2)
sched: fix nohz idle load balancer issues
Version 005 (deprecated - 4.0.3)
Patched to kernel.org 3.0.14
cpufreq: tweak ondemand defaults
block: recursive merge requests
block, cfq: fix empty queue crash caused by request merge
usb: musb: remove a bit of indentation
usb: musb: trivial cleanup
usb: musb: fix pm_runtime mismatches
usb: musb: fix pm_runtime mismatch
cgroups: remove redundant get/put of css_set from css_set_check_fetched()
sched: add missing rcu_deref around real_parent
sched: mark parent and real_parent as __rcu
memcg: simplify LRU handling by new rule
memcg: clear pc->mem_cgorup if necessary.
memcg: simplify corner case handling of LRU.
memcg: add mem_cgroup_replace_page_cache() for fixing LRU issue.
memcg: simplify page cache charging.
cpufreq: add ondemand two-phase scheduling
Version 006/7 (deprecated - 4.0.2/4.0.3)
fixed VFS race conditions
Instead of 90% of stock voltage, raising to 95% of stock voltage values.
Fixed GPU OC to true 384 MHz (Ultimate ONLY)
Fixed and enabled Hot-plug governor (governor itself is fine, the fix is in the kernel SMP code in general)
Updated cpuidle driver from Linux 3.2.x
Updated Mempool from Linux-Next
Updated and Enabled cgroup for memory resources from Linux-Next (Ultimate ONLY)
Updated and Enabled zcache from Linux 3.2.x
Version 008 (deprecated - 4.0.2/4.0.3)
Add brand new I/O Scheduler designed from specifically for FLASH devices (FIOPS)
Further Tuned OnDemand Governor
Disable CleanCache
Update Block I/O to Linux-Next
Applied a few updates from omapzoom related to PM
Add Early Suspend / Late Resume to Interactive Governor
Add Early Suspend / Late Resume to OnDemand Two-Phase Governor
Add Snappy Compression ZRAM
Version 009 (LONG Term Release - 4.0.2/4.0.3)
*** 4.0.2 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control enabled, Enabled GPU Overclock to 384 MHz)
*** 4.0.3 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Fixed USB drain bug
Further pre-UV @ 92% of stock voltages
Added intermediate frequencies @ 525MHz, 810MHz and 1060MHz
Default @ 1.2 GHz after startup
Joe's RCU (directly from Joe's Email to me)
Multi-threaded Kernel Device Initialization
Version 010 (deprecated - 4.0.2/4.0.3)
updated hrtimer to use usleep_range (more accurate time tracking)
added OMAP4 patch for HSI issues (bug fixes)
added vmscan patches (bug fixes)
increased voltage by 1.5%, so it's now pre-uv'ed to 93.5% of stock voltages (stability)
revert multi-threaded device init (camera fix...)
added mfd optimization for twl6040 codec (performance enhancement)
added JIT compiler for packet filters (performance enhancement)
added mmc patch for deadlock (bug fixes)
added OMAP4 patch for DSS issues (bug fixes)
added cpufreq patches (bug fixes)
added memcg bug patches (bug fixes)
patched FrontSwap to complement CleanCache for complete I/O performance enhancement support. (performance enhancements)
added latest OMAP patches from omapzoom.org relevant to OMAP4460 (bug fixes)
Patched to kernel.org 3.0.17 (kernel update)
Version 011 (deprecated - 4.0.2/4.0.3)
Applied bunch of OMAP patches from omapzoom.org
Added hotplug capability to conservative governor as well when screen is off
Tweaked conservative governor to be slightly more responsive (nothing massive)
Reduced Ultimate GPU OC from 422.4MHz to 403.2MHz when running CPU @ 1.35 GHz OC for better stability!
Increased Mainline GPU OC voltage from 1.096 volts to 1.113 volts when running CPU @ 1.35 GHz OC for better stability!
Fixed couple of minor merge errors (vmscan)
Patched to kernel.org 3.0.18 (patched the recently found exploit gaining illegal root access)
Tweaked GPU max frequency @ 422 MHz and use same voltage value as old 384 MHz for Ultimate (for even better performance without increasing voltage)
Tweaked GPU to use lower max frequency @ 345 MHz and lower voltage for Mainline (for even lower battery consumption while screen on)
kernel NOHZ patches (better performance, better battery)
kernel cgroup patches (bug fixes)
OMAP specific RTC, USB patches (better performance and bug fixes)
ARM cache patches (better performance)
Version 012 (deprecated - 4.0.2/4.0.3)
revert SMP patch based on notifications
Updated to kernel.org 3.0.19 (bug fixes and performance)
Another 30+ patches (over 110+ total patches) for RCU bring RCU to the ABSOLUTE latest release (performance and battery life)
adjusted hotplug governor patches for interactive, ondemand and conservative slightly (bug fixes)
Tweaked voltages again:
core voltages to 95.0% of stock (used by GPU and everything ELSE in the system)
mpu voltages to 90.0% of stock (used only by CPUs)
iva voltages to 93.5% of stock (used only by Audio/Video DSP)
revert Asynchronous SMP boot (could be the culprit for the reboots when coming out of sleep)
added 2 more latest RCU updates (performance enhancement and battery life)
added cpuidle patch (battery life)
reverted Joe's RCU in favor of newest RCU Forward port.
Updated over 80+ patches to the latest RCU based on Linux 3.3 rc5 (better performance & battery life)
Cherry picked selected Linux 3.3 rc5 NOHz scheduler updates (better performance & battery life)
board/pm44xx: change from err to info for PM debugging message (easier for me to read)
usb/host: fix trivial merge error (bug fix - small omission)
cpufreq: update early suspend level to EARLY_SUSPEND_LEVEL_STOP_DRAWING (delay hotplug until all drawings are done!)
cpufreq/interactive: add early suspend/late resume drivers support (For ICS 4.0.3 ONLY, DOH forgot...)
opp4xxx_data: under volt MPU to 90% of stock (further UV!) <== TEST THIS for stability!!!
OMAP4: PM: Handle LPDDR CLK IO errata during suspend/idle (bug fix)
rpmsg: resmgr: disable aux_clk_src in case of error (bug fix)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: move user vfp state save/restore code out of signal.c (bug fix)
Revert "ARM: vfp: clear fpscr length and stride bits on entry to sig handler"
ARM: OMAP3+: SmartReflex: fix error handling (bug fix)
ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree (bug fix)
ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup (bug fix)
ARM: OMAP2+: GPMC: fix device size setup (bug fix)
ARM: fix rcu stalls on SMP platforms (bug fix)
OMAP4: Clock: Force a DPLL clkdm/pwrdm ON before a relock (bug fix)
kernel/timer: Optimise apply_slack() for size and speed. (performance enhancement)
mm: compaction: Check pfn_valid when entering a new MAX_ORDER_NR_PAGES block during isolation for migration (bug fix)
ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API (bug fix)
ARM: OMAP3+: SmartReflex: micro-optimization for sanity check (bug fix)
ARM: OMAP3+: SmartReflex: misc cleanups (bug fix)
ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument (bug fix)
ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata() (bug fix)
ARM: OMAP2+: clock: cleanup CPUfreq leftovers (bug fix)
smp: Start up non-boot CPUs asynchronously (performance enhancement)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: flush thread hwstate before copying ptrace registers (bug fix)
ARM: vfp: fix ptrace regset modification race (bug fix)
ARM: vfp: flush thread hwstate before restoring context from sigframe (bug fix)
ARM: OMAP2+: PM: clean up omap_set_pwrdm_state() (bug fix)
ARM: Skip unnecessary pte makeup when clearing it (performance enhancement)[/b]
Version 013 (LONG Term Stable Release- 4.0.2/4.0.3)
*** 4.0.2 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
revert asynchronous SMP boot
Updated MM folder to Linux 3.3-rc3
Updated Block folder to Linux 3.3-rc3
Updated AIO to Linux 3.3-rc3
Cherry-picked scheduler Optimization from Linux 3.3-rc3+
added CM9's (aka Supercurio's) Voodoo Color/Gamma control kernel patch.
Updated to kernel.org's 3.0.21
-- filemap completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- swap/swapfile completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- shmem completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- kernel init completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- more selective cherry picks from Linux 3.3-rc3 (kernel 013b8+)
-- memory page writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- FIOPS version 2 (kernel 013+) **made default by requests...
-- Filesystem writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- SLUB completed updated to Linux 3.3-rc2 (kernel 013+)
-- enabled KSM for CM9 Dalvik hack also completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmalloc completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmscan completely updated to Linux 3.3-rc2 (kernel 013+)
-- memcontrol completely updated to Linux 3.3-rc2 (kernel 013+)
-- memory compaction completely updated to Linux 3.3-rc2 (kernel 013+)
-- FIOPS version 2 (kernel 013+) **NOT SELECTED BY DEFAULT, MUST use SystemTuner or VoltageControl app to switch to it.
-- Updated IDR library to Linux 3.3-rc2 (kernel 013+)
Version 014 (deprecated - 4.0.3/4.0.4)
Raised Thermal Throttle limit from 64 degrees to 74 degrees Celcius
Added 1.42GHz and 1.48GHz Overclocking steps with working voltage controls for all slots
Added WORKING
NOTE: If you use voltage control in ANY WAY OR FASHION, THERE WILL BE NO SUPPORT FROM ME if it crashed or have weird errors!!!
Massive updates to FUSE and EXT4 bring them to latest Linux 3.3-rc4
Massive updates to VFS subsystem bring it to latest Linux 3.3-rc4
Kernel.org Patch to latest 3.0.24
Special Asynchronous I/O optimization to optimize ALL kernel I/O operations (supposedly faster than synchronous due to synchronous wait time)
Enabled NFS Client v3 and v4
Updated to kernel.org 3.0.23 from 3.0.21
Add USB fast charge hack by Chad
Add CM9 Color Multiplier hacks
Add OMAP TWL6040 (audio) codec fixes
Version 015 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 015m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 015u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Fix Settings->Apps->Running memory display issues since kernel 011 (Linux 3.0.18 patch)
Applied a few interactive governor patches from Google
disable the OMAP CPU1 PPA fix. (This patch was not new, I remembered it was causing issues, so disabled it again).
Enabled USB Serial FTDI and PL2303 (per request, built-in no .ko required)
patched to Official Google 4.0.4 kernel release
patched to kernel.org 3.0.26
Version 016 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 016m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 016u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Updated Gamma/Color control from CM9 (NOTE: YOU MUST RE-ADJUST YOUR COLOR/GAMMA due to this CHANGE!!!!)
Added VSprint / Number conversion lib optimizations
Added latest Google Clean Room Interactive governor updates
Added Wifi Fast option for fast wifi speed while screen is off (Good for Skype when screen is off)
Code:
echo "Y" > /sys/module/bcmdhd/parameters/wifi_fast
Patched to latest Google MR1 release Kernel source from April
Added TI patches for EMIF (DDR RAM), USB, OTG (to save more battery when using), 32K timer
Enabled Higher Frequencies for IVA (image/video/audio DSP) Free performance boost for 3 different multimedia types!
Tons of TI OMAP 44xx Thermal Framework patches (Still WIP)
Latest patches from Android/Omap for input, cpufreq, RTC, L2 Cache and Netfilter
Tweaked Ondemand Governor Give Ondemand Governor a Try again!
patched to kernel.org 3.0.28 from 3.0.26
cpufreq: interactive - increase sampling time to during screen off
CPUfreq ondemand: update sampling rate without waiting for next sampling
gpu: ion: Use writecombined mappings for Tiler 2D
gpu: ion: Use writecombined mappings
OMAP4: DSS: Implement workaround for Errata ID:i733
Version 017 (Short Term Release- 4.0.3/4.0.4)
*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 017m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u-SR == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
Added TI's DDR RAM patch for low power down mode
Added kernel timer optimization
Added memory control group bug fix
Added SMP fix from Google.
Reduce WiFi voltage by 10%
add TI USB OTG patch
add interactive gov boost patch
add Android Binder patch from Linux 3.4+
back ported Android LMK and RAMConsole from Mainline Linux 3.4+ to 3.0
forward ported OMAP4 DSS Gamma control settings from Panda Board Linux 2.6.32 kernel
http://en.wikipedia.org/wiki/Gamma_correction (this gamma correction is done in the framebuffer, so it is a SOFTWARE correction, different from the Gamma Hacks by supercurio which is more of a Hardware gamma correction and are totally independent from each other. My own recommendation is value of 6)
there are 10 preset gamma tables. 0 ==> disable gamma correction,
1~10 ==> selects the gamma tables
5 ==> gamma of 1.0 to change:
Code:
<br />
su<br />
echo 5 > /sys/devices/platform/omapdss/manager0/gamma<br />
Added Coupled CPU Idle engine (WIP)
Patched to Linux 3.0.30
Added latest Google Interactive Gov patches
Added ARM VFP patches
Added TI TWL Codec patches
Added my own SmartReflex Bypass capability! 1.42/1.48 GHz are stable again
Enabled TI SmartReflex 1.5 (-SR Ultimate Version ONLY)
Updated to latest Google Interactive governor
Patched Audio Codec from TI
Version 018 (Short Term Release- 4.0.3/4.0.4)
Updated to Linux 3.0.33
Added NoHz/Load Balance changes from Linux 3.4+
Fixed DSS power drain issue since Beta 4
Added USB DMA alignment patches
Switched to use generic strnlen_user and strncpy_from_user functions from Linux 3.4+
Added ARM ticketed Spinlocks (better spinlock performance)
reverted wifi voltage adjustment
Added OMAP DSS patch regarding framedrops
Added OMAP DVFS patach
Fixed USB gadget composite corruption
Reverted 2 load balance patches from 017 (According to original author from mainline, they were didn't help).
Added HDMI CEC support
Added HDMI CEC compatible Keyboard Support
Updated to Mainline Linux 3.0.32
Fix and optimize memory allocator (SLUB)
Add new USB Audio Source Gadget support
Fix several OMAP bugs
Update Google's Cleanroom interactive governor to the latest
Update Mainline Linux 3.0.31
patch CPU frequency changes (ie less prone to crash when switching above 1.35 GHz to lower)
Version 019 (JB/4.0.3/4.0.4)
[ JB ]
Fixed Ext4 ASEC loop mount issues (unable to install app2sd apps)
Added my own power.tuna.so to fix Google's hardcoded max_freq screen on/off (built from source)
[ common ]
Fixed MHL/HDMI dock issues
Opened up the potential of my kernel to 1.8 GHz STABLE! (blame Romanbb)
Updated to Mainline Linux 3.0.36
Fixed Scheduler wraparound bug
Fixed 2 block device bugs (backported from mainline Linux 3.5+)
Fixed 1 USB gadget bug from OMAPZOOM
Updated to Mainline Linux 3.0.35
Added TorPlus Compatibility Support
Added CM Vibration Kernel Interface
Removed some debugging flags from compilation
Patched iosched: prevent aliased requests from starving other I/O
Version 020 (JB)
Revert back to old Zcache driver... newer driver is very unstable
re-merged 3.0.39 by hand. Fixed a few auto-merge errors
Fixed /proc/last_kmsg issues (JB compatibility issues with Linux 3.4+ Android RAM console)
Used a re-based Zcache driver (completely re-written by the original author and backported to Linux 3.0 by me)
Updated 3 FUSE patches from Linux 3.5+
Updated to Linux 3.0.41
Added Google's TCP rate reduction algorithm (Linux 3.2+)
Switched to Westwood+ TCP congestion algorithms (supposedly better for Cell/Wifi Lossy style networks)
Updated to latest LZO compression algorithms (up to 2x faster than older version)
Updated ZRAM to use new LZO
Updated to Linux 3.0.40
Backported 2 scheduler fixes from Linux 3.5+
Tweaked Deadline I/O scheduler for better android performance
Added ARM asm optimized AES/SHA1 crypto libs for better IPSEC performance (up to 50% improvement)
Updated fs/sync to Linux 3.5+
Updated to Linux 3.0.39
Updated to Linux 3.0.38
GPU OC'ed to 512 MHz
Updated to Linux 3.0.37
Version 021 (JB)
cpufreq: fix interactive bug during hotplug …
kernel/resource.c: fix stack overflow in __reserve_region_with_split …
irq: Set CPU affinity as soon as the irq thread is created …
slub: zero page to fix boot crashes …
time: Move ktime_t overflow checking into timespec_valid_strict …
time: Improve sanity checking of timekeeping inputs …
time: Avoid making adjustments if we haven't accumulated anything …
dynamic file sync control
board/omap2plus-cpufreq: make CPU governor switch a compilation option
cpufreq: interactive: handle speed up and down in the …
cpufreq: interactive: keep freezer happy when not current governor …
cpufreq: interactive: take idle notifications only when active …
netfilter: xt_qtaguid: report only uid tags to non-privileged processes …
sched: unthrottle rt runqueues in __disable_runtime() …
block: reject invalid queue attribute values …
readahead: fault retry breaks mmap file read random detection …
ARM: 7178/1: fault.c: Port OOM changes into do_page_fault …
x86,mm: make pagefault killable …
wakeup: Use irqsave/irqrestore for events_lock
Added few more Linux 3.5+ bug fix patches!
Updated to a new PowerHAL (no kernel changes)
Applied a few 3.5+ bug fixes for block, FAT FS and Zcache
WiFi driver update (All post xxx.75 fixups)
2 kernel bug fix patches from Linux 3.5+
Introducing CFS load-tracking. (From Google for Linux 3.5+)
- It implements load-tracking on a per-sched_entity basis. This results in a bottom-up
- load-computation in which entities contribute to their parents' load, as
- opposed to the current top-down where the parent averages its children. In
- particular this allows us to correctly migrate load with their accompanying
- entities and provides the necessary inputs for intelligent load-balancing and
- power-management.
ARM: smp: Fix cpu_up() racing with sys_reboot …
sched: unify the check on atomic sleeping in __might_sleep() & schedu… …
block: Remove unnecessary requests sort. …
block: avoid unnecessary plug should_sort test. …
panic: Fix a possible deadlock in panic() …
mm/memblock: reduce overhead in binary search
Version 022 (JB)
revert 1 mainline patch for better I/O performance
add GPU governor select:
default GPU governor: "ondemand" the other is "performance" (full CLOCK no scaling)
to change GPU governor behavior:
echo 0 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for performance)
echo 1 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for ondemand, default setting)
Updated to linux 3.0.45
tweaked the minimum OPP voltage values
tweaked intellidemand some more
Added morphic's Contrast Hacks
Introducing the first ondemand GPU governor for OMAP4460!!!
it will now auto-switch between 3 different GPU speeds:
-- IDLE 156 MHz (uses core voltage 962 mv)
-- NOMINAL 307 MHz (uses core voltage 1127 mv)
-- TURBO 512/384 MHz (uses core voltage 1250 mv)
-- to check GPU usage do:
cat /sys/kernel/pvr_simple_gov/simple_gov_stats
timers: Avoid finding cpu for migration of running timers in __mod_ti… …
sched: Prevent wakeup to enter critical section needlessly
Linux 3.0.44
2 CPU IDLE patches from OMAP
Tweaked Intellidemand for better UI performance
Updated PowerHAL from 30k/300k to 50k/500k sampling rates (screen on/off)
Tweaked Intellidemand for better battery performance
Added 3 cpu idle patches
Added Intellidemand PowerHAL (Courtesy of Termleech. Thank you very much man!)
(no kernel changes, simply a lib update for the ROM)
patched Intellidemand to 3.2 with bug fixes
Introducing Intellidemand 3.1
(See below for Intellidemand logic)
cpufreq/cpufreq_intellidemand: intellidemand cpufreq governor (version 3.1)
Intellidemand is inspired by ondemand governor. Its main features are:
- auto cpu hotplugging based on runnable thread average calculations
- detection of browsing mode (long screen on activities with moderate run
queue depth =< 38 )
- limit max frequencies when in browsing mode to conserve battery for long
duration tasks
Browsing State Determination:
1- Browsing state is enabled as power-on default. Browsing state is disabled
when run queue depth is > 38 for 2 consecutive samples
(very high instantaneous spikes)
Browsing State Limit Max Freq Logic (sliding window algorithm):
1- While Screen is ON > 3 min, and average load of the CPU is < 35%, then
CPU Max frequencies will remain power-on default
2- While Screen is On, if average CPU load > 35%, both CPUs max frequencies
will be limited to a lower user configurable max value
3- While Screen is On, After both CPUs' Max is limited to lowered max, when
the average CPU load has dropped down to less than < 25%, then both CPUs
Max freq will be restored to back to power-on default
Runnable Thread Auto-hotplug (fast hotplug / slow unplug algorithm):
1- When average number of running thread is < threshold, 2nd cpu will be
unplugged.
2- When > threshold, 2nd cpu will be hotplugged.
3- The logic applies a fast hotplug and slow unplug algorithm so 2nd core
will stay enabled longer to help deal with performance spikes
changes from Ver 3.0 -> Ver 3.1:
- add run queue persistence to better determine browsing state
changes from Ver 2.0 -> Ver 3.0:
- remove GPU Busy dependency for browsing state detection (this will make
the governor more portable to other platforms without specific GPU
architecture knowledge)
dependencies:
-- Qualcomm's run queue average logic (SOC independent logic)
-- TI's runnable thread average logic (SOC independent logic)
adapted for OMAP2 platform
