The overclock modules for HTC One XL, should be applicable on our One S - HTC One S

It can apply on phones running with Qualcomm MSM 8960 chipset.
Quoting from the OP:
One XL/AT&T/Rogers One X 1.8GHz overclock module
Please let me know about the module's compatibility with your phone. It has been reported to work on the latest AT&T version kernel, and I have a Rogers device myself.
Hey guys! I've created a kernel module that overclocks the MSM8960 Qualcomm Krait to over 1.8GHz. It also allows you to specify a custom voltage and frequency instead of 1.8GHz. This method works on ANY MSM8960-based rooted HTC One X, even on locked bootloader devices. This allows AT&T users to overclock, and others to overclock without necessarily needing to unlock the bootloader. This overclock makes the already tremendously fast MSM8960 about 20% faster.
Note that this mod is ONLY for the Qualcomm MSM8960-based Krait HTC One X and HTC One XL. This includes the AT&T HTC One X, Rogers HTC One X, and any phone branded as the HTC One XL.
The module is loaded using this command: insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
The pll_l_val parameter determines how high the overclock is. Multiply this number by 27 to get the final clock speed in MHz. For example, 67*27 is 1809000, which is what the module defaults to.
The vdd_uv parameter determines the voltage used at the overclocked speed, in microvolts. The default for 1.5GHz is 1200000, and I was able to get a stable overclock at 1300000 at 1.8GHz. Raise the vdd_uv parameter if the overclock is unstable. The current maximum for this field is 1300000, so don't go higher than this. If your system crashes or is unstable at this frequency/voltage, lower the pll_l_val one by one until you reach stability. You can run rmmod krait_oc and then insmod krait_oc.ko with different parameters without having to reboot.
You'll also need a custom, tweaked thermald.conf. This thermald.conf raises thermal tolerances slightly (I've found that they're a little too strict, even at stock clocks and voltages). I've included this in the package, and instructions for installing it are below.
Video, demonstrating the overclock on a Rogers HTC One X:
YouTube Video
Screenshots
Source code is included in the package. If anyone has an HTC One S, this method will work on that, too. Please post below a dump of /system/lib/modules and I should be able to add support for any MSM8960-based HTC device with just that.
Instructions
First, determine which kernel module to use. Do an adb shell cat /proc/version and choose a ko file that matches your version number (these instructions assume you've renamed it to krait_oc.ko). 21/05/2012: If you don't see your kernel version here, try loading the module anyway. If it fails to load, please post a file from /system/lib/modules (any file) here and I will add support.
Install the overclock (only once):
1. Push the kernel module to your device:
adb push krait_oc.ko /data/local
2. Install the new thermald.conf, making sure to back up the old one, and reboot. The thermald.conf is included in the download. If you want to target a frequency other than 1809000 KHz, you should edit the thermald.conf and replace "1809000" to whatever frequency you want to target.
adb push thermald.conf /data/local
adb shell
su
mount -o rw,remount /system
cp /system/etc/thermald.conf /system/etc/thermald.conf.bak
rm -r /system/etc/thermald.conf
cp /data/local/thermald.conf /system/etc
reboot
Load the overclock (every time you reboot):
1. Load the kernel module (replace pll_l_val and vdd_uv with your desired voltages and L value as explained above. It defaults to 67 and 1300000 if you don't give it any parameters):
adb shell
su
insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
2. Bring core 1 temporarily offline so it gets updated with the new max frequency:
echo 0 > /sys/devices/system/cpu/cpu1/online
3. You'll now have an additional CPU frequency! SetCPU can configure your maximum frequency up to this speed. You can also choose to keep running at 1.5GHz at any time - this method doesn't eliminate any available frequencies. Set the max at 1.8GHz to verify it's stable here.
4. Restart thermald by running "ps". Look for "thermald" in the list, and find thermald's pid (it's usually a number in the low hundreds, higher up in the list). Run "kill [thermald's PID]" in adb shell. The kernel does not currently have kernel-level temperature throttling turned on, so thermald is important for now.
Remove the overclock by restoring your backup of thermald.conf:
adb shell
su
mount -o rw,remount /system
rm -r /system/etc/thermald.conf
cp /system/etc/thermald.conf.bak /system/etc/thermald.conf
rm -r /system/etc/thermald.conf.bak
reboot
Rebooting clears any kernel modules that are loaded, so you're now clean. You can then delete anything left over in /data/local, but it doesn't matter.
If the module loads but the overclock doesn't seem to have any effect, even after putting max and min at 1.8GHz, your device might use a different SoC bin than the "nominal," and the kernel module is looking at the wrong place. Please reboot your device and post an adb shell dmesg right after the reboot so I can look at it.
Download current pack of modules:
http://www.setcpu.com/files/krait_oc_v2.zip (current)
http://www.setcpu.com/files/krait_oc.zip (old)
Finally, it'd be great if we as a community tried to work harder to encourage HTC to hurry up and 1. Release kernel source on time, all the time and 2. NOT cave into carrier pressure and stick to their written bootloader policy! S-OFF would be nice, too. 
Sent from my HTC One S using xda premium

LETS DO THIS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

It also allows you to specify a custom voltage and frequency instead of 1.8GHz
Hehe... I'll test it tonight and undervolt a bit...

Is there any additional modification is needed in order to make it work on One S?
Sent from my HTC One S using xda premium

I tried this on my T-Mobile US One S and the frequency shows up in SetCPU. My Antutu score jumped 500 points, so if it did actually do something it was only an 7-8% gain. Antutu does recognize the cpu as having 1809 MHz. All other benchmarks that I ran have improvements as well.
Also, on step 4, you can locate the thermald process easier by doing the following:
ps | grep thermald
Nice post btw!

Overclocked to 1.8 GHz just now. So far stable. Running Antutu Benchmark right now.

Works - it's here. Now let's see...
Ahhh, and for the guys not on Linux: Copy the thermald.conf to sd card via usb and from there to its destination folder e.g. with root explorer.

Not to be Capt. Obvious here, but is there a point to overclocking the One S?
We're at about as fast as you can get before your eyes start bleeding. At the stock speed, my phone goes as fast as my eyes and thumbs can possibly move.
This is where all that quad-core Exynos crap goes right out the window. Seriously though, whats the point of OC'ing a phone that's already ridiculously fast?

nickmv said:
Not to be Capt. Obvious here, but is there a point to overclocking the One S?
We're at about as fast as you can get before your eyes start bleeding. At the stock speed, my phone goes as fast as my eyes and thumbs can possibly move.
This is where all that quad-core Exynos crap goes right out the window. Seriously though, whats the point of OC'ing a phone that's already ridiculously fast?
Click to expand...
Click to collapse
I think it's purely 'because we can'
Like you said, not really any need to, or tangible benefit in doing so

nickmv said:
Not to be Capt. Obvious here, but is there a point to overclocking the One S?
We're at about as fast as you can get before your eyes start bleeding. At the stock speed, my phone goes as fast as my eyes and thumbs can possibly move.
This is where all that quad-core Exynos crap goes right out the window. Seriously though, whats the point of OC'ing a phone that's already ridiculously fast?
Click to expand...
Click to collapse
IMHO we can benefit from undervolting in manners of battery life. The OC thing is a nice "side effect"
Gesendet von meinem HTC One S mit Tapatalk 2

hi i have tried to do this thing and i have gotten it to over clocked. the only thing i cant seem to find is the thermald thing to kill. all i see in the list ins system/bin/thermald. Is this the one im looking for or not?

I think I'd be more interested in slightly underclocking + altering voltage for a battery life boost

shinkinrui said:
I think I'd be more interested in slightly underclocking + altering voltage for a battery life boost
Click to expand...
Click to collapse
+1... even stock frequencies but with an undervolt possibility
I'm afraid we should wait a bit to get some sources...

Original OP here. You can undervolt more frequency steps with this method too, but you need to modify the sources. Most phones should have a "nominal" chip, but there's also a "fast" spec with lower voltages at each step.
I will write a proper tweakable undervolting driver for the 8960 when sources come out.

coolbho3000 said:
Original OP here. You can undervolt more frequency steps with this method too, but you need to modify the sources. Most phones should have a "nominal" chip, but there's also a "fast" spec with lower voltages at each step.
I will write a proper tweakable undervolting driver for the 8960 when sources come out.
Click to expand...
Click to collapse
As I'm not a dev... Could it be possible to override stock values in this struct, by specifying them manually?
Current one (in the source) :
/* Frequency-Voltage table */
static struct freq_voltage freq_vdd_table[] = {
{ 1620000, 1200000 },
{ 1728000, 1200000 },
{ 1809000, 1250000 },
{ 1917000, 1300000 },
{ 0, 0 },
};
Exemple "overriden" one :
/* Frequency-Voltage table */
static struct freq_voltage freq_vdd_table[] = {
[...]
{ 1512000, 1000000 },
{ 1620000, 1200000 },
{ 1728000, 1200000 },
{ 1809000, 1250000 },
{ 1917000, 1300000 },
{ 0, 0 },
};

Hi, can you add support for the EVO LTE?
kernel version is:
adb shell cat /proc/version
Linux version 3.0.8-01360-g3fd0422 ([email protected]) (gcc version 4.4.3 (GCC) ) #1 S
MP PREEMPT Sat Apr 28 05:10:07 CST 2012
here's a random file in case you still need it.

Correct me if Im wrong but the One S packs a MSM8260A.. No? The 8960 was mainly made for LTE capabilities

mmdl1001 said:
Correct me if Im wrong but the One S packs a MSM8260A.. No? The 8960 was mainly made for LTE capabilities
Click to expand...
Click to collapse
I don't know. My One S is using MSM 8960 and LTE connection is present in my phone as well. May be only Asia version use MSM 8260A?
Sent from my HTC One S using xda premium

plakers said:
As I'm not a dev... Could it be possible to override stock values in this struct, by specifying them manually?
Current one (in the source) :
/* Frequency-Voltage table */
static struct freq_voltage freq_vdd_table[] = {
{ 1620000, 1200000 },
{ 1728000, 1200000 },
{ 1809000, 1250000 },
{ 1917000, 1300000 },
{ 0, 0 },
};
Exemple "overriden" one :
/* Frequency-Voltage table */
static struct freq_voltage freq_vdd_table[] = {
[...]
{ 1512000, 1000000 },
{ 1620000, 1200000 },
{ 1728000, 1200000 },
{ 1809000, 1250000 },
{ 1917000, 1300000 },
{ 0, 0 },
};
Click to expand...
Click to collapse
Well, it may be possible, but modifying that table won't work. The module needs a little modification.

fxzy said:
I don't know. My One S is using MSM 8960 and LTE connection is present in my phone as well. May be only Asia version use MSM 8260A?
Sent from my HTC One S using xda premium
Click to expand...
Click to collapse
In Europe it´s the MSM8260A too with no LTE.
I´m from Spain. !

Related

Battery Tweak Epic Edition RC1

Plans for next revision:
*Add in Decad3nce's temperature control
*Bug nullghost till he gets init scripts running so we can have this startup at boot
This is really a tool for power users
If you don't consider yourself 'comfortable' with messing with your phone, then don't.
This is mostly the work of collin_ph, all the ideas are mostly his and I have only contributed in part to getting some things functioning correctly and some optimizations for the Epic.
What does it do?
This tweak creates a service that periodically checks the phone's power source.
If the power source changes, it reconfigures the device for maximum performace, battery and safety.
Tweaks memory settings for current power source
Re-clocks CPU based upon battery remaining or current power source
Reclocks for maximum performance if on AC power
Reclocks for maximum performance and charging safety if on USB
Reclocks for performance and battery if on Battery
As Battery life is diminished, Maximum CPU frequency is lowered
Tweaks scaling charactaristics depending on power sourcee
CPU Scales up less frequently on battery power
CPU Scales up more frequently on USB/AC power
The CPU is allowed to scale dynamically in all charging states based upon CPU usage
Includes a batt-cfg utility to configure the system
You may load 1 of 3 pre built profiles
Manually configure CPU Frequencies in all charging states
Determine the percentage of underclocking as the battery drains
Configure how often to poll the power state / battery statys
Disable batt.sh service from running at startup
Includes a batt-rm.sh uninstall utility
Includes a batt-diag diagnostic utility
Includes optional Disk performance tweaks (enabled by default)
The Tools
The entire 'application' is written in shell code and was first written just to give a performance and battery boost, but since has evolved more and more.
All the tools mentioned will be utilized either through the terminal, or in adb shell.
batt.sh
This is the core of the entire script. Don't mess with it.
The one thing you should do after installing the script:
Code:
Code:
pidof batt.sh
If theres any number showing up after it, then it's working fine.
batt-cfg
This is the 'main menu' of sorts, as it gives the user all the options and allows them to toggle tweaks/mods on the fly.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
batt-diag
It's a diagnostics utility, allowing you or someone knowledgeable to figure out any issues that you may be having with your device and be able to pinpoint exactly where the problem is.
batt-diag -v gives a more thorough output as you can see here; http://pastie.org/1162034
batt-rm.sh
It's a battery tweak removal script, follow the onscreen prompts and it should remove just about any trace of the battery tweak script.
The Presets
The presets are just default configurations that I have set up that can make your phone more efficient without you, the user, having to manually set everything.
The preset of 800 literally means that 800000 is the scaling_max_freq, or the max frequency, that your phone can achieve after you enable it.
Just typing 1, and then enter, you'll be ready and set to go. Same with 2 or 3.
Customize Settings
This is only for the experienced user, and it allows you to manipulate most/ifnotall the configurables on your device.
Note, you do not need to configure anything to enable this battery mod. Default settings will be assigned at 800MHz.
All the settings explain what each option does, so read them carefully.
Disk Boost
Remounts via noatime and nodiratime. Look up what that means on your own, and why it benefits performance the way it does.
Prerequisites needed to run this
Phoenix kernel 1.48 with Epic Experience should run this just fine
If you're running any other kind of rom, feel free to try it but i cannot guarantee that it will work.
This script will WORK even if you don't have the import call at boot, but it won't survive on the next reboot.
You can check via:
Code:
Code:
pidof batt.sh
NOTE: This script will also prompt you to try to run itself as root if you use it in terminal.
Contributors:
Collin_ph
Decad3nce
myn
onicrom
shabbypenguin
nullghost (aka tehdarkknight)
*make sure you are running these as root*
*disable setcpu while running this*
*been reported as rom manager fc's after batt tweak, simple fix reinstall rom manager* - thanks for the tip Raiderep
Finally got that working
This is perfect. As a former hero user, I was thinking to myself a couple days ago "I wonder if anyone is going to port the collin_ph battery tweak," and here it is.
Thanks!
I'm about to head into work and I got this downloaded. I'll put it to the test for the day. Thanx for the port or whatever you call it, I had this on hero and loved being able to get rid of setcpu(which I never really liked) but still have something governing battery use
Is this compatible or even needed with the mix up kernel?
compatible? maybe as i said this is known working on phoenix kernel as for others i cannot say. needed? well that depends are you happy with your current battery life?
Using Phoenix kernel 1.48 with Epic Experience bogged down my phone after installing, im only at 76% battery life, i cant imagine how slow it would be at 20%
edit:
its fine now, i guess it had to load initially?
Whats the best settings you think we should run..for the best battery life
800mhz or you can use configure to keep that even lower... obviously the lower the cpu freq the less voltage it uses = better battery life
I just set this up to the 800mhz defaults. I will come back with results
How does this govern cpu clocking and usage? I'm assuming there's no live governer such as ondemand or interactive at play here?
phoenix 1.48 has a working interactive governor
shabbypenguin said:
compatible? maybe as i said this is known working on phoenix kernel as for others i cannot say. needed? well that depends are you happy with your current battery life?
Click to expand...
Click to collapse
I don't think anybody is That being said, great work shabby, can't wait til nullghost gets his init scripts working.
shabbypenguin said:
phoenix 1.48 has a working interactive governor
Click to expand...
Click to collapse
So how does this affect setcpu? I'm runnin baked 1.3 ghz kernel..does this mean after I install I won't be at 1.3?
Sent from my SPH-D700 using Tapatalk
this is set for 800/1ghz/1.2ghz i included the configure option so people can make teh .conf however they see fit.. if batt.sh runs on it then it will scale from 1.3ghz after you configure it. witht he beta versions i dont believe anyone got it working on baked snack but if you try please let me know if it works what doesnt etc etc
when i try to run batt.sh i get this message...Mount: cant find /mnt/sdcard in /proc/mounts..what does this mean
its an issue im trying to figure out, batt.sh works fine without it, thats part of the disk speedups, in batt-cfg you can disable it
new feature will update tomorrow
not sure why but shootme is screwy for me recently as you can see. i have 0% tws, 37% voice calls at 30 mins 29s display is on for over an hour. screen is at auto, 3g, drm services RUNNING. oh yea im at 1.2ghz
Still have problems with this tweak...this is wat iam getting when I do batt-cfg I hit number one and I get this....
Loading 800mhz default
[: Bad number
Save settings...
Settings saved
Starting batt.sh
Note: when you exit ADB or terminal, you may have to hit
CTRL-C
Then my phone freezes and I have to pull the battery
Sent from my SPH-D700 using Tapatalk

[Kernel] Bricked-Kernel Ville - Sense JB

Welcome to the most customizable 1S on xda
Bricked-Kernel 1S (ville)​
Features:
* Based upon HTCs source
* Various other fixes (look @ github)
* Compiled with linaro toolchain
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
* 192Mhz min clock
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,836 Ghz
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* Aroma Installer by amarullz (yes I know, it has a blue tint. I don't care, there are more important things )
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 2. (if you set it to 1 and min_cpus to 1 you will basically have a singlecore) Default: 2
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value (The 1S doesn't have a cpu2, so that is irrelevant)
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot.
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_key/sweep2wake
(echoing "1" activates it, which is the default setting if chosen in aroma)​Recommended governor?
Ondemand.​
Bryans old stuff (ics):
Beastmode Bricked Ville Edition RC5
With 100% real working S2W on the soft keys now with speed improvements thanks again Show!
Mpdecision is now enabled by default and the vsync will need to be toggled manually if you would like it off
http://www.androidfilehost.com/?fid=9390214368362234218
Beastmode Bricked Ville Edition RC5.1
http://www.androidfilehost.com/?fid=9390214368362234425
the above is modded with my stuff mentioned in the changelog
if you want plain jane with just s2w showp's is compiled with linaro 4.7.3 and -O3 as well
and just has s2w currently
show-p1984 said:
Not any more:
https://github.com/showp1984/bricked_ville/commit/737727eb7660cb3bbc0eda93d48a2a8204ff4349
New zImage @ https://github.com/showp1984/bricked_ville/downloads
This will probably be the final version
Bryan likes it.
Click to expand...
Click to collapse
Awesome news.. As of late, the One S is getting good traction.
Nice to see new kernel, great feature list. Looking forward to sweep2wake. Any plans on AOSP jb kernel?
Sent from my HTC One S using xda premium
Zarboz said:
Ville-Z Kernel. BLACKOUT Edition ​
I am here to present the Ville-Z modded kernel source from HTC. I used KLIN1344's base commit (that means before he touched it) With his permission this way it is compatible with your sense 4.1 based roms.
You can find the source here http://github.com/zarboz/Ville-Z.git . If you fix something or feel you improve on my hack please make a pull request.
Here are a few features of the kernel.
​
New I/O schedulers : CFQ, NOOP, Deadline, SIO, VR
New Governors: BrazillianWax, Intellidemand, SavagedZen, InteractiveX, Smartass, SmartassV2, Lagfree, Interactive, Conservative, Userspace, Powersave, Lionheart, Ondemand, Performance,
GPU Overclock 400mhz/500mhz (selectable in installer)
Selectable min freq in installer
Multiple tweaks and modifications to the multitasking and file structuring
Selectable Max Clock: 1.5ghz. 1.7ghz, 1.89ghz, 2.1ghz (it gets kinda warm and high voltages)
Adjustable undervolt in system 800mah-1350mah
S-On Kernel installer THANKS HausX!
KNOWN ISSUES
Using system tuner causes kernel panic please use SetCPU its free on xda
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here are a few teaser shots
​
Special Thanks to: HausX, ToastCFH, Klin1344, Sbryan12144, Ca1ne, TwistedUmbrella, Mdeejay, Thicklizard, Haykuro
Click to expand...
Click to collapse
Nice work. Good to see more devs here now.
Also, I think maybe we could work on getting a cm/aosp version of this kernel? I compiled a kernel using the 2.31 base a while ago with the cm ramdisk and it booted up fine, only WiFi was broken. The cm kernel still uses the 1.84 base old kernel sources.
Sent from my HTC One S using Tapatalk 2
encho said:
Nice to see new kernel, great feature list. Looking forward to sweep2wake. Any plans on AOSP jb kernel?
Sent from my HTC One S using xda premium
Click to expand...
Click to collapse
That's next after i get sweep2wake mapped out properly
its about 50-60% implimented. I need to figure out the LED control for our new PM8XXX LED and figure out the screen mapping coordinates so that the "sweep" is read from the right spot and also have one more file to implement in the cypress touchscreen driver as well
that's all in the works
the AOSP kernel is coming in the next week or 2 will have the same feature list and should work on ICS and JB AOSP roms
klin1344 said:
Nice work. Good to see more devs here now.
Also, I think maybe we could work on getting a cm/aosp version of this kernel? I compiled a kernel using the 2.31 base a while ago with the cm ramdisk and it booted up fine, only WiFi was broken. The cm kernel still uses the 1.84 base old kernel sources.
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
I will look into their source and put my mods in i see from the LTE forums the KGSL driver folder has been updated so I think it shall work just fine
I wanted to get Sweep2Wake working before then but the individual helping me lives in sweden so it's hard to talk to the guy at a decent hour here in colorado
I would say one to two weeks
Really nice to see someone new on these forums
I really hope you stay here and keep working on your Kernel.
How to install this kernel? Over fastboot or with TWRP + dumlock?
Zarboz said:
SOON!!![/COLOR]
Sweep2wake
you tell me
[/size]
[/b]​
Click to expand...
Click to collapse
Because you're taking requests, here's mine : I hope you can fix soft buttons not to register swipe when moving finger from the screen. IMO soft buttons are too close to the screen and in some apps like games and file managers when you scroll all the way down you can press home or back button by accident which will kick you out of the app. Very annoying. Soft buttons should register the touch only if your finger was not on the screen previously.
Sent from my HTC One S using xda premium​
I was just about to install this and I noticed that it says it is for HTC Evo LTE in the aroma installer!
Is this right?? Or, did I download the wrong file?
Also, the on-screen softbuttons do not register touches.
Thanks!
saprydion said:
I was just about to install this and I noticed that it says it is for HTC Evo LTE in the aroma installer!
Is this right?? Or, did I download the wrong file?
Also, the on-screen softbuttons do not register touches.
Thanks!
Click to expand...
Click to collapse
He probably used a Package for an older Project.
Till OP fix this, just use the Volume+/- to navigate thru the Menu
I've jus flash this kernel over fusión rom and stay in 192 and don't switch to 384 like fusión. Drains less battery too.
My request is add 720p to hdmi playback
Enviado desde mi HTC One S usando Tapatalk 2
How to install this kernel?
I could not flash the kernel using the aroma zip installer.
I think xhausx exploit do not work!
Just a suggestion. Wouldn't it be better if you labeled it for Android 4.0.4 instead of Sense 4.1? I, for one, got confused at first and thought you were talking about Jelly Bean (4.1) and hence I edited my first post here.
a description about flashing this kernel with a locked hboot (>xxx.12) would be nice. Should this work with Android 4.0.3?
how to flash this kernel??
The 2 cores works all the time with this kernel, why?
Guys...to flash a kernel flash the zip in TWRP then fastboot it.
Sent from my HTC One S running ViperOneS!

How to Edit Frequencies in Exynos4412?

I've built a custom kernel for my Galaxy Tab 10.1 The link is in my signature. When I wanted to add custom frequencies to it, there was a very informative post that told me how to edit the frequency table to make the new clock speeds on tegra2 come out right and also how to edit the voltage tables. At least on the tegra2 it involved editing tegra2_clocks.c where you had to change the pll_x frequency table, change the pll_x max speed, virtual cpu max speed, sku max speed, and add an additional frequency table for your new clock speeds. The voltage was done in tegra2_dvfs.c where you added changed the min/max voltages accordingly and added in your new frequencies there.
I have looked all over the internet for a similar guide for my I9300. The cpufreq-4x12 looks nothing like the tegra one. It appears that every frequency has an entry in clkdiv_cpu0_4412 (for the S3 at least) with dividers for cryptic values like "divcore" "divcorem0". I've tried doing a grep search in the kernel source and couldn't find those names mentioned anywhere. There also appears to be another clkdiv_cpu1_4412 with even more cryptic values which don't appear in grep either. Then of course, there's yet another cryptic table that each frequency seems to go to called "apll_pms". It appears as the voltages go to the asv tables but how you accommodate new frequencies is beyond me. The L0,L1.. etc labels don't appear to follow the conventions stated earlier where 1800MHz is labelled L0 at the top but L-2 later.
I realize that many experienced developers probably take this information for granted and I wouldn't be asking for this if it was available somewhere else. The documentation folder in the kernel doesn't provide any information either.
Please help a startup enthusiast As a beginner, I've typically answered similar how to questions on my own thread in the beginning, when other people were interested in how to get their hands dirty with modifications. (Although now, people just seem to be interested in the final product which is fine too.)
Each divider value represents the real divider minus 1. So a value of 7 divides by 8. Populate the divider talbes with new entries like that. The registers have a limit so see the register maps in /mach/regs-clock.h. The dividers divide the final CPU clock. What values you give the dividers is up to you to decide.
The CPU clock is decided by the PLL as you saw. PMS decides the PLL frequency. The source quartz runs at 24MHz. The frequency is calculated by (P * Xtal) / (M << S).
Example 500MHz: ((125<<16)|(3<<8)|(0x1)), the format is ((P<<16)|(M<<8)|(S)).
(P * Xtal) = 125*24 MHz = 3000MHz
(M << S) = 3 << 1 = 6
End result is 3000MHz / 6 = 500MHz.
That's all you need to know. Alternatively, just copy what other devs have already done. Be careful with the Lx levels when you add new ones, you need shift all the existing ones throughout the file.
AndreiLux said:
Each divider value represents the real divider minus 1. So a value of 7 divides by 8. Populate the divider talbes with new entries like that. The registers have a limit so see the register maps in /mach/regs-clock.h. The dividers divide the final CPU clock. What values you give the dividers is up to you to decide.
The CPU clock is decided by the PLL as you saw. PMS decides the PLL frequency. The source quartz runs at 24MHz. The frequency is calculated by (P * Xtal) / (M << S).
Example 500MHz: ((125<<16)|(3<<8)|(0x1)), the format is ((P<<16)|(M<<8)|(S)).
(P * Xtal) = 125*24 MHz = 3000MHz
(M << S) = 3 << 1 = 6
End result is 3000MHz / 6 = 500MHz.
That's all you need to know. Alternatively, just copy what other devs have already done. Be careful with the Lx levels when you add new ones, you need shift all the existing ones throughout the file.
Click to expand...
Click to collapse
I'm a bit confused by what M << S means. From lookig at the example it looks like the formula is: P * 24 / ( M * 2^s)? Also, I'm assuming the voltage tables don't have to be touched. Thanks so much for the information. And... what fun would it be if you did a straight up copy and paste? :cyclops:
Ummm that's a bit-wise left-shift operation. And yes you also need to add entries in the voltage table.
AndreiLux said:
Be careful with the Lx levels when you add new ones, you need shift all the existing ones throughout the file.
Click to expand...
Click to collapse
And in any other files that reference levels... Namely any that contains a level-based DVFS lock.
I think much of Samsung's newer code does frequency-based locks with a frequency-to-level lookup, but in older 4210 kernels, there were lots of locks that called out specific levels. Some of these locks were in throttling code. Levels go from high freq to low freq.
So if L2 was originally 800 MHz, and L2 is now 1000 MHz, and thermal throttling code locks to a minimum level (maximum frequency) of L2... Whoops, now the thermal throttling is broken.
Hi again,
For some reason, the exynos4 sources seem to be much more fussy than the galaxy tab 10.1 tegra2 sources I messed with in the summer. Right of the bat (with no modifications), it refuses to compile giving me issues in the file arch/arm/mvp/mvpkm/mvpkm_main.o. I haven't touched anything or made any changes yet. I downlaoded the latest sources from Samsung. I tried switching toolchains and I get 1 of 2 errors. With an older toolchain I get
/tmp/ccC3yZT8.s:4865: Error: unknown pseudo-op: `.arch_extension'.
With a newer toolchain I get an error about making a pointer to int conversion without a cast. Wow, truly unbelievable!!!??? I just want to make a baseline run, haven't touched a character of code and it refuses. I tried compiling CM10.1's kernel (also with no modifications) but for some reasons the graphics are Pentium 1 slow. ADB shell with logcat keeps saying hwcompser can't do vsync and it attempts to fake it.
I don't remember it being this hard on my galaxy tab 10.1. Am I missing something obvious?
---------------------added-----------------
I got cm sources compiling correctly. I think i forgot to undo previous experiments
AndreiLux said:
Each divider value represents the real divider minus 1. So a value of 7 divides by 8. Populate the divider talbes with new entries like that. The registers have a limit so see the register maps in /mach/regs-clock.h. The dividers divide the final CPU clock. What values you give the dividers is up to you to decide.
The CPU clock is decided by the PLL as you saw. PMS decides the PLL frequency. The source quartz runs at 24MHz. The frequency is calculated by (P * Xtal) / (M << S).
Example 500MHz: ((125<<16)|(3<<8)|(0x1)), the format is ((P<<16)|(M<<8)|(S)).
(P * Xtal) = 125*24 MHz = 3000MHz
(M << S) = 3 << 1 = 6
End result is 3000MHz / 6 = 500MHz.
That's all you need to know. Alternatively, just copy what other devs have already done. Be careful with the Lx levels when you add new ones, you need shift all the existing ones throughout the file.
Click to expand...
Click to collapse
I have been meaning to thank you for this, I have not seen this information elsewhere. Could you please briefly explain how to set the values in cpufreq_clkdiv? I have noticed different kernels have different values for the same frequency, and I don't know which one is correct for me.
Example:
/*
* Clock divider value for following
* { DIVCORE, DIVCOREM0, DIVCOREM1, DIVPERIPH,
* DIVATB, DIVPCLK_DBG, DIVAPLL, DIVCORE2 }
*/
Samsung source (I believe)
/* ARM L0: 1600Mhz */
{ 0, 3, 7, 0, 6, 1, 2, 0 },
Perseus:
/* ARM L0: 1600Mhz */
{ 0, 4, 7, 0, 6, 1, 7, 0 },​
ffolkes said:
I have been meaning to thank you for this, I have not seen this information elsewhere. Could you please briefly explain how to set the values in cpufreq_clkdiv? I have noticed different kernels have different values for the same frequency, and I don't know which one is correct for me.
Example:
/*
* Clock divider value for following
* { DIVCORE, DIVCOREM0, DIVCOREM1, DIVPERIPH,
* DIVATB, DIVPCLK_DBG, DIVAPLL, DIVCORE2 }
*/
Samsung source (I believe)
/* ARM L0: 1600Mhz */
{ 0, 3, 7, 0, 6, 1, 2, 0 },
Perseus:
/* ARM L0: 1600Mhz */
{ 0, 4, 7, 0, 6, 1, 7, 0 },​
Click to expand...
Click to collapse
I don't have any exact technical explanation behind the physical CPU blocks that those auxiliary dividers are clocking.
Personally I just fired up Excel and adjusted them in to what seemed to me a reasonable curve with the rest of the frequency clocks which Samsung provided. These are the values I put in Perseus.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You could probably adjust M0 again beyond 1800 MHz to be somewhat lower.

[PATCH]GPU OC 450->544MHz

After playing with GPU voltages and frequencies i noticed that default GPU voltage on my GT-I9505 is way too high for 450MHz operation.
Now i noticed, nobody really published any working GPU-OC (sorry if i missed)..
So, here is the patch:
PLL15 used exclusively for GPU top frequency.
GPU frequency = PLL15 / 2
PLL15 = 27MHz * ( l(least significant bits) + m / n ) [ 27*(0x28+1/3)=1089 ]
Code:
--- a/arch/arm/mach-msm/clock-8960.c
+++ b/arch/arm/mach-msm/clock-8960.c
@@ -6570,8 +6570,8 @@ static void __init reg_init(void)
/* Program PLL15 to 975MHz with ref clk = 27MHz */
configure_sr_pll(&pll15_config, &pll15_regs, 0);
} else if (cpu_is_apq8064ab()) {
- /* Program PLL15 to 900MHZ */
- pll15_config.l = 0x21 | BVAL(31, 7, 0x620);
+ /* Program PLL15 to 1089MHZ */
+ pll15_config.l = 0x28 | BVAL(31, 7, 0x620);
pll15_config.m = 0x1;
pll15_config.n = 0x3;
configure_sr_pll(&pll15_config, &pll15_regs, 0);
I used 544.5 MHz for about a week, playing mostly real racing 3 and NFS:most wanted.
Maximum OC could be much higher.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The score is form Antutu 3D test only.
pushistiky said:
After playing with GPU voltages and frequencies i noticed that default GPU voltage on my GT-I9505 is way too high for 450MHz operation.
Now i noticed, nobody really published any working GPU-OC (sorry if i missed)..
So, here is the patch:
PLL15 used exclusively for GPU top frequency.
GPU frequency = PLL15 / 2
PLL15 = 27MHz * ( l(least significant bits) + m / n ) [ 27*(0x28+1/3)=1089 ]
Code:
--- a/arch/arm/mach-msm/clock-8960.c
+++ b/arch/arm/mach-msm/clock-8960.c
@@ -6570,8 +6570,8 @@ static void __init reg_init(void)
/* Program PLL15 to 975MHz with ref clk = 27MHz */
configure_sr_pll(&pll15_config, &pll15_regs, 0);
} else if (cpu_is_apq8064ab()) {
- /* Program PLL15 to 900MHZ */
- pll15_config.l = 0x21 | BVAL(31, 7, 0x620);
+ /* Program PLL15 to 1089MHZ */
+ pll15_config.l = 0x28 | BVAL(31, 7, 0x620);
pll15_config.m = 0x1;
pll15_config.n = 0x3;
configure_sr_pll(&pll15_config, &pll15_regs, 0);
I used 544.5 MHz for about a week, playing mostly real racing 3 and NFS:most wanted.
Maximum OC could be much higher.
Click to expand...
Click to collapse
how i can use it?
geiti94 said:
how i can use it?
Click to expand...
Click to collapse
Don't take this thread serious! Look at antutu score. Way to low for our device. Some copy post I think
boterkaaseneieren said:
Don't take this thread serious! Look at antutu score. Way to low for our device. Some copy post I think
Click to expand...
Click to collapse
The score is form Antutu 3D test only. At default GPU frequency its ~6600.
boterkaaseneieren said:
Don't take this thread serious! Look at antutu score. Way to low for our device. Some copy post I think
Click to expand...
Click to collapse
You shold really start thinking before you post that non sense things
Lähetetty laitteesta GT-I9505 käyttäen Tapatalk 2:sta
Possible to make a cwm flashable zip?
luuranko3 said:
You shold really start thinking before you post that non sense things
Lähetetty laitteesta GT-I9505 käyttäen Tapatalk 2:sta
Click to expand...
Click to collapse
Yep its not the fist time he postet before he think.
jakemog said:
Possible to make a cwm flashable zip?
Click to expand...
Click to collapse
+1
Chronic kernel can be overclocked To 500mhz
How the hell you can See or change GPU voltage?
hanspampel said:
Yep its not the fist time he postet before he think.
Click to expand...
Click to collapse
Blabla that's what you think.
nadejo said:
Chronic kernel can be overclocked To 500mhz
How the hell you can See or change GPU voltage?
Click to expand...
Click to collapse
I would not bother to create an entire topic if there was a working source code published somewhere (Chronic sources dont change the frequency to 500, it stays 450)...
You can track how much people using this particular patch (or high GPU frequency) at
Triangle throughput: Textured - Offscreen (1080p)
Results of Samsung GT-I9505 Galaxy S4
Multiple entries at the end of the list are mine:
Code:
72 MTriangles/s 8 unregistered androidcommunityuser 2013.06.02
I didn't have any success with changing/programming VRM tables, i just noticed that VDD_DIG_NOMINAL is enough for 450 MHz (instead of VDD_DIG_HIGH).
P.S. Im sorry i answered this off topic nonsense.
Chronic kernel doesnt change PLL15 configuration, and entries for 450 and "500" are exactly the same:
https://github.com/Team-Hydra/android_kernel_samsung_jf/blob/cm-10.1/arch/arm/mach-msm/clock-8960.c
Code:
F_GFX3D(450000000, pll15, 1, 2),
F_GFX3D(500000000, pll15, 1, 2),
GPU OC to 500 Mhtz (450Mhtz default - configurable though 89chronic init script)
I can even overclock it without touching the script. I simply Use trickster mod APP.
And it works for me, no matter screen of or on. The GPU overclocking is almost perfect With its own 2governors.
im right, you're wrong!
nadejo said:
I simply Use trickster mod APP. And it works for me, no matter screen of or on. The GPU overclocking is almost perfect With its own 2governors.
Click to expand...
Click to collapse
No GPU options appear for me with trickster on the stock rom...?
XTCrefugee said:
No GPU options appear for me with trickster on the stock rom...?
Click to expand...
Click to collapse
i talk about chronic kernel for cm10.1 aosp rom. and it works

[DEV][WIP][KERNEL-PATCH][MSM7x30/8x55 GPU OVERCLOCKING][2d-core done][3d-core][v0.7]

Finally after someone pm'd me I looked back into GPU Overclocking.
New thread created issues with old thread OP permissions (people seem to be asking the same questions over and over again all information will be kept in OP & DO READ THE THREAD, repetitive questions will now be ignored)
Benefits:
Smoother UI
Handle 2d & 3d core GPU intensive applications & games
Currently only 2D core has been overclocked working on 3D core OC
2D-core original value - 192mhz OC to 245mhz DONE achieved 25% performance boost grp_2d_clk outputs 245760000hz
3D-core original value - 245mhz OC to 300+mhz WIP hoping to achieve 40-50% performance boost
2D-core OC only Download: http://d-h.st/woG
Download Links for other devices coming soon...
Works for all HTC Sense/Cm9/Cm10 kernels (Just ask a kernel developer for your device to implement the source code)
Note: Don't have internet on PC so providing 3 main files that need replaced for 2D-core OC to work
Download link to source code: http://d-h.st/wbH
3D-CORE OC TESTS Download: http://d-h.st/IbC
Do check under sys/kernel/debug/htc_clock/clks/ look for file with all clocks & look for GRP_clks (Graphics clock)
OK so basically today I've been thinking and I've come to the conclusion that I will release the 2D-core OC patch As Soon As Possible, 3D-core Core OC is NOT Impossible but for now I'll give it a break, I will attempt 3D-core OC If/When I can get a hold of a msm7x30/msm8x55 device, as it will make it much easier for both me & users.
So for now you can enjoy the 50mhz increase/bump up, perf boost 25% in 2D-core (will increase performance in both 2D/3D intensive appications as 2D-core is used for 3D AFAIK and increase User Interface performance (Note: This will not take a hit on battery life)), I will also release a couple of fixes on patchas kernel that shouldnt be there/set etc.
(Theres a device available in my area for roughly £90, if anyone wants to contribute towards getting that device or can donate a device , more than welcome and shoot me a PM so I can list you here.)
(This isnt a promise of 3D-Overclock if you donate, if you donate please do so expecting nothing I will only attempt 3D-overclock)
Working device list - all kernel 3.0+ msm7x30/msm8x55 soc devices.
Main thread is in Desire HD Android Development section: http://forum.xda-developers.com/showthread.php?t=2368497
Diff Patch:
diff --git a/arch/arm/mach-msm/clock-7x30.c b/arch/arm/mach-msm/clock-7x30.c
index 8e97664..5e9bc2e 100644
--- a/arch/arm/mach-msm/clock-7x30.c
+++ b/arch/arm/mach-msm/clock-7x30.c
@@ -2992,8 +2992,8 @@ static void __init msm7x30_clock_init(void)
clk_set_rate(&mdc_clk.c, 1);
/* Sync the LPA_CODEC clock to MI2S_CODEC_RX */
clk_set_rate(&lpa_codec_clk.c, 1);
- /* Sync the GRP2D clock to AXI */
- clk_set_rate(&grp_2d_clk.c, 1);
+ /* Set rate of 2D-core GPU Clock @245Mhz (OC of 53Mhz 25% perf boost by Shaky156) */
+ clk_set_rate(&grp_2d_clk.c, 245760000);
}
struct clock_init_data msm7x30_clock_init_data __initdata = {
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c
index d52db55..f428e57 100644
--- a/arch/arm/mach-msm/devices-msm7x30.c
+++ b/arch/arm/mach-msm/devices-msm7x30.c
@@ -1319,11 +1319,7 @@ struct resource kgsl_3d0_resources[] = {
static struct kgsl_device_platform_data kgsl_3d0_pdata = {
.pwrlevel = {
{
- .gpu_freq = 364800000,
- .bus_freq = 249600000,
- },
- {
- .gpu_freq = 245760000,
+ .gpu_freq = 245760000, /*Restore correct GPU frequency and bus frequency (Shaky156)*/
.bus_freq = 192000000,
},
{
@@ -1336,7 +1332,7 @@ static struct kgsl_device_platform_data kgsl_3d0_pdata = {
},
},
.init_level = 0,
- .num_levels = 4,
+ .num_levels = 3,
.set_grp_async = set_grp3d_async,
.idle_timeout = HZ/20,
.nap_allowed = true,
@@ -1372,14 +1368,13 @@ static struct resource kgsl_2d0_resources[] = {
static struct kgsl_device_platform_data kgsl_2d0_pdata = {
.pwrlevel = {
{
- .gpu_freq = 0,
+ .gpu_freq = 245760000, //Set 2D-core GPU Frequency @245mhz (Shaky156)
.bus_freq = 192000000,
},
},
.init_level = 0,
.num_levels = 1,
- /* HW workaround, run Z180 SYNC @ 192 MHZ */
- .set_grp_async = NULL,
+ .set_grp_async = set_grp2d_async, //Set the 2D-core Graphics Clock Asynchronous to the AXI clock (Shaky156)
.idle_timeout = HZ/10,
.nap_allowed = true,
.clk_map = KGSL_CLK_CORE | KGSL_CLK_IFACE,
diff --git a/drivers/gpu/msm_adreno205/kgsl_pwrctrl.c b/drivers/gpu/msm_adreno205/kgsl_pwrctrl.c
index e81b025..b8686c0 100644
--- a/drivers/gpu/msm_adreno205/kgsl_pwrctrl.c
+++ b/drivers/gpu/msm_adreno205/kgsl_pwrctrl.c
@@ -488,10 +488,8 @@ int kgsl_pwrctrl_init(struct kgsl_device *device)
pwr->pwrlevels.io_fraction =
pdata->pwrlevel.io_fraction;
}
- /* Do not set_rate for targets in sync with AXI */
- if (pwr->pwrlevels[0].gpu_freq > 0)
- clk_set_rate(pwr->grp_clks[0], pwr->
- pwrlevels[pwr->num_pwrlevels - 1].gpu_freq);
+
+ /*Removed AXI Sync code (Shaky156)*/
pwr->gpu_reg = regulator_get(NULL, pwr->regulator_name);
if (IS_ERR(pwr->gpu_reg))
Please anyone can benchmark it?
cant wait for your commit!
Here is Benchmark from AnTuTu Benchmark v3.3.2
Rom: SVHD v1.7.3
With Shaky Kernel
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
With PachaRS v2.9 Kernel
mygamers said:
Here is Benchmark from AnTuTu Benchmark v3.3.2
Rom: SVHD v1.7.3
With Shaky Kernel
With PachaRS v2.9 Kernel
Click to expand...
Click to collapse
I get 509 (2d) and 1774(3d) stock cpu, stock gpu (with SmartASSv2 governor) and SIO as I/O scheduler(performance get a bit better when CFQ is in use).
We are talking about Sense rom? ..I'm wondering why the "Overclocked" versions get lower score than me
P.S. I can provide pictures if someone want some proof(I'm just lazy that's why I didn't to it already hahaahhaah)
XxXPachaXxX said:
Please anyone can benchmark it?
cant wait for your commit!
Click to expand...
Click to collapse
please see below...
mygamers said:
Here is Benchmark from AnTuTu Benchmark v3.3.2
Rom: SVHD v1.7.3
With Shaky Kernel
With PachaRS v2.9 Kernel
Click to expand...
Click to collapse
Hi, if you have used the last few kernel releases they shouldnt be benchmarked as I am working on 3d-core GPUOC, which fails to set above 245mhz resulting in both 2d/3d core running @192mhz which is underclocked afaik, once 3d-core gpu is achieved then you can benchmark.
Previous kernel where a user benchmarked in previous gpu thread only 2d-core was overclocked benchmark went from 400 range to 500 range, consider I overclocked by 50mhz thats roughly 1/4 of 192mhz, benchmark score is accurate as its performance improved by 1/4 of total previous 2d-core gpu score
and 2d core clk outputs 245mhz which is basically saying its overclocked
so with 2d-core OC results will be higher, working on 3d-core overclock which will make benchmark go even more higher
now onto 3d-core gpu
OP updated with correct link for 2D-CORE GPU ONLY
current 3d-core gpu states this within log:
<3>[ 404.075866] [CLK] clk_set_rate: failed to set clk: GRP_3D_CLK, rate=256000000, flags=0x200, rc=-22
<3>[ 404.379058] [CLK] clk_set_rate: failed to set clk: GRP_3D_CLK, rate=256000000, flags=0x200, rc=-22
<3>[ 404.527404] [CLK] clk_set_rate: failed to set clk: GRP_3D_CLK, rate=256000000, flags=0x200, rc=-22
<3>[ 404.910766] [CLK] clk_set_rate: failed to set clk: GRP_3D_CLK, rate=256000000, flags=0x200, rc=-22
I have a fix soon
evronetwork said:
I get 509 (2d) and 1774(3d) stock cpu, stock gpu (with SmartASSv2 governor) and SIO as I/O scheduler(performance get a bit better when CFQ is in use).
We are talking about Sense rom? ..I'm wondering why the "Overclocked" versions get lower score than me
P.S. I can provide pictures if someone want some proof(I'm just lazy that's why I didn't to it already hahaahhaah)
Click to expand...
Click to collapse
see my answer above
to double check flash 2d-core GPUOC then benchmark & check under sys/kernel/debug/clks/grp_2d_clk
My result
Rom: SVHD v1.7.3
Pacha-Kernel 2.9
2D-core OC only
before I can continue any further I need someone to get me the value of grp_3d_src_clk from 3dgpuoc test I can then drop a fixed 3d GPUOC
if someone cannot provide that value then I cannot OC 3dcore gpu
i can't find nor grp_3d_src_clk nor the file with all clks listed
Going to flash your kernel to help out. Do you want both Logcat and DSMG?
Is the main problem that 3d OC can't be set on boot?I used to flash it and after rebooting the benchmark fell from 18xx to 17xx(but still higher than that before flashing).I guess if it can be applied by init.d scripts .Thanks a lot for your aaaaaaaaaamazing work!
forzaferrari0 said:
i can't find nor grp_3d_src_clk nor the file with all clks listed
Click to expand...
Click to collapse
I'll see if I can temporarily get my hands on a Desire HD for this
EDIT: no access to device
hacktrix2006 said:
Going to flash your kernel to help out. Do you want both Logcat and DSMG?
Click to expand...
Click to collapse
no log or dmesg just the value under the grp_3d_src_clk (should be a folder with values in there)
sys/kernel/debug/clk/grp_3d_src_clk/
i found this:ebi_grp_3d_clk,
his value switch continuously from 0 to 192000000
with pacha kernel is firmly 0
forzaferrari0 said:
i found this:ebi_grp_3d_clk,
his value switch continuously from 0 to 192000000
with pacha kernel is firmly 0
Click to expand...
Click to collapse
nope only grp_3d_src_clk
OK Shaky156 will do just thought i ask first before hand as sometimes logcat and dmsg can be handy to have.
hacktrix2006 said:
Going to flash your kernel to help out. Do you want both Logcat and DSMG?
Click to expand...
Click to collapse
edit: He replied.Deleted.

Categories

Resources