[HTC Sensation] faux123:
Gingerbread Version History

Version 001 (deprecated)

- Based on 100% HTC source code!

- EXT 4 Support, CIFS + UTF-8 (NLS Support)

- Kineto_gan Support (WiFi Calling)

- CFQ I/O Scheduler default

- CPU Min/Max Frequency Enabled

- SmartAss 384MHz~1188MHz Default, Screen Off 594MHz

- SmartAss, MinMax, and Interactive Governors Added

- SmartAss Governor Set as Default for CFS

- TUN VPN support added

- SLQB memory allocator added and made default

- BFQ I/O scheduler added and made default

Version 002 (deprecated)

- Fixed SmartAss Governor

- Added NEON and other Snapdragon Compiler optimizations

Version 003 (deprecated)

Patched kernel to version 2.6.35.14

Version 005 (deprecated)

Added OC capability up to 1.512 GHz

Tweaked Voltage Table for more stability

Added REAL SmartAss Governor

(I was contacted by Erasmux's friend who informed me about the kang hax smartass I had!

I don't know where I got it from :p )

Patched BFS (step 1, not working yet)

Allowed unaligned memory access

Version 006 (deprecated)

Reverted CPU Clock Table back to CAF version

OC up to 1.512 GHz CAF Fast Version

Added CAF Patches to msm/cpufreq

Version 007 (Long Term Stable Release, Official GB2.3.3 )

The File ==> Sensation Kernel 0.0.7 <==

OC CPU up to 1.782 GHz, L2 Cache up to 1.512 GHz

Added CAF Patch to force max frequency for all cores via sysfs mfreq

Added Bluetooth BNEP support

Version 008 (deprecated, GB2.3.4)

Applied CAF USB Composite Patch

Removed USB Switch Mute conditions

Version 009 (deprecated, Hacked GB2.3.4)

Introducing Synchronous L2 Cache (1.56 GHz version ONLY)

Introducing L2 Cache Bandwidth Boost (from max 310MHz to 360MHz)

Introducing SmartAssV2 Official Version directly from Erasmux's Commits (Major props to Erasmux)

Version 010 (Short Term Release, Hacked GB2.3.4)

The File ==> Sensation kernel 0.1.0 (1.78 GHz) <==

The File ==> Sensation Kernel 0.1.0 (1.56 GHz Sync L2) <==

CAF Patch msm: acpuclock: Subscribe to _FROZEN CPU notifiers

CAF Patch msm: pm-8x60: Remove redundant code for restoring ACPU Clock Rate

CAF Patch msm: acpuclock-8x60: Use hotplug notifications for CPU, L2, BUS, voltage

SmartAssV2 is removed (temporary until I fix it)

Added back Scaling_Available_Frequecies sysfs entries (For Mike1986 and other ROM devs)

Introducing GPU 2D/3D Overclocking :D

2D Engine from 228.5 MHz to 266.6 MHz (this one is CPU limited, so will only see benefit with faster CPU clock such as my 1.78 GHz kernel variant)

3D Engine from 266.6 MHz to 320 MHz (both versions will benefit from this boost)

Version 012 (deprecated, Official GB2.3.4)

Re-Based on HTC MR release! (new baseline)

Introducing Joe's RCU ;) (Performance boost, designed for aSMP architecture, garbage collection limited to master CPU, slave CPU only need to do what it needs to do)

Fast NoHz RCU (An RCU designed for Tickless kernel, which is our kernel)

Re-patched HTC MR release 2.6.35.13 to kernel.org 2.6.35.14

GPU 2D/3D is now same as stock (Due to screen tearing issues experienced by some users)

CAF msm: clock-8x60: Refresh PDM and TSSC halt bits at boot (Bug Fix)

CAF msm: 8660: Add barriers to SMP boot code (Stability patch)

CAF msm: clock-local: Add memory barriers for later move to _relaxed accessors (Stability patch)

CAF ARM: SMP: Make resched-ipi-while-offline warning less verbose (Slight performance tweak)

CAF msm: clock-8x60: Vote for mmfpb_a_clk at 64MHz (Bug fix)

CAF mmc: core: put eMMC in sleep (cmd5) mode before suspend (Power Saving)

CAF msm: clock-8x60: Don't disable clocks in reg_init (Bug fix)

Version 013 (deprecated, Official GB2.3.4)

Introducing GPU Turbo Boost (Max GPU clock from 266MHz to 320MHz, increased bandwidth from 2.48GHz to 2.87GHz)

KGSL Patch: Fixed Sleep Issue (Bug fix to actually allow GPU to go to sleep when it is idling)

KGSL Patch: Allow Large memory buffer request from User land (Let apps allocate large GPU memory buffer)

KGSL Patch: Save more GPU registers (Avoid register corruption due to context switches)

KGSL Patch: Check for Null Pointer (Safety precaution to avoid null pointer exception in kernel)

KGSL Patch: Do not trash general work queue (bug fix, work queue was corrupted)

KGSL Patch: Make GPU governors visible via sysfs interface

Version 014 (deprecated, Official GB2.3.4)

Introducing Global CPU Voltage Table (Under volt capability via sysfs interface, inspired by snq adapted for Snapdragon Dual-Core by me :D )

Re-coded GPU Turbo Boost. Fixed GPU Scaling governor (scaling was disabled)

Joe's RCU option is deprecated (based on download stats)

Version 015 (deprecated, Official GB2.3.4)

Added 1.674 GHz option (L2 Freq up to 1.566 GHz)

Applied many FrameBuffer patches from CAF

Applied couple more KGSL patches from CAF

Version 016 (deprecated, Official GB2.3.4)

Revenge of CFS, CFS Enhancement ;) (Interactive latency greatly reduced, make it BFS like)

Version 017 (deprecated, Official GB2.3.4)

Fixed the derp that was 0.1.6 :p

Applied many FrameBuffer patches from CAF yet again

Version 018 (deprecated, Official GB2.3.4)

Added New Early suspend drivers for 2D and 3D GPU engines

Re-Enabled KGSL Ringbuffer Power Management Overrides

Updated to JHash3

Updated Cpufreq to copy policy from siblings

Fixed memory leak in cpufreq stats

Removed CPU from NoHz Idle fair cgroup

Shorten 1080P start up latency

Fixed USB Gadget Serial Crash

Applied more MSM FrameBuffer updates from CAF

Version 019 (deprecated, Official GB2.3.4)

Fixed random SPI Operational State Invalid error

Added histogram capability for MSM video

Added lock/unlock for KGSL Early Suspend Drivers

Updated KGSL power level change

Revert Reg Init Patch from earlier (cause of instability)

Optimized memcpy and memmove for string library calls (real working version ;) )

fixed audio unmapped memory crash

fixed inaccurate D-Cache size Macro

Version 020 (deprecated, Official GB2.3.4)

CFS Autogroup Version 2.0 :D (Super Charged CFS)

Fixed Kernel/Timekeeping issue

Fixed Full / Stretched Screen issue for Video Player :o

Patched FB and KGSL :)

Fixed Random Reboot issue :p (took me a week to verify this fix :p )

Revenge of JRCU ;) (JRCU tweaked for better performance and battery savings)

Removed ALWAYS ON ADM Clock to save battery

Moved Data Mover to early suspend for cleaner exit

Version 021 (Deprecated, Official GB2.3.4)

Added XZ Compression support to 2.6.35 kernel

Added XZ Compression support for kernel image

Added XZ Compression RAMDisk support (boot time)

Added SquashFS support based on new XZ Compression (very high compression ratio File System)

Updated Camera Driver FPS to 120 (mdeejay ;) )

Used the git implementation of SHA-1 to reduce boot time by 11%

Updated qdsp6v2 to block write until buffer is full

Updated trivial bug fix for SMP macro

Introducing ZRAM (compressed RAM == MOAR RAM ;) )

I have successfully back ported ZRAM from 2.6.38 kernel to our older 2.6.35.xx kernel :D This should alleviate the memory pressure introduced by Sense UI.

ZRAM bug fixes and latest patches (up to latest greatest beyond Linux Kernel 3.1-rc8) :p

Version 022 (deprecated, Official GB2.3.4)

Increased ZRAM allocation for even MORE data in RAM :D

Added newly optimized CRC32 Improves EVERYTHING that uses it including TCP/IP, File Systems etc... :eek:

Added newly optimized CRC32c improves EXT4 metadata performance and anything else which uses CRC32c :eek:

Patched msm_serial_hs_lite (better battery life)

Patched qdsp6v2 to fix unexpected power consumption (better battery life)

Patched mdp4_overlay to flush RGB pipe when solid fill mode is used (better battery life)

Patched clock-8x60 to add a lower gsbi_uart_clk entry to save power (better battery life)

Lowered Camera Flash limit from 30% to 10% :p

Tweaked conservative governor for better interactive performance

Enabled Deep Power Management Options (better battery life)

Lowered CPU Minimum Voltage (better battery life)

Gate smi_2x_axi_clk off when smi_clk is disabled (better battery life)

Fixed performance level computation for VCD (better performance)

Added local control of vpe_axi_clk and rot_axi_clk (better battery life)

Removed unnecessary checks from DMA engine :D (more efficient DMA Engine == performance)

CleanCache(using Zcache)+FrontSwap optimizations :D (this concludes the ZRAM/Swap optimization)

Version 023 (deprecated, Official GB2.3.4)

CleanCache (zcache disabled due to incompatibility with mpdecision, blame HTC :( )

ARM Patch: Use CTR for the I-cache line size on ARMv7 (better performance)

lowmemkiller: make it swap friendly (better performance)

Enabled inline locks for ARM (performance)

ZSL Driver backport (part 2, CODE ONLY, not enabled)

CPU workqueue optimization (limit some workqueues to single thread)

Conservative Governor minor tweak

patched qdsp6v2 to Set tx and rx flags based on current device

patched display to avoid staging up two pipes at same mixer_stage

patched display to avoid staging up two pipes at same mixer_stage

Added GPU slumber (whenever screen is off, GPU is set to sleep)

Added idle wait support for SMP

Fixed AXI clock bug in GPU

Fixed L2 Cache Synchro bug (better performance)

Updated spin lock code (better performance)

Reduced WiFi voltage to min recommended by datasheet (better battery)

Reduced other sub-system voltages by 5~10% (better battery)

Eliminated unnecessary macro from decompressors (code clean up)

Wind down GPU turbo mode if idling (better battery)

compiled with latest code sourcery (better performance)

Fixed Power Management memory leak :eek:

Added 2 way call record capability (thanks to mdeejay!) :D

Patched wakelock to latest AOSP

Patched audio DSPs

Patched Ondemand Governor for better power savings.

Version 024 (deprecated, Official GB2.3.4)

NoHz RCU set as default

Disable BCM4329 wake irq when stopped (battery saving fix)

Re-order PPP packets in PPPoLAC and PPPoPNS (VPN bug fix)

PLL clock training with higher frequencies for better stability (stability enhancements)

mfd - Fix memory leak in debug probe

Introducing GPU 2D scaling governor (Enabled, completely original coding from me)

-- now it will scale from 145.455MHz~200 MHz depending on usage (this should save additional battery while screen is on).

Introducing IntelliDemand CPU governor

-- Built-in Screen Off profile (like SmartAss)

-- Built-in Browsing detection (enabled, completely original coding from me)

(this will limit cpu clock to max 1.0 GHz while browsing web, book, email etc)

Adjusted 3D and 2D GPU scaling and initial states for better compatibility with Rosie

Version 025 (deprecated, Official GB2.3.4)

msm72k_udc: Replace dma_coherent_pre/post_ops with mb/rmb

nfs: writeback pages wait queue

block: limit default readahead size for small devices

make default readahead size a kernel parameter

smd_pkt: Extend read operation to receive data larger than SMD FIFO

pet watchdog from console driver

Correct the number of slave ports in the system

watchdog: increase pet time to ten seconds

led: enable dynamic LED brightness

mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path

Revert "qup_i2c: Calculate combined write length for multiple write transactions" (broke Sensors )

restart: call secure code to disable arbiter

restart: Handle reset interrupt from pmic

pmic8058-xoadc: request's done late into suspend

pmic8058-xoadc: Add mpp_config call on configure

Remove pm_runtime_suspended() from __pm_generic_call

HDMI: Support for 480p 16:9 in HDMI Driver

qdsp6v2: Reduce the pcm write timeout value

enable ldo's in PHY resume path (usb)

Add suspend/resume for TSENS (thermal sensor)

While powering down flush all the rpcrouter workqueues (rpc)

Reader thread to allocate memory without holding a spinlock (rpc)

Reorganize the usage of spinlocks in RPC Router reader thread

Update RPC client's cb_list_lock to use spinlocks

Retry callback registration on timeout (rpc)

Add smd_tiocmset api without spinlocks

Close smd ports upon failure to open.

print lock name for lockdep_init_error

execute lockdep_init as early as possible

board:clocks: add comments to make trouble shooting easier

smd_tty: restrict DS port platform driver

smd: add closing state to subsystem restart

smd_pkt: add subsystem restart loopback server reinit

smd_tty: add subsystem restart loopback server reinit

smd: add check for LOOPBACK_TTY platform device

Add 10 microsec delay before fetching setup_data (usb)

Simplify ACA state machine to support standard ACA (usb)

Recovery point SEI support for ISDB-Tmm (vidc)

Copy the End of Sequence flag (vidc)

Fix H.263 30fps standard resolution encoding.

Override SP profile to ASP for MPEG4 decoding.

Remove check for allocation of sequence buffer size. (vidc)

Update firmware memory size. (vidc)

Fix GOB Header for H.263 encoding.

Increase the decoder input buffer size.

Return the correct error code for IOCTL. (vidc)

Set correct divx codec type.

Handle b-frame not supported error.

Increase the kernel SMI memory size. (vidc)

Report bitstream errors to driver client.

add change to print MFC firmware version

Removed check for comparing DPB Size

add Check for infinite intraperiod configuration.

Fix to handle non-fatal sequence header errors. (vidc)

Fix not coded vop handling in decode order.

add mdp revision number

increase mdp max burst size

Calculate combined write length for multiple write transactions (i2c)

Fix input handler crash (ondemand, intellidemenad)

Add htc off-alarm support from XE source

updated sii9234 tpi driver from XE source code

USB misc code updates from XE source

enable android USB gadget projector support

Added thermal trip critical retry from XE source

updated DMA engine from XE source

fixed minor HTC battery driver coding derp

Added HTC Beats headset support from XE source

kernel:sched: avoids loadavg Moire

don't call task_group() many times in set_task_rq()

block level disk cache target for device mapper

Do not destroy old sched domain on cpu_up

Do not block when waiting to free old root domain

Check for extended quiescent state at start of gp (rcu)

Don't allow cpu to get console lock during hotplugging (printk)

Add the function 'cpu_hotplug_inprogress'

Remove extraneous boot_secondary delay

Version 026 (deprecated)

PM / Sleep: fixed coding derp from "Drop pm_op() and pm_noirq_op()"

mfd: timpani-codec: Handle register write for numbers more than cached one

mfd: timpani-codec: Write register defaults when disabling devices

msm_fb: Remove Audio Packet Control Register setup

mfd: timpani: Retry upon I2C failure.

msm_fb: Check for ACP and ACFG register before reset core.

msm_serial: add PM_RUNTIME code from CAF

mm: retry page fault when blocking on disk transfer

msm: kgsl: Do not allow SLUMBER from INIT

PM / Sleep: Drop pm_op() and pm_noirq_op()

PM / Sleep: Unify diagnostic messages from device suspend/resume

sched/rt: code cleanup, remove a redundant function call

ARM: Add optimised swahb32() byteswap helper for v6 and above

hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.

kernel.h: Add BUILD_BUG() macro.

msm: kgsl: New low power level

msm: vidc: print message as kernel info instead of error

camera:gemini: update gemini engine from hTc Ruby

battery: battery driver and charging driver update

mm: Android Ashmem update from hTc Ruby

misc: android pmem update from hTc Ruby source code

mfd: marimba core update from hTc Ruby

board: ARM kernel update from Ruby source code

cpufreq: add two-phase to ondemand and intellidemand

Version 027 (deprecated)

input/misc/gpio: update input GPIO driver from PyramidLE source

vidc: 1080p: Override profile to ASP for XVid/Divx456

Re-enabled ZRAM

Version 028 (deprecated)

Updated Zcache and ZRAM to latest Linux-next patches

Added Google's Snappy Compression for ZRAM

Version 029 (Current, Official GB2.3.4)

Init: Multithread initcalls to auto-resolve ordering issues.*

memcg: let css_get_next() rely upon rcu_read_lock()*

idr: make idr_get_next() good for rcu_read_lock()*

mm: implement WasActive page flag (for improving cleancache)*

zcache: fix deadlock condition*

Revert "msm: kgsl: Clocks should be set to the active level during NAP"*

Revert "partition_sched_domains: Do not destroy old sched domain on c…*

mmc: core: Prevent too long response times for suspend*

​