Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[KERNEL] [Dec 15] [Sense][GPE] Hypernova_1.3.5 && Flar-Port_2.0.0/3.0.1

OP MassStash

23rd June 2014, 09:03 PM   |  #1  



HTC One M8_WHL Sense Kernel
(Not for GSM or VZW)

This kernel has been
MassStashed

Kernel Features
FEATURES - FlarPort
Easy installation with Aroma installer - Special thanks to flar2
overclocking
gboost for enhanced gaming performance
choose voltage profile in installer
full user voltage control
underclock CPU or GPU
i/o schedulers: FIOPS, SIO, CFQ, NOOP, ROW, deadline
optional sweep2sleep
Optional custom wake gestures (no motion required!)
Optional pocket detection (with custom wake gestures)
Option to disable volume button wakes camera (with custom wake gestures)
High Definition Audio capability
Optional USB fastcharge
Option to reduce vibration strength
Remove /system write protection
NTFS r/w, CIFS, exFAT support
Option to disable fsync
Option to disable magnetic cover
/dev/frandom support
Color control
DriveDroid support
Optimized -O3 linaro 4.9.3
Stereo call recording
Lz4 compression for faster boot
Unified dtb's to make work with all variants (Thanks captain_throwback)


FEATURES - Hypernova
Everything from Flar Port (Gboost removed in favor of interactive and hotplug cpu control. Not necessary with this setup
Franco's mako_hotplug
cpu-boost
Franco's enhanced interactive governor set to default, and with tweaked settings thanks to Dan
High performance audio (Thanks lyapota)
Unified dtb's to make work with all variants (Thanks captain_throwback)
Prima wlan driver module from HTC and prima with updates compiled with kernel (Thanks lyapota and captain_throwback)
NTFS support

FEATURES - Stockish
Optimized -O3 linaro 4.9.2
A couple fixes and other optimizations


INSTALLATION
1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the pre-selected options
3. Wipe cache/dalvik cache
4. Reboot

It is recommended to disable or increase the screen timeout in TWRP recovery. If the screen timeout is enabled in TWRP, there may be a black screen after exiting the Aroma installer. This is nothing to worry about. Simply hold power and volume down and volume up buttons until it reboots. The installation will be fine. If things get stuck in aroma, simply do this reboot method and immediately hold down to get to bootloader mode, then select recovery and start from the beginning.


Donate to franciscofranco!
A lot of this is thanks to franciscofranco’s commits, so donate to him!

Donate to Flar2!
A lot of this is thanks to flar2’s commits, so donate to him!

Here’s mine if you would like to donate to me specifically


DOWNLOADS

NOTE: Custom wake gestures are a WIP. If you have problems with the proximity sensor, reinstall with stock gestures option

Sense 4.4.4
Hypernova-m8-1.3.5-Sense

FlarPort-m8-2.00-Sense


GPE 5.0.1
Hypernova-m8-1.3.5-GPE

FlarPort-m8-3.01-GPE


NOTES AND OTHER IMPORTANT STUFF YOU SHOULD KNOW!!!
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)

If settings are not sticking:[*]Make sure you have busybox installed correctly and updated to the latest version[*]Make sure the file permissions for /etc/init.d/99elementalx or 99msx are set to execute.[*]Check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or TricksterMod) are interfering with your settings.


ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log or msx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options. Also, in this file is your devices PVS number. Please refer to the links down below as to what the heck the PVS means. Helps with troubleshooting OC/voltage related reboots device specific. Not all devices were created equal!

Overclocking
Overclocking is optional. The installer lets you choose the maximum frequency. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. I don't recommend overclocking, this device is fast enough. If you overclock, the CPU frequency will likely be throttled due to heat. I recommend the stock frequencies, as this device is plenty fast.

CPU voltages
The installer allows you to choose from several undervolting options: stock, -15mV, -30mV, or -45mV. This only undervolts the lowest frequency, which happens to be the frequency used the most, and this is safer. Be careful, lowering voltages can cause instability.

gboost
gboost enhances gaming performance by giving a slight boost to cpu frequencies when the graphics load is high (e.g. while gaming). It should have no effect on battery life during regular usage, so it's safe to leave it enabled all the time.

fsync
fsync can be disabled if you're looking for the last ounce of performance. I recommend leaving it enabled as there is a slight risk of data loss if your phone shuts off unexpectedly before filesystems are synced.

Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.

Sweep2sleep
Sweep2sleep allows you to put your device to sleep by swiping right to left across the bottom of the screen where the back, home, recent buttons are. I find this useful since the stock motion gestures do not provide a good way to turn off the screen.

/sys/android_touch/sweep2wake

0= disabled
1= sweep2sleep right enabled
2= sweep2sleep left enabled
3= sweep2sleep left and right enabled

USB fastcharge
USB fastcharge is optional. This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 1100ma. Be sure that the computer/laptop/whatever you are plugged into can handle it. Some will automatically cap it at 500ma. Please note that this does not force AC charge mode like previous implementations of force fastcharge. Your battery setting will still say USB mode. You can edit /etc/elementalx.conf to change the setting on boot.

Wake Gestures
There are three modes

Mode 1: Stock Motion Launch Gestures
For stock motion launch gestures, /sys/android_touch/wake_gestures, /sys/android_touch/sweep2wake and /sys/android_touch/doubletap2wake must all be set to 0. Enabling any of these overrides the stock gestures. Obviously Motion Launch Gestures must be enabled in the system settings.

Mode 2: Remove motion requirement
For this, you must set /sys/android_touch/wake_gestures to 1 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake and Motion Launch Gestures must be enabled in system settings. In this mode, when you sweep or doubletap, the appropriate input events are generated and acted upon the EasyAccessService (i.e., the system app that handles gesture actions).

Mode 3: Traditional S2W/DT2W
In this mode, wake gestures and actions are handled entirely by the kernel. The gestures will turn on the screen and that's it. For this, you must set /sys/android_touch/wake_gestures to 0 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake. It doesn't matter if Motion Launch Gestures is enabled or disabled in system settings, the gestures don't interact with it in this mode.

Options
For modes 2 and 3, there are several options.
Sweep2Wake
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down.....8

Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)

DoubleTap2wake
Set /sys/android_touch/doubletap2wake to 1 to enable DT2W, and set to 0 to disable it.

Pocket Detection
Set /sys/android_touch/pocket_detect to 1 to enable pocket detection, and set to 0 to disable it. Pocket detection is experimental right now, I'd say it's about 90% functional, but there is an occasional bug where it either doesn't work or works too well.

Vibration Strength
Haptic feedback can be enabled for the wake gestures in /sys/android_touch/vib_strength. This setting takes a number between 0 and 60. Default is 20, which is the same vibration as the stock gestures. Setting this to 0 disables haptic feedback.



SOURCE
https://github.com/MassStash/htc_m8w...el_sense_4.4.4
https://github.com/MassStash/htc_m8_..._GPE_5.0.1.git
https://github.com/flar2/m8-Sense-4.4.4
https://github.com/flar2/m8-GPE-5.0.1.git

.................................................. ..............................................

XDA: DevDB Information
MassStashed-m8whl, Kernel for the HTC One (M8WHL)

Contributors
franciscofranco
flar2
Evolutionmods
MassStash



Version Information for FlarPort
Status: Solid
Current Stable Version: 2.00
Stable Release Date: 12-15-2014

Version Information for Hypernova (mako_hotplug)
Status: Solid
Current Stable Version: 1.3.5
Beta Stable Release Date: 12-15-2014

Created 06-20-2014
Last Updated 12-15-2014
Last edited by MassStash; 16th December 2014 at 04:19 AM. Reason: Update city b10tch
The Following 37 Users Say Thank You to MassStash For This Useful Post: [ View ]
23rd June 2014, 09:03 PM   |  #2  
Changelog
CHANGELOG (Cliff-Notes) Here's a GDoc for Latest

Dec 15, 2014
All compiled with latest linaro 4.9.3 prerelease toolchain and are all also packaged with anykernel method to allow for zImage and dt.img injection into rom’s stock boot.img, thus keeping ramdisk with any specific optimizations made for that exact rom.

If this is first time flashing these updated packaged kernels, please dirty or full wipe flash the rom you’re on, let it boot to system, then reboot to twrp and flash one of these kernels.

Flar-Port
GPE
Add all variant dtb’s from capt
Add NTFS
Sense
Added high perf audio and set to default on
Add all variant dtb’s from capt
NTFS support
Couple lz4 compression updates
Hypernova
GPE
Based on flar2’s GPE
Added all commit’s from sense hypernova to date (see directly below)
Sense
Couple updates to mako_hotplug, cpu-boost, and interactive governor
Couple lz4 compression updates
Enhance power efficiency patches
Fix bad hashing of dentries
Add support to validate pixel extension calculations
New relation for freq selection

Nov 17, 2014
Flar-Port
Port all commit’s from flar2’s 4.4.4 ElementalX kernel to make new 4.4.4 MassStashed Flar Port

Hypernova
Started with 4.4.4 Flar Port and then ported all commit’s I got from Franco’s One Plus One kernel to new 4.4.4 Hypernova kernel.
Added prima wlan module to compile with kernel from lypota, from htc source
Updates to wlan module
Updates to mako_hotplug
Added unified DTB from captain_throwback for vzw and gsm/intl support build in one zImage. Still need proper zip because I chose to use repack each with their specific ramdisk as opposed to using anyernel for now. Will look into anykernel at a later date for a one zip for all solution. Thank you captain for introducing me to anykernel method.
Added NTFS support

Oct 10, 2014
Enable compatibility with all M8 variants
wcd9320: Enable class AB mode, AKA high perf audio headset mode, be d…
high perf audio - fixed m8 incompatible
sound high perf - clean code
Update defconfig with version number
added high perfomance sound
wake_gestures: re-enable proximity sensor after phone call end and sc…
backlight_dimmer: give two dimmer options and create sysfs node
Revert "i2c: reduce remaining clocks"
i2c: reduce remaining clocks
Revert "Add backlight dimmer option"

Sep 15, 2014
Update aroma for brightness compatibility

Sep 14, 2014
Add backlight dimmer option
Sound Control: add line gain to cached and register lock …

Sep 12, 2014
kexec-hardboot: based on @Tasssadar
msm-sleeper: add ex_max_freq interface
Bump scripts for building with 2014.08 linaro 4.9.2

Aug 26, 2014
msm: Fix high load average from uninterruptible waits
GPU: start at 200MHz instead of 320MHz
Net/l2tp: don't fall back on UDP [get|set]sockopt
Update defconfig
MHL adapter fix from HTC
Charger updates from HTC


Aug 10, 2014
Update to Venom Int Ramdisk for packaging kernels to not break root and init.d on int based ROM

Aug 01, 2014
Update Stockish to 4.4.3 source
Update FlarPort to latest 1.0.0 ElementalX 4.4.3 | Most everything from 4.4.2 has been brought over

Jun 24, 2014
Fix touch in aroma installer - Gigantic thanks to badseed team for the fixed binary, and capt for bringing this to my attention

Jun 21, 2014 - MassStashedX_v0.19.1
Fix implicit declaration of function ‘wait_for_completion_io_timeout’… …
Switch baconMaker to elementalx_defconfig


Jun 20, 2014
Revert "cpuidle: Quickly notice prediction failure in general case" …
Revert "cpuidle: Get typical recent sleep interval" …
Revert "cpuidle: Fix finding state with min power_usage" …
Revert "cpuidle: remove the power_specified field in the driver" …
media-device: fix infoleak in ioctl media_enum_entities() …
futex: Make lookup_pi_state more robust …
futex: Always cleanup owner tid in unlock_pi …
futex: Validate atomic acquisition in futex_lock_pi_atomic() …
futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == u… …
futex: Add another early deadlock detection check …
futex: Prevent attaching to kernel threads …
Update cwmcusensor
Wake Gestures: fix dot view mode
stereo call recording support …
msm: kgsl: Fix nice level for higher priority GPU start thread …
arm: lz4: faster boot-up process. …
lz4: fix compression/decompression signedness mismatch …
lib/lz4: correct the LZ4 license …
crypto: add lz4 Cryptographic API …
lib: add lz4 compressor module …
arm: add support for LZ4-compressed kernel …
lib: add support for LZ4-compressed kernel …
decompressor: add LZ4 decompressor module …
DRIVERS: SLIMBUS: some more tweaks, which is double what we had befor… …
Wake Gestures: add proximity enabled flag
Wake Gestures: debugging messages
Wake Gestures: increase boot delay, add timeout to sweeps, fix irq en… …
Wake Gestures: add boot time delay for proper initialization of sensors
Wake Gestures: option to disable volume buttons launch camera in land… …


Jun 20, 2014
Wake Gestures: fix typo
Wake Gestures: more fixes for pocket detection, mcu initialization an… …
Wake Gestures: fix custom gestures in dot view mode
Wake Gestures: various improvements and fixes
DRIVERS: SLIMBUS: slimbus enhancements mkII …
Wake Gestures: Allow customization of the screen wake gestures on HTC… …
Downgrade CIFS …
GCC 4.9.1: fix compile warnings
GCC 4.9: fix compile warning …
cpufreq: interactive: fix compiling warnings …
Adjust some voltages
Set up underclocking and overclocking
Disable magnetic cover event
Change auto undervolting to use min freq only and adjust oc voltages …
Adjust min and max voltage limits …
msm: clock-krait-8974: User voltage control for msm-cpufreq device …
Add gboost
Bump overclocking voltages a bit
[qpnp-vibrator] sysfs interface from GPE source
Sound Control 3.x: adaptation for HTC One (M8) …
sound control: add register cache …
Sound Control: (OPTIONAL) add power amp registers access control as well …
Sound Control: (Optional) work around for Nexus 4/5 audio issues …
sound control: WCD9320: update speaker gain control for Z1 …


Jun 20, 2014
sound control 3.x: Initial GPL release for WCD9320 Audio Codec …
Sound Control: WCD9320: expose additional controls …
Add option to lower vibration
Overclocking: fix and add more steps
msm: cpufreq: Add API to allow limiting of min and max cpu frequencies …
msm-sleeper: limit max freq when screen is off
Show pvs in sysfs
Revert "sched: Micro-optimize the smart wake-affine logic" …
Revert "sync: don't block the flusher thread waiting on IO" …
Revert "FS: import F2FS" …
Revert "exFAT support" …
Revert "sched: add wait_for_completion_io[_timeout]" …
Revert "block: account iowait time when waiting for completion of IO … …
Disable HTC /system write protection …
Overclocking and undervolting options


Jun 10, 2014
Fastcharge for HTC One m8
LCD_KCAL Colour Control for m8
SELinux: Fix memory leak upon loading policy …


Jun 10, 2014
block: account iowait time when waiting for completion of IO request …
sched: add wait_for_completion_io[_timeout] …
deadline: Allow 0ms deadline latency, increase the read speed …
exFAT support …
Add fsync option
Add sweep2sleep …
FS: import F2FS …
ARM CPU Topology and cpu_power driver …
softirq: reduce latencies …
nohz: Reduce overhead under high-freq idling patterns …
ext4: fix memory leak in xattr …
cpuidle: Get typical recent sleep interval …
cpuidle: Quickly notice prediction failure in general case …
cpuidle: Quickly notice prediction failure for repeat mode …
cpuidle: move field disable from per-driver to per-cpu …
AIO: Don't plug the I/O queue in do_io_submit() …
Add SIO and FIOPS i/o schedulers …


Jun 09, 2014
warning: argument to 'sizeof' in 'memcpy' call is the same pointer ty… …
Add built crap and touch on cook script
warning: operation on 'ret' may be undefined [-Wsequence-point] …
dtb: binary to bring out dt.img …
Add cook my bacon script
Double flip a switch + setup ignores


May 08, 2014
initial switch flip
Last edited by MassStash; 16th December 2014 at 04:01 AM.
The Following 14 Users Say Thank You to MassStash For This Useful Post: [ View ]
23rd June 2014, 09:04 PM   |  #3  
Infoz
Hypernova version has all kinds of stuff that's been added from the good @franciscofranco, and the most important and amazing, IMHO, is the mako_hotplug_driver. With this, we have eliminated most governors, and now exclusively run interactive. We now also have some extra options with this interactive governor that we can set to customize the user experience smoothness, and battery life. Down below is how to work init.d scripts, which is suggested as a great set it and forget it method, but if you are trying to mess with things quickly and in user land with an app, you will have to use francos. Unfortunately, our phone is only supported by the paid version also, so looks like it's time to open the wallets and show your appreciation! Bought this personally as soon as I got the hotplug up and running. 100% worth it.

Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!

Here's some info on the pieces used from his kernel, and the app, and the guy himself it seems.

Code:
Information about the kernel

People generally change kernels for battery savings and to add features the stock one doesn't offer. 
Franco's kernel has several advantages over the stock one in terms of battery saving saving features, 
one of my favourite being the removal of MPdecision which in lay-mans terms changes the min and 
maximum speed the CPU can run at based upon live battery temperature checks. Franco's hot plug 
driver always keeps 2 cores online and always them to scale from 300mhz to 2.3ghz and based upon 
load conditions will online cores 3 and 4 if required. When you touch the screen the screen the CPU 
speed is boosted to approximately 1.5ghz for just over a quarter of a second and when load is reduced 
the CPU speed is able to lower quickly back to lower speeds thanks to his tuned interactive 
governor. Franco has created a governor for the GPU named interactive which works very much like 
how the CPU equivilant does. Franco has added some newer drivers for WiFi which also helps reduce 
idle battery drain while your on a busy WiFi network. Franco has also added an interface where you 
can boost microphone, speaker and headphone gain levels for audio enthusiasts as well as an 
interface to allow screen calibration and load pre set profiles to improve your experience with how 
your display looks! There's clock speed control, voltage control, governor control, hot plug control. 
You get the idea its full of cool features which can be controlled with the paid Franco.Kernel 
Application (see later in the thread)

FK

Here are some lines I've found around the interwebs as a reference for myself for some time now. All of this is set, but hey, it never hurts to learn how it all works behind the scenes.

This is not a shell script, and cannot be run as one as-is; it's just a bunch of commands. UV should never be set with init.d in case they are unstable.

These are old values, some may be good, some may not. Please ask, or do some research on what is suggested for current cpu and phones.


Code:
# CPU Clock
echo 1228800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 537600 > /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq

# UV
echo "1450 1425 1400 1375 1350 1250 1225 1200 1050 900 850 800" > /sys/class/misc/customvoltage/mpu_voltages
echo "1375 1291 1140 950" > /sys/class/misc/customvoltage/iva_voltages
echo "1150 1050 950" > /sys/class/misc/customvoltage/core_voltages

# SR
echo 1 > /sys/kernel/debug/smartreflex/sr_mpu/autocomp
echo 1 > /sys/kernel/debug/smartreflex/sr_iva/autocomp
echo 1 > /sys/kernel/debug/smartreflex/sr_core/autocomp # CORE no longer SR calibrated on FK

# Governor
echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 0 > /sys/devices/system/cpu/cpufreq/interactive/boost
echo 80000 > /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
echo 95 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 729600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo 45000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
echo 80000 > /sys/devices/system/cpu/cpufreq/interactive/timer_slack

# I/O Scheduler
echo 1024 > /sys/block/mmcblk0/queue/read_ahead_kb

echo "deadline" > /sys/block/mmcblk0/queue/scheduler 
echo 500 > /sys/block/mmcblk0/queue/iosched/read_expire
echo 5000 > /sys/block/mmcblk0/queue/iosched/write_expire
echo 4 > /sys/block/mmcblk0/queue/iosched/writes_starved
echo 0 > /sys/block/mmcblk0/queue/iosched/front_merges
echo 1 > /sys/block/mmcblk0/queue/iosched/fifo_batch

echo "row" > /sys/block/mmcblk0/queue/scheduler
echo 100 > /sys/block/mmcblk0/queue/iosched/hp_read_quantum
echo 100 > /sys/block/mmcblk0/queue/iosched/rp_read_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/lp_read_quantum
echo 2 > /sys/block/mmcblk0/queue/iosched/hp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/lp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/rp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/rp_write_quantum
echo 10 > /sys/block/mmcblk0/queue/iosched/read_idle
echo 20 > /sys/block/mmcblk0/queue/iosched/read_idle_freq

echo "cfq" > /sys/block/mmcblk0/queue/scheduler
echo 8 > /sys/block/mmcblk0/queue/iosched/quantum
echo 125 > /sys/block/mmcblk0/queue/iosched/fifo_expire_sync
echo 250 > /sys/block/mmcblk0/queue/iosched/fifo_expire_async
echo 16384 > /sys/block/mmcblk0/queue/iosched/back_seek_max
echo 2 > /sys/block/mmcblk0/queue/iosched/back_seek_penalty
echo 93 > /sys/block/mmcblk0/queue/iosched/slice_sync
echo 39 > /sys/block/mmcblk0/queue/iosched/slice_async
echo 2 > /sys/block/mmcblk0/queue/iosched/slice_async_rq
echo 7 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 0 > /sys/block/mmcblk0/queue/iosched/group_idle
echo 1 > /sys/block/mmcblk0/queue/iosched/low_latency

echo "bfq" > /sys/block/mmcblk0/queue/scheduler
echo 4 > /sys/block/mmcblk0/queue/iosched/quantum
echo 125 > /sys/block/mmcblk0/queue/iosched/fifo_expire_sync
echo 250 > /sys/block/mmcblk0/queue/iosched/fifo_expire_async
echo 16384 > /sys/block/mmcblk0/queue/iosched/back_seek_max
echo 2 > /sys/block/mmcblk0/queue/iosched/back_seek_penalty
echo 7 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 0 > /sys/block/mmcblk0/queue/iosched/max_budget
echo 4 > /sys/block/mmcblk0/queue/iosched/max_budget_async_rq
echo 125 > /sys/block/mmcblk0/queue/iosched/timeout_sync
echo 39 > /sys/block/mmcblk0/queue/iosched/timeout_async
echo 1 > /sys/block/mmcblk0/queue/iosched/low_latency
echo 20 > /sys/block/mmcblk0/queue/iosched/raising_coeff
echo 256 > /sys/block/mmcblk0/queue/iosched/raising_max_time
echo 7000 > /sys/block/mmcblk0/queue/iosched/raising_max_softrt_rate
echo 304 > /sys/block/mmcblk0/queue/iosched/raising_rt_max_time
echo 2000 > /sys/block/mmcblk0/queue/iosched/raising_min_idle_time
echo 500 > /sys/block/mmcblk0/queue/iosched/raising_min_inter_arr_async
echo "" > /sys/block/mmcblk0/queue/iosched/weights

# CAB
echo 1 > /sys/class/backlight/s6e8aa0/acl_set

# TCP Congestion Avoidance Algorithm
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control;



# N7-specific

echo 500 > /sys/devices/system/cpu/cpu0/cpufreq/cpu_lp_max # LP core no longer used on FK

echo "1125 1100 1075 1050 1025 1000 975 950 925 900 875 850 825" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table

echo 2 > /sys/class/misc/tegra_hotplug_control/cores_on_touch
echo 60 > /sys/class/misc/tegra_hotplug_control/first_level
echo 50 > /sys/class/misc/tegra_hotplug_control/second_level # No longer used in newer driver in FK
echo 25 > /sys/class/misc/tegra_hotplug_control/third_level # No longer used in newer driver in FK

echo 0 > /sys/devices/tegradc.0/smartdimmer/enable


Here's an awesome breakdown and research page for voltages most importantly pertaining to PVS values and overclocking.

Code:
download link:
PVS Research.xls (http://forum.xda-developers.com/attachment.php?attachmentid=2836827&stc=1&d=1404681790)

best max frequency (sweet performance/power spot):

MSM8974AB 2.3ghz - 1.34ghz
MSM8974AC 2.5ghz - 1.57ghz
MSM8974v2 2.2ghz - 1.34ghz
APQ8064 1.7ghz - 1.24ghz
APQ8064T 1.9ghz - 1.35ghz

best screen-off frequency (this varies if you try higher pvs settings):

Snapdragon 801 2.3ghz MSM8974AB - One M8
MSM8974AB 2.3ghz PVS 0 - 300mhz
MSM8974AB 2.3ghz PVS 1 - 346mhz
MSM8974AB 2.3ghz PVS 2 - 422mhz
MSM8974AB 2.3ghz PVS 3 - 499mhz
MSM8974AB 2.3ghz PVS 4 - 576mhz
MSM8974AB 2.3ghz PVS 5 - 652mhz
MSM8974AB 2.3ghz PVS 6 - 499mhz
MSM8974AB 2.3ghz PVS 7 - 576mhz
MSM8974AB 2.3ghz PVS 8 - 652mhz
MSM8974AB 2.3ghz PVS 9 - 729mhz
MSM8974AB 2.3ghz PVS 10 - 806mhz
MSM8974AB 2.3ghz PVS 11 - 883mhz
MSM8974AB 2.3ghz PVS 12 - 960mhz
MSM8974AB 2.3ghz PVS 13 - 1036mhz
MSM8974AB 2.3ghz PVS 14 - 960mhz
MSM8974AB 2.3ghz PVS 15 - 1036mhz

Snapdragon 801 2.5ghz MSM8974AC - Galaxy S5
MSM8974AC 2.5ghz PVS 0 - 422mhz
MSM8974AC 2.5ghz PVS 1 - 499mhz
MSM8974AC 2.5ghz PVS 2 - 576mhz
MSM8974AC 2.5ghz PVS 3 - 652mhz
MSM8974AC 2.5ghz PVS 4 - 729mhz
MSM8974AC 2.5ghz PVS 5 - 806mhz
MSM8974AC 2.5ghz PVS 6 - 652mhz
MSM8974AC 2.5ghz PVS 7 - 729mhz
MSM8974AC 2.5ghz PVS 8 - 806mhz
MSM8974AC 2.5ghz PVS 9 - 883mhz
MSM8974AC 2.5ghz PVS 10 - 960mhz
MSM8974AC 2.5ghz PVS 11 - 1036mhz
MSM8974AC 2.5ghz PVS 12 - 1113mhz
MSM8974AC 2.5ghz PVS 13 - 1190mhz
MSM8974AC 2.5ghz PVS 14 - 1113mhz
MSM8974AC 2.5ghz PVS 15 - 1190mhz

Snapdragon 800v2 2.2ghz MSM8974v2
MSM8974v2 2.2ghz PVS 0 - 345mhz
MSM8974v2 2.2ghz PVS 1 - 499mhz
MSM8974v2 2.2ghz PVS 2 - 422mhz
MSM8974v2 2.2ghz PVS 3 - 499mhz
MSM8974v2 2.2ghz PVS 4 - 576mhz
MSM8974v2 2.2ghz PVS 5 - 499mhz
MSM8974v2 2.2ghz PVS 6 - 576mhz

Snapdragon 600 1.7ghz APQ8064 - One M7
APQ8064 1.7ghz PVS 0 - 594mhz
APQ8064 1.7ghz PVS 1 - 594mhz
APQ8064 1.7ghz PVS 2 - 702mhz
APQ8064 1.7ghz PVS 3 - 810mhz
APQ8064 1.7ghz PVS 4 - 702mhz
APQ8064 1.7ghz PVS 5 - 810mhz
APQ8064 1.7ghz PVS 6 - 702mhz

Snapdragon 600 1.9ghz APQ8064T - Galaxy S4
APQ8064T 1.9ghz PVS 0 - 702mhz
APQ8064T 1.9ghz PVS 1 - 702mhz
APQ8064T 1.9ghz PVS 2 - 702mhz
APQ8064T 1.9ghz PVS 3 - 810mhz
APQ8064T 1.9ghz PVS 4 - 702mhz
APQ8064T 1.9ghz PVS 5 - 702mhz
APQ8064T 1.9ghz PVS 6 - 702mhz

best min frequency:

lowest possible setting (300mhz in case of MSM8974)

i highly recommend to run those values (exept if you are actually playing demanding 3d games).
use trickster mod frequency lock feature to do so. you will experience amazing battery life.

how to get the maximum battery life:

if you have a MSM8974AB pvs 6 for example, try the following steps:
try the next higher pvs levels (pvs7). don't try AC pvs values on AB chips.
AB chips are binned for lower frequencies while AC are binned for higher frequencies (duh).
so if you have a AB chip, work your way up the AB pvs values until you have freezes or similar and move back.
if you have a AC chip, work your way up the AC pvs values etc...
if you found highest setting that does not cause any problems after intensive testing and usage:
congratulations, you did it. 

how to get the maximum frequency:

first try higher than stock maximum clock and see how it behaves.
if you don't reach your desired clockspeed, try the next lower pvs setting of your chip. yes, i said LOWER.
this gives the processor more voltage to reach higher overclocks.
i don't recommend it tho since we all want our phones to last as long as possible usually.

Thank you very much to @flar2 for all his work, and assisting people like me to port it to a device that otherwise would have no such love!

Gigantic thanks to @franciscofranco for his additions, fixes, and mako_hotplug!

Thank you to @Evolutionmods for helping me get this started, and for crucial fixes I would have no idea how to fix!

Thank you to @NineInchNails
@Captain_Throwback
@Vinchenzop
@Dubbsy
@Grommish
@Treken

These guys all have helped in very pivotal ways ,and I would not be at the understanding of android that I am today without them. Truly, thank you for being awesome helpful people!

Last but not least, thanks to these doods for helping test before release!
@kaosb0x
@shadowxaero
@stovo06
@dandan2980


Good one on mpdecision among other good stuff

Governors and schedulers explained:
http://forum.xda-developers.com/show....php?t=1687578
http://forum.xda-developers.com/gala...les-o-t1369817
http://tinzdroid.blogspot.com/2012/0...odules-io.html
http://forum.xda-developers.com/show...2&postcount=56


PVS explained:
https://developer.qualcomm.com/forum...scussion/27244
http://forum.xda-developers.com/show....php?t=2228246
http://www.oppoforums.com/threads/qu...r-faster.2842/
Last edited by MassStash; 26th August 2014 at 08:32 PM. Reason: Additions an updates
The Following 14 Users Say Thank You to MassStash For This Useful Post: [ View ]
23rd June 2014, 09:04 PM   |  #4  
Evolutionmods's Avatar
Senior Member
In front of the computer
Thanks Meter: 2,396
 
1,448 posts
Join Date:Joined: Feb 2011
Donate to Me
Quote:
Originally Posted by MassStash

Placeholder

Reserved
The Following 8 Users Say Thank You to Evolutionmods For This Useful Post: [ View ]
23rd June 2014, 09:05 PM   |  #5  
Captain_Throwback's Avatar
Retired Moderator / Recognized Contributor
Flag Bensalem, PA
Thanks Meter: 11,218
 
10
12,342 posts
Join Date:Joined: Aug 2008
Donate to Me
More
Is AROMA fully functional?
The Following 3 Users Say Thank You to Captain_Throwback For This Useful Post: [ View ]
23rd June 2014, 09:05 PM   |  #6  
stovo06's Avatar
Senior Member
Flag st. louis, mo
Thanks Meter: 178
 
586 posts
Join Date:Joined: Sep 2012
More
Tired of waiting!

Don't forget the thanks button!
The Following 2 Users Say Thank You to stovo06 For This Useful Post: [ View ]
23rd June 2014, 09:07 PM   |  #7  
dandan2980's Avatar
Senior Member
Thanks Meter: 1,237
 
2,842 posts
Join Date:Joined: Jun 2010
Teestes teestes 123 one hell of a kernel fellas good job

Sent from my 831C using Tapatalk

---------- Post added at 03:07 PM ---------- Previous post was at 03:06 PM ----------

I'm on official twrp still wonky not sure about yours captain

Sent from my 831C using Tapatalk
The Following 2 Users Say Thank You to dandan2980 For This Useful Post: [ View ]
23rd June 2014, 09:08 PM   |  #8  
Quote:
Originally Posted by Captain_Throwback

Is AROMA fully functional?

holy jeebus you're fast as ****. Fully functional in the sense of using two thumbs where the second has a roll then flick up technique yes. Work like twrp recovery does, no unfortunately....
The Following 6 Users Say Thank You to MassStash For This Useful Post: [ View ]
23rd June 2014, 09:18 PM   |  #9  
Captain_Throwback's Avatar
Retired Moderator / Recognized Contributor
Flag Bensalem, PA
Thanks Meter: 11,218
 
10
12,342 posts
Join Date:Joined: Aug 2008
Donate to Me
More
Quote:
Originally Posted by MassStash

holy jeebus you're fast as ****. Fully functional in the sense of using two thumbs where the second has a roll then flick up technique yes. Work like twrp recovery does, no unfortunately....

Ah, so not fully functional like on BadSeed's ROM. Got it. Thanks for the kernel and the hard work on it!
The Following 5 Users Say Thank You to Captain_Throwback For This Useful Post: [ View ]
23rd June 2014, 09:22 PM   |  #10  
stovo06's Avatar
Senior Member
Flag st. louis, mo
Thanks Meter: 178
 
586 posts
Join Date:Joined: Sep 2012
More
Wow praise from the Captain!
He really has been working hard on this. I don't know sh*t compared to you guys but I appreciate the contributions on here.

Don't forget the thanks button!

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes