[Tweak] AXI Frequency Tweaks for performance and battery savings - Nexus One Android Development

So I've been traipsing through some of the other Qualcomm repositories searching for tidbits that might be of use for N1 kernels. As far as I can tell, none of these changes have been merged in to the aosp or cyanogen kernels, although unfortunately the underlying kernels have diverged and these won't apply cleanly but it should be possible to manually merge with some effort.
First up, this patch reduces AXI (internal bus) speed when the apps CPU is running at lower clock speeds and increases it when at higher clock speeds. Memory would otherwise be the bottleneck for many applications.
https://www.codeaurora.org/gitweb/q...it;h=6caa6d84d8c687b5f66f5b5ea281183eae8947a8
Code:
msm: acpuclock-8x50: Couple CPU freq and AXI freq.
The memory throughput is directly proportional to the AXI frequency. The
AXI freq is coupled with the CPU freq to prevent the memory from being
the bottleneck when the CPU is running at one of its higher frequencies.
This will cause an increase in power consumption when the CPU is running
at higher frequencies, but will give a better performance/power ratio.
This patch adds core support for AXI clock changes.
https://www.codeaurora.org/gitweb/q...it;h=009d997b1439edf1991e181206c74ee3e943787e
Code:
msm: clock: Add SoC/board independent APIs to set/get max AXI frequency.
Some drivers need to set the AXI frequency to the maximum frequency
supported by the board. Add a MSM_AXI_MAX_FREQ_KHZ magic value that
allows them to achieve that in a SoC/board independent manner.
The following two patches drop the AXI speed when the processor is idle but the screen is on, down to the minimum that will allow the framebuffer to keep driving the screen. Claims to save ~20 mA which would be somewhere around 10-20% at least. Unfortunately these will probably be harder to merge in, as the Chromium kernel uses quite a different mdp/framebuffer architecture. Still, worth trying!
https://www.codeaurora.org/gitweb/q...it;h=fdb01a9945f2ac3a4cc76c507ed0abf5dd5cfb57
Code:
msm_fb: Reduce AXI bus frequency to 62 Mhz from 128 Mhz
Reduced AXI bus frequency to 62 Mhx to save power during idle
screen mode/limited sleep mode.
https://www.codeaurora.org/gitweb/q...it;h=dee586811e34cb24dedc1d0587f3e31f1ba656a6
Code:
msm_fb: Reduce AXI bus frequency to 58 Mhz from 64 Mhz.
Reduce AXI bus frequency further to 58 Mhz for lcdc panels to save
~20mA power during idle screen mode/limited sleep mode.

I can't wait to see what Kmobz, Intersect, and pershoot do with this!

interesting stuff...hopefully one of the many great kernel devs can use this info and find a way to get it to be useful on the N1 and save more battery life

For those interested, if you have a look at pm.c, a lot of the logic seems to be already there:
Code:
/* axi 128 screen on, 61mhz screen off */
static void axi_early_suspend(struct early_suspend *handler) {
axi_rate = 0;
clk_set_rate(axi_clk, axi_rate);
}
The only thing that is missing is the setting of the axi rates along with the cpu frequency. However, I would think that it is going to take a special amount of trial and error to get the rates correct for the nexus one, since they are, after all, different pieces of hardware.

We could try to further reduce the frequency of the AXI bus while the screen is off. AOSP currently does 61MHz, right?

coolbho3000 said:
We could try to further reduce the frequency of the AXI bus while the screen is off. AOSP currently does 61MHz, right?
Click to expand...
Click to collapse
It should be possible to go with Code Aurora's 58 I think?

Yes we could reduce it further. I dont know what impact it will have on stability yet.
I have provided a very quick (and very dirty) patch for scaling the axi rates according to cpu frequency. THIS IS NOT INTENDED TO BE USED UNLESS YOU KNOW WHAT YOU ARE DOING.
It is just a preliminary patch which compiles into a zImage. I do not know if it works (i'll leave that to the experts). Please, always (!!), check the patches and code before running the kernel image.
I tried to follow the convention already existing in acpuclock-scorpion as much as possible. One caveat: I do not know what the return value for a successful clk_set_rate is, and I am only assuming based on the code aura sources (pm.c does not use the return value).
Edit: forgot to add that I think it is a little too much for pm.c AND acpuclock-scorpion to be setting the axi value (if it works at all), and might cause stability issues. Maybe someone might try removing the pm.c code and use acpu-clock only, I dont know....

jazzor said:
Yes we could reduce it further. I dont know what impact it will have on stability yet.
I have provided a very quick (and very dirty) patch for scaling the axi rates according to cpu frequency. THIS IS NOT INTENDED TO BE USED UNLESS YOU KNOW WHAT YOU ARE DOING.
It is just a preliminary patch which compiles into a zImage. I do not know if it works (i'll leave that to the experts). Please, always (!!), check the patches and code before running the kernel image.
I tried to follow the convention already existing in acpuclock-scorpion as much as possible. One caveat: I do not know what the return value for a successful clk_set_rate is, and I am only assuming based on the code aura sources (pm.c does not use the return value).
Edit: forgot to add that I think it is a little too much for pm.c AND acpuclock-scorpion to be setting the axi value (if it works at all), and might cause stability issues. Maybe someone might try removing the pm.c code and use acpu-clock only, I dont know....
Click to expand...
Click to collapse
I've made too many changes to acpuclock to apply this directly. I'll take a look at it later though.

jazzor said:
For those interested, if you have a look at pm.c, a lot of the logic seems to be already there:
Code:
/* axi 128 screen on, 61mhz screen off */
static void axi_early_suspend(struct early_suspend *handler) {
axi_rate = 0;
clk_set_rate(axi_clk, axi_rate);
}
Click to expand...
Click to collapse
True, but the comment doesn't agree with the code itself:
Code:
/* axi 128 screen on, 61mhz screen off */
<snip>
static void axi_late_resume(struct early_suspend *handler) {
axi_rate = 128000000;
sleep_axi_rate = 120000000; // <- 120 MHz...
clk_set_rate(axi_clk, axi_rate);
}
I wonder if we could drop the sleep_axi_rate = 120000000 to something much lower?
Also, the OP patches were for dropping the AXI rate when the screen is on but the processor is idling. (And it's not clear what screen resolution the code in the OP patches was for, but if it's for ChromeOS I presume it's higher than our 800x480, so bus bandwidth for the framebuffer shouldn't be a problem). So no, unless I'm missing something most of the logic in these patches isn't there already as you claim. (If I am missing something, please show me where... I believe it would have to be in the MDP driver somewhere).

hugonz said:
True, but the comment doesn't agree with the code itself:
Code:
/* axi 128 screen on, 61mhz screen off */
<snip>
static void axi_late_resume(struct early_suspend *handler) {
axi_rate = 128000000;
sleep_axi_rate = 120000000; // <- 120 MHz...
clk_set_rate(axi_clk, axi_rate);
}
I wonder if we could drop the sleep_axi_rate = 120000000 to something much lower?
Also, the OP patches were for dropping the AXI rate when the screen is on but the processor is idling. (And it's not clear what screen resolution the code in the OP patches was for, but if it's for ChromeOS I presume it's higher than our 800x480, so bus bandwidth for the framebuffer shouldn't be a problem). So no, unless I'm missing something most of the logic in these patches isn't there already as you claim. (If I am missing something, please show me where... I believe it would have to be in the MDP driver somewhere).
Click to expand...
Click to collapse
I might be wrong, but this is how I understand it. axi_early_suspend is called when the nexus is going under suspend mode, which is like suspend to ram. This happens when there are no active tasks running and the screen is off. As the code says, the rate is set to 0 implying it is going to set it as low as the limits allow (assuming that is 61mhz). axi_late_resume is for the case when the nexus is NOT in suspend. There are still 2 states in this mode, one where the machine is being actively used (browsing web) and one where the machine is idle (such as when we are listening to music or any background task that may or may not be using the screen), but the machine cannot suspend to ram due tasks still actively running.
In any case, experimenting with lower values of axi rates should be done to see if it indeed saves battery.

oooh great thread. I will definitely be looking into this stuff when I get back in town! thanks for the links!

https://www.codeaurora.org/gitweb/q...it;h=8a68421a300878d729991c1db609a541910d2c70
Here is another patch (more up to date -> perhaps easier to merge).

I just implemented the AXI frequency tweak for N1 - I noticed it is also present in HTC Desire kernel
I am testing it now - so far it seems stable.
Attached acpuclock_scorpion.c implementing the AXI tweaks. Basically, AXI frequency now scales with CPU frequency.

Ivan Dimkovic said:
I just implemented the AXI frequency tweak for N1 - I noticed it is also present in HTC Desire kernel
I am testing it now - so far it seems stable.
Attached acpuclock_scorpion.c implementing the AXI tweaks. Basically, AXI frequency now scales with CPU frequency.
Click to expand...
Click to collapse
Do you run this along with a custom kernel and just flash in recovery like an update.zip?

I usually use Cyanogen's kernel as base for my experiments - so this should definitely compile with Cyanogen's 2.6.34 kernels. This acpuclk-scorpion.c has lowered voltages and also support for frequencies up to 1190 MHz
Although you will also need to change few call prototypes in acpuclock.h - it is quite trivial just replace old acpuclk_set_rate() and acpuclk_power_collapse() prototypes with these:
enum setrate_reason {
SETRATE_CPUFREQ = 0,
SETRATE_SWFI,
SETRATE_PC,
SETRATE_PC_IDLE,
};
int acpuclk_set_rate(unsigned long rate, enum setrate_reason reason);
unsigned long acpuclk_power_collapse(int from_idle);
Click to expand...
Click to collapse
That should do it.

Markdental said:
Do you run this along with a custom kernel and just flash in recovery like an update.zip?
Click to expand...
Click to collapse
No, this will have to compiled into the kernel, which I'm doing right now. Thank you so much for doing this Ivan!

Nice to see someone finally got this to work! I've been too lax as of late.

Getting AXI scaling to work was pretty easy - makes me wonder why is it not in the AOSP kernel for N1.
It is definitely in the HTC Desire kernel, and I am sure HTC knows what is good for the hardware they built

Ivan Dimkovic said:
Getting AXI scaling to work was pretty easy - makes me wonder why is it not in the AOSP kernel for N1.
It is definitely in the HTC Desire kernel, and I am sure HTC knows what is good for the hardware they built
Click to expand...
Click to collapse
what change to pm.c if any?

pm.c already has everything in place needed for AXI clock switching.

Related

[IDEA] Nexus One Boot frequency

I'm playing a bit with the Nexus One kernel a bit and I noticed this code snippet:
/* Move to 768 MHz for boot, which is a safe frequency
* for all versions of Scorpion at the moment.
*/
speed = acpu_freq_tbl;
for ( ;; ) {
if (speed->acpu_khz == 768000)
break;
if (speed->acpu_khz == 0) {
pr_err("acpuclk_init: cannot find 768 MHz\n");
BUG();
}
speed++;
}
Click to expand...
Click to collapse
Now, I might be wrong and please correct me if I am: I am assuming this code is there because there are two versions of Snapdragon QSD 8250 - one that runs at 998 MHz, and one that runs on 768 MHz, which is essentially just an underclocked version of the first one (maybe just slightly worse units not binned for 998 MHz during the production)
I suppose that CPU driver has to support both versions, and therefore I am assuming they need to stay at 768 MHz during the boot process to be safe...
Anyway... maybe I am wrong, but I just replaced the 768 MHz clock selection with 998 MHz and I see no problem at all - my N1 is booting perfectly fine with 998 MHz boot frequency.
But, as stated above - I could be really wrong here, and it would be great if people with deeper knowledge (or in possession of QSD 8x50 datasheets ) would comment on this...
Also, at the same time I added AXI frequency scaling to the CPU driver - code is here: http://forum.xda-developers.com/showpost.php?p=7541522&postcount=13 - this also appears to be stable... but, as with any experimental addition - it will need further testing
Did you see any noticeable benefit with the boot @ 998? I think you're probably right about it being set to "safe" for both processors, but what would be the gain? I'm all for a quicker boot sequence.
Would be nice to do some benchmarks on a clean install, and domt see why we couldn't post at 1113. If we could would be a near 33% increase for cpu limited tasks
I think I saw Cyan change this before so I think you have the right idea with this being the bootup frequency.
Yep - even 1113 MHz boots just fine, at least on my phone...
Now, I cannot say if the boot is any faster really as my phone is loaded with lots of things so it would be hard to measure... I guess to benchmark this the best would be to start with a "clean" just wiped phone.
Ivan Dimkovic said:
Yep - even 1113 MHz boots just fine, at least on my phone...
Now, I cannot say if the boot is any faster really as my phone is loaded with lots of things so it would be hard to measure... I guess to benchmark this the best would be to start with a "clean" just wiped phone.
Click to expand...
Click to collapse
Thats what I was thinking, although if you nandroid, wipe, install some default ROM, nandroid, push, nandroid, you can switch and change between the two in maybe 5 mins from then on.
its a safe (for the masses) boot up frequency.
i use 883 (768 (stock)).
Have you timed the difference in bootup speed of 768Mhz Vs 998Mhz? Any difference of any merit? (maybe boot 3 times on each and take an average?).
have you tried setting the values out of a reasonable range (1267 or something similar) just to see if changing that value does anything at all? if it doesn't boot, you would know that your values are getting read correctly...
What we need is a benchmark.
See if it boots faster.

[KERNEL][3.1.10][EXPERIMENTAL][[email protected]|OV|SmartAssV2] Aquaria Kernel for Nexus 7

I do not yet have a Nexus 7 to test this with. You use this at your own risk!
This is the first real kernel work I've done, so don't be surprised if it doesn't work. I've only provided a boot.img as fastboot is easy enough to use on the Nexus 7.
Features (If it works):
CPU OC to 1.7GHz maximum
CPU over volt to hopefully reach 1.7GHz
GPU OC to 600MHz
Simple IO scheduler
SmartAssV2 CPU governor
The boot.img is attached. Source can be found at my github.
If anyone here has a Nexus 7 it would be very helpful to know if it works. I should have mine soon though. If it works well, enjoy. Feedback is always welcomed, as are benchmarks. Thanks.
Removed link until fixed!
This is scary looking, an untested Overclock that's never been run on the hardware before.
I'm guessing that the T30L is just a speed binned T30 and as such this shouldn't damage it. The same overvolt (and higher) has been successful on the T30 to get even higher clocks (1.8GHz). I would test this given hardware, however I don't yet have my Nexus 7.
ben1066 said:
I'm guessing that the T30L is just a speed binned T30 and as such this shouldn't damage it. The same overvolt (and higher) has been successful on the T30 to get even higher clocks (1.8GHz). I would test this given hardware, however I don't yet have my Nexus 7.
Click to expand...
Click to collapse
This sounds interesting. Especially the 600mhz gpu OC but may I ask if you are thinking of implementing some kind of app interface to control gpu clock and voltages etc like Extweeks on google play please? As I am guessing a lot of people won't be able to go to 600mhz stably, so a way to change the OC to something like 520mhz (to bring it to T30 speed) would be a good option
I've seen voltage tweaks controlled from userspace on other devices but not the GPU clock. I'd like to get it working first, then I guess I'll look at such things, especially if there is interest.
Cel1084 said:
This is scary looking, an untested Overclock that's never been run on the hardware before.
Click to expand...
Click to collapse
you go first!
bencozzy said:
Glados kernel on the galaxy nexus allows gpu oc control.
Click to expand...
Click to collapse
Siyah kernel for the galaxy s2 and galaxy s3 both let you control gpu clock speed and voltages, might be cool to have something similar
I don't even have my Nexus yet, and i'm already downloading things to flash to it, hahah. Will report back once Google ships to the US!
if this kernel works can we control the clocks with antutu or similar?
The CPU clock should be controllable, and I'm working on making the overvolt controllable. The GPU clock is not yet controllable, and I'm not so sure where to start on that.
ben1066 said:
The CPU clock should be controllable, and I'm working on making the overvolt controllable. The GPU clock is not yet controllable, and I'm not so sure where to start on that.
Click to expand...
Click to collapse
you should put the gpu clock to 520mhz arnt t30l 413mhz stock and kai would be even slower assuming its the budget tegra3 soc
Right, here's the thing. I've spoofed the SoC speedo ID to be that of the standard T30, however, without looking through with a fine tooth comb, it seems that the top that that id goes is 600MHz. In usage, it may be 520MHz, but I'm not sure. In addition I'm fairly sure these are just speed binned, and can probably run at the higher clocks if we just add a bit more voltage, or they get a little hotter. If anyone can tell me if this actually works, then I can adjust either way.
Look at tegra3_dvfs.c, line 256-262. It seems to indicate a maximum of 600MHz.
This should be helpful to you. tegra3 technical reference manual. everything there is to know about all variants of the chip. how it works, what its capable of, schematics, diagrams, chip layout, etc,,
http://db.tt/vWWou2Fu
Thanks but I already have access to NVidia's Tegra portal, which includes the TRM for Tegra 2 and Tegra 3. I'm hoping I shouldn't have to mess with it that low level
I don't understand why anyone would want to overclock a Tegra3, which is plenty fast enough already, especially when they have never even touched the device.
Also, I don't understand why anyone with any sense would use Simple IO scheduler, which has a higher latency and lower throughput than deadline, or even the bloat that is CFQ for that matter.
And finally, I don't understand why any real 'developer' would release something like this without testing it, especially with possibly dangerous overclocking and overvoltage settings. Only on XDA...
With all due respect, you should remove it until you have tested it *yourself* and confirmed that it doesn't make your Nexus 7 vanish in a cloud of smoke.
When I feel the need the need for speed owww.
_thalamus said:
I don't understand why anyone would want to overclock a Tegra3, which is plenty fast enough already, especially when they have never even touched the device.
Also, I don't understand why anyone with any sense would use Simple IO scheduler, which has a higher latency and lower throughput than deadline, or even the bloat that is CFQ for that matter.
And finally, I don't understand why any real 'developer' would release something like this without testing it, especially with possibly dangerous overclocking and overvoltage settings. Only on XDA...
With all due respect, you should remove it until you have tested it *yourself* and confirmed that it doesn't make your Nexus 7 vanish in a cloud of smoke.
Click to expand...
Click to collapse
Our Tegra 3 CPU is a lower clock version that the normal T30, it's the T30L. I have no doubt that this will not damage your device, the voltages used are still less than used by some TF201 ROMs (the TF201 uses the T30). I included Simple IO scheduler since it is something that seems popular, latency isn't the only thing that matters (read http://www.vincentkong.com/wiki/-/w...42041E#section-Android+IO+Schedulers-Deadline). I have seen benchmarks that show both SIO and deadline as better than each other, it depends what metric you record. I didn't remove CFQ, it's not that I've added it. The scheduler can be changed if you so desire anyway.
I have not provided a simple flash package and I've clearly stated in red writing that this is UNTESTED. I do not have the device, and it is yes untested however I didn't see the point on keeping something potentially useful private. If you have the knowledge to use fastboot to flash a boot.img, you probably know how to flash back the old one too.
_thalamus said:
I don't understand why anyone would want to overclock a Tegra3, which is plenty fast enough already, especially when they have never even touched the device.
Also, I don't understand why anyone with any sense would use Simple IO scheduler, which has a higher latency and lower throughput than deadline, or even the bloat that is CFQ for that matter.
And finally, I don't understand why any real 'developer' would release something like this without testing it, especially with possibly dangerous overclocking and overvoltage settings. Only on XDA...
With all due respect, you should remove it until you have tested it *yourself* and confirmed that it doesn't make your Nexus 7 vanish in a cloud of smoke.
Click to expand...
Click to collapse
seriously harsh man, just because you don't understand doesn't mean its wrong, or right for that matter
ben1066 said:
Our Tegra 3 CPU is a lower clock version that the normal T30, it's the T30L.
Click to expand...
Click to collapse
I take it you understand why similar chips are rated at various speeds for different devices? Because they are designed with a lower thermal output and / or the cooling characteristics / power characteristics of the device are different. The T30L has lower speed apps processors, lower speed GPU and lower speed memory. All in all, it will pump out much less heat than a T30.
I have no doubt that this will not damage your device, the voltages used are still less than used by some TF201 ROMs (the TF201 uses the T30).
Click to expand...
Click to collapse
You don't *know* that it won't damage someones device, you are assuming that it won't. The likelihood is that it probably won't, but would you stake your life on it? I wouldn't, and I've been doing Android kernel development for some time.
Also, this isn't the TF201, and it isn't the T30. It is a different device with different thermal characteristics and a different SoC, you can't compare them like that.
I included Simple IO scheduler since it is something that seems popular, latency isn't the only thing that matters
Click to expand...
Click to collapse
Latency of reads and writes and throughput are the only 2 things which matter (and I mentioned both), and SIO is poor at both of them. Justin Bieber is popular, but he's still ****, so including something which is popular isn't really a good reason.
---------- Post added at 06:44 PM ---------- Previous post was at 06:33 PM ----------
foxorroxors said:
seriously harsh man, just because you don't understand doesn't mean its wrong, or right for that matter
Click to expand...
Click to collapse
Harsh perhaps, but I prefer honest. Necessary, most certainly.
It is stupid and irresponsible to release something which is untested and potentially dangerous as it isn't fair on the poor muppet that flashes it and then f**ks their device up.
It has only been released because some 'developer' wants to make his epenis bigger by releasing something for a brand new device on XDA. Not that I am saying that he is the only one, there's plenty of others that do it, but as I have one of these on order I am taking an interest in these threads and was quite surprised with what I saw.
As someone who has done kernel development for some time now, I would never dream of releasing something I haven't tested thoroughly myself, or which I have got a trusted tester to thoroughly test, but hey, this is XDA and the standards are low.
ben1066 just out of curiosity may I ask how the gpu scales frequencies on the Tegra 3 t30l please? As I am used to the galaxy s2 and s3 where you have numerous frequency steps like 166mhz, 260mhz, 350mhz and 440mhz and you have an up and down threshold to govern whether you jump up or down the available frequencies, is this similar to how the gpu in works on the tegra 3 please?
Also when you say overclock the gpu, is it replacing 416mhz with 600mhz or is it adding an extra gpu frequency step after 416mhz, so 416mhz is still available to be used if needed? Sorry one last question, if the gpu does have frequency steps like other gpus, what ones are available for use please?
I am sorry to ask, I am just so curious about these questions, and I can't find them anywhere on the internet, so any help would be greatly appreciated. Thank you so much

[KERNEL] Clemsyn's Elite Kernel: Pushing the Limits of Nexus 7. Now with 700mhz GPU.

MOD NOTE: IT APPEARS THIS KERNEL IS FOR 4.1.x ONLY. Flashing on 4.2 will result in bootloop. also, this kernel is unsupported by the OP, so thread is currently CLOSED
First and foremost, I would like to thank _motley for his kernel since this is based on his kernel. I chose his kernel because I have worked with him and IMO is the best kernel out there at the moment . Second, I would like to thank pinoyto and secret for testing the kernels. Also thanks to Koush, Blades, faux123, pershoot, chatch15117, all the Gtab, Asus Transformer and Motorola Atrix users, and other devs that I may have missed. BIG THANKS to my beloved wife for watching the kids while I do this.
I call this kernel elite since the timings are pretty aggressive and voltage are decreased on the low side and increased on the high side. This kernel might not work on your device because of these so be sure that you have a backup and and that you are familiar on restoring your device.
The following are the difference with motley's kernel
1. JRCU is implemented
2. Lowest backlight setting set to 5 (save battery and better reading at night, if you have screen flicker issue it will be more noticable because of this so I suggest covering the ground pin of wifi)
3. Core voltage increased from 1200 to 1250mv on the high side to hit 1.7 frequency and 600 GPU but decreased from 950 to 900mv on the low side.
4. Increased CPU voltage to 1240mv for 1.7 frequency but allows decreased 750mv in low side
5. Increased GPU clock to 600 and pixclock increased (please let me know if you have problems on screen due to pixclock increase but so far no issues on testers)
6. Built using gcc 4.5.2 ( I know, I'm an oldie)
7. DVFS core table completely changed to allow max clock of host1x and pll_c and hit most max frequencies.
8. Enable Thermal_Sys to throttle at 68 (BTW, if you are using system tuner, the reading is +10 as per secret)
Added 484 GPU and 520 GPU. LMK how it goes.
Link is below
Source in compliance with GPL
https://github.com/clemsyn/Grouper
IF YOU WANT THE UNDERVOLTED VERSION PLEASE SEE SECOND POST
------------------------------------------------------------------------------
------------------------------------------------------------------------------
UPDATED 09/23/2012
Releasing another 1.8ghzCPU and 650mhz GPU
Here are the differences with the last 650gpu
1. Used Linaro compiler
2. Increased 3d/2d bus, pll_c, and host1x for higher scores
3. Removed the pixclock overclock, This is running on default pixclock by Asus. This will limit the fps to 60 fps max, so old benchmarks will not score over 100 fps but will only max at 60. I suggest newer benchmarks like GL2.5 or Benchmark 2.0 ES Taiji...
4. EMC voltage decreased to 1.100 mv (Not sure if your device can handle this but pinoyto's device was fine with it)
Here is the link
https://rapidshare.com/files/2462982943/1.8ghz650GPUNopix.zip
If you like my work, please click on Donate button on my Sig and add on to my Nexus 7 fund Thanks
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
UPDATED 9/20/2012
*** SPECIAL RECOGNITION goes to PINOYTO for the first donation of this project. THANKS for rewarding my hard work!! ***
Thanks to masterg0g0 for 2nd donation
Also thanks to all the testers of the 700mhz GPU.
This latest kernel comes with the 1.8ghz CPU and 700 GPU with 3 types of pixclocks.
First off is the max pixclock. This has the highest pixclock of all the kernels and will limit your fps to over 100 fps. The downside is the pink screen issue.
https://rapidshare.com/files/901768617/1.8ghz700GPUMAXPIXoc.zip
Second is the mid pixclock overclock. If you have a pink issue on the first one, try this. This will limit your fps to about 90 fps. The downside is you might still have a pink screen
https://rapidshare.com/files/4017246162/1.8ghz700GPUMEDPIXoc.zip
Third is the NO pixclock overclock. This for sure will have no pink issue but will limit your fps to about 65 fps.
https://rapidshare.com/files/258377771/1.8ghz700gpuNOPIXOC.zip
Here are the changes made from this latest kernels
1. GPU increased to 700 gpu, vcore and vrail voltages increased
2. pll_c, host1x increased to accomodate the increase in GPU speed
3. Compiled using Linaro toolchain.
WARNING:
The timings in this kernel are very aggressive, voltages although within Nvidia limits are high. Please make sure you backup and be very familiar in recovering your device.
IF YOU LIKE MY WORK, PLEASE CLICK on the "DONATE TO ME" BUTTON UNDER MY SIG TO SHOW YOUR APPRECIATION and ADD on to my "NEXUS 7 FUND". Your donation will be GREATLY APPRECIATED. THANK YOU.
---------------------------------------------------------------
---------------------------------------------------------------
UPDATED 8/17/2012
Overclocked to 1.8ghz with GPU at 650..WARNING THIS IS GOING TO GET HOT!!!
https://rapidshare.com/files/1034477848/Clemsyn1.8GPU650.zip
Pink fix
https://rapidshare.com/files/223841402/Clemsyn1.8GPU650Pinkfix.zip
Changes:
1. Temp limit increased to 70
2. Voltages increased to accomodate 1.8ghz and 650 gpu
--------------------------------------------------------------------
--------------------------------------------------------------------
BTW, if you like my work, please dont hesitate to click on the Donate button under my username. Thanks.
Updated 8/23/2012
This new kernel is based upon what I believe is the best overclocking speed (1.5 ghz) and a cpu nominal voltage of 1.150mv and a core of 1.175 mv (core default is 1.2) while lowering the lowest voltage of 750mv and 900mv respectively. This kernel hits the max speeds of the GPU at 600 while utilizing the lower voltages to insure better battery life and less heat. Also pixclock has been decreased to minimize pink issues on the screen Again, this might not run on all Nexus 7 due to aggressive lowering of voltages. HAVE FUN!!
Also make sure you have a backup and familiar with restoring your device.
BTW, if you like my work. Don't hesitate to DONATE and help me buy some diapers Thanks
Finally got the issue why most devices where not working right. Also was able to undervolt MORE because of this finding. Here are the changes
1. Vcore undervolted to 1.15 mv (default at 1.2) cpu mv at 1.15 mv running 1.5ghz
2. pll_c decrease from maximum (this was what was causing all the issue)
3. This kernel is set to 1.5ghz automatically. However if your ramdisk is programed to 1.3, then it boots to 1.3 intially. After pressing the power button once (or letting it sleep), it automatically resumes to 1.5 ghz without any CPU program.
I highly recommend that these settings be used for better battery life, LESS HEAT and power usage... Good for daily use
Here is the link
https://rapidshare.com/files/1026092132/Clemsyn1.5extremeUndervoltedFINAL.zip
BTW, if you like my work please show your appreciation and click on the Donations link under my signature. Thanks.
------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
Update: 8/17/2012
OK, updated this version of the kernel to increase CPU Core to 1.2mv for some stability for some users...Here is the link
link deleted for latest version above
----------------------------------------------------------
----------------------------------------------------------
This new kernel is based upon what I believe is the best overclocking speed (1.5 ghz) and a cpu nominal voltage of 1.150mv and a core of 1.175 mv (core default is 1.2) while lowering the lowest voltage of 750mv and 900mv respectively. This kernel hits the max speeds of the GPU at 600 while utilizing the lower voltages to insure better battery life and less heat. Also pixclock has been decreased to minimize pink issues on the screen Again, this might not run on all Nexus 7 due to aggressive lowering of voltages. HAVE FUN!!
Also make sure you have a backup and familiar with restoring your device.
BTW, if you like my work. Don't hesitate to DONATE and help me buy some diapers Thanks
Downloading now. Will reply with results asap
Edit*
Booted up fine but didn't last too long, saw temps hit 72C and then it rebooted.
Now I guess I could give this a try and report on smoke or injuries if anything.
Rafase282 said:
Now I guess I could give this a try and report on smoke or injuries if anything.
Click to expand...
Click to collapse
LOL, doubt about the smoke because of the Thermal control at 68 but if you would be willing to test my 1.8ghz kernel with 700 GPU LMK (kidding).
clemsyn said:
LOL, doubt about the smoke because of the Thermal control at 68 but if you would be willing to test my 1.8ghz kernel with 700 GPU LMK (kidding).
Click to expand...
Click to collapse
I had to clearn and uninstall system tuner and reinstall to be able to set thing right.
1. I noticed it goes from 1.5 to 1.5, then 1.54 then 1.54 then 1.7
Is it supposed to be like that?
2. What tools do you want me to use for testing? Any recommended way for testing like turn off wifi or something?
You can have my first born. This thing flies!
Holy smokes! This sh!t sounds dangerous! I am all over it
Sent from my Glazed-over Nexus 7
Very interesting. Thanks for making this. I already downloaded. Ill give this a go shortly. Ill make sure to delete data from system tuner to make sure no default voltages are saved from motleykernel.
I hope my device can handle the 1.7ghz, since you increased the top end voltages. With 1.7ghz and 600mhz gpu oc, I'm not expecting this to e old on battery. It's more like you said, pushing the limits of what we capable of. Wish me luck! Lol. Anxious to see how this benches. Did you add the I/o tweak and disable fysnc in this build? Or will running commands from motley thread do the trick? I'm notbsure if tkt app will allow fsync on faster if the file path tnot the same on this kernel.
Ill report back letting you know how it went
evonc said:
Downloading now. Will reply with results asap
Edit*
Booted up fine but didn't last too long, saw temps hit 72C and then it rebooted.
Click to expand...
Click to collapse
Temp is actually 62, secret says that System Tuner reading is +10.
demandarin said:
Very interesting. Thanks for making this. I already downloaded. Ill give this a go shortly. Ill make sure to delete data from system tuner to make sure no default voltages are saved from motleykernel.
I hope my device can handle the 1.7ghz, since you increased the top end voltages. With 1.7ghz and 600mhz gpu oc, I'm not expecting this to e old on battery. It's more like you said, pushing the limits of what we capable of. Wish me luck! Lol. Anxious to see how this benches. Did you add the I/o tweak and disable fysnc in this build? Or will running commands from motley thread do the trick? I'm notbsure if tkt app will allow fsync on faster if the file path tnot the same on this kernel.
Ill report back letting you know how it went
Click to expand...
Click to collapse
It's based from _motley, using his defconfig to build it (aside from the GPU overclock and JRCU) so his commands should work.
scarygood536 said:
You can have my first born. This thing flies!
Click to expand...
Click to collapse
Thanks for trying it I already have four kids and they take a lot of my time
I get reboots when running CF-Bench with interactive and sio at 1.7 stock voltages.
---------- Post added at 01:17 AM ---------- Previous post was at 01:16 AM ----------
clemsyn said:
Thanks for trying it I already have four kids and they take a lot of my time
Click to expand...
Click to collapse
Sell the 5th for body parts. Organs are not easy to find.
Dude.... WTF!? 106 FPS!!?! That can't be right, can it?
{
"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"
}
Sent from my Glazed-over Nexus 7
Rafase282 said:
I had to clearn and uninstall system tuner and reinstall to be able to set thing right.
1. I noticed it goes from 1.5 to 1.5, then 1.54 then 1.54 then 1.7
Is it supposed to be like that?
2. What tools do you want me to use for testing? Any recommended way for testing like turn off wifi or something?
Click to expand...
Click to collapse
Skipped 1.6 since _motley kernel has that so next stepping is 1.54
Try benchmarking it or undervolting it using system tuner but I suggest keeping 1.7 at 1240 mv.
boynamedstacy said:
Dude.... WTF!? 106 FPS!!?! That can't be right, can it?
Sent from my Glazed-over Nexus 7
Click to expand...
Click to collapse
Yup its right, GPU at 600 with max timings in the table
Rafase282 said:
I get reboots when running CF-Bench with interactive and sio at 1.7 stock voltages.
---------- Post added at 01:17 AM ---------- Previous post was at 01:16 AM ----------
Sell the 5th for body parts. Organs are not easy to find.
Click to expand...
Click to collapse
LOL, sorry didn't work for you, Timings on this kernel is pretty aggressive. If it works, you are lucky to have an elite device. Try 1.54 with GPU at 600 and see how it goes.
clemsyn said:
LOL, sorry didn't work for you, Timings on this kernel is pretty aggressive. If it works, you are lucky to have an elite device. Try 1.54 with GPU at 600 and see how it goes.
Click to expand...
Click to collapse
I wont give up
boynamedstacy said:
Dude.... WTF!? 106 FPS!!?! That can't be right, can it?
Sent from my Glazed-over Nexus 7
Click to expand...
Click to collapse
Mines booted up. Got scared for a moment..lol. seemed stuck on Google screen. Bit it eventually booted up. Running default speed. I haven't cranked it up yet to test top speeds.
As for your fps scores, I'm not surprised with this being 600mhz gpu. Bit the crazy thing is our displays can't handle or really display more than 60fps.
Please report CPU temps running at 1.7ghz. Especially while benchmarking, gaming, and normal use.
Battery life would be interesting also.
106 fps?! what trickery is this?!

MiniCM10 Processor Settings

Hello,
I'm writing this thread to know which processor options would be optimal in our minis. The best settings, which give me the best performance/battery, I've found are:
CPU Governor: SMARTASSV2 (Default)
Min Freq: 19MHz
Max Freq: 748MHz
Undervolt: TRUE
I'm also using Apex Launcher. Which settings are you using?
Note: This are just my results, be careful when you change your processor settings.
fuchini said:
Hello,
I'm writing this thread to know which processor options would be optimal in our minis. The best settings, which give me the best performance/battery, I've found are:
CPU Governor: SMARTASSV2 (Default)
Min Freq: 19MHz
Max Freq: 748MHz
Undervolt: TRUE
I'm also using Apex Launcher. Which settings are you using?
Note: This are just my results, be careful when you change your processor settings.
Click to expand...
Click to collapse
Whats the purpose of Undervolting when you have it's max frequency as overclock?
zvdelossantos said:
Whats the purpose of Undervolting when you have it's max frequency as overclock?
Click to expand...
Click to collapse
Because it undervolts on every frequency below 600, and his minimum is 19, so when the phone is idle or doesn't need all of the processing power he saves battery
The SmartAss governor is very good at picking the right frequencies for any given job, so it doesn't allways run on 748Mhz, not even when you're using the phone.
SmG67 said:
because it undervolts on every frequency below 600, and his minimum is 19, so when the phone is idle or doesn't need all of the processing power he saves battery
Click to expand...
Click to collapse
That is the same very purpose of SMARTASSV2 to undervolt your device when idle or on sleepmode and overclocks it when on process. So ticking the undervolt wont affect your device because the one that manage the frequency will be the COUgovernor.
zvdelossantos said:
That is the same very purpose of SMARTASSV2 to undervolt your device when idle or on sleepmode and overclocks it when on process. So ticking the undervolt wont affect your device because the one that manage the frequency will be the COUgovernor.
Click to expand...
Click to collapse
The SmartAss Governor only governs the frequencies, not the voltage that the Processor uses. there is a difference between the speed the cpu runs on (Mhz) and the amount of Electricity (Volts) it gets fed
Say Qualcomm has said it needs 5 volts to run at the stock frequency of 600Mhz, then the processor will always get 5 Volts, no matter which frequency it uses.
Undervolting will feed it less than the 5Volts when the frequencies are lower, SmartAss won't do that, it will run the 19Mhz still on 5Volts.
(Voltages are examples, i don't know the exact values, but I know that running on 122 or less will be stable on less than half of the nominal power)
SmG67 said:
The SmartAss Governor only governs the frequencies, not the voltage that the Processor uses. there is a difference between the speed the cpu runs on (Mhz) and the amount of Electricity (Volts) it gets fed
Say Qualcomm has said it needs 5 volts to run at the stock frequency of 600Mhz, then the processor will always get 5 Volts, no matter which frequency it uses.
Undervolting will feed it less than the 5Volts when the frequencies are lower, SmartAss won't do that, it will run the 19Mhz still on 5Volts.
(Voltages are examples, i don't know the exact values, but I know that running on 122 or less will be stable on less than half of the nominal power)
Click to expand...
Click to collapse
Nice yes yes. good reply. now I know whats the use of undervolting. thanks for the explanation
SmG67 said:
The SmartAss Governor only governs the frequencies, not the voltage that the Processor uses. there is a difference between the speed the cpu runs on (Mhz) and the amount of Electricity (Volts) it gets fed
Say Qualcomm has said it needs 5 volts to run at the stock frequency of 600Mhz, then the processor will always get 5 Volts, no matter which frequency it uses.
Undervolting will feed it less than the 5Volts when the frequencies are lower, SmartAss won't do that, it will run the 19Mhz still on 5Volts.
(Voltages are examples, i don't know the exact values, but I know that running on 122 or less will be stable on less than half of the nominal power)
Click to expand...
Click to collapse
nice to see some piece of truth over here (not perfect, but well explained)
de-noobing is good from time to time
xda is overcrowded of false answers given by people thinking they know but don't
anywhere, at anytime, newbies asking get fake answers from people wanting to help but failing to do so , due to lack of knowledge.
as everyone, i might be one of these, but try not to be.
make sure you know what you are talking about before spreading your (incomplete or false) knowledge
this was my thought of the day
matmutant said:
nice to see some piece of truth over here (not perfect, but well explained)
de-noobing is good from time to time
xda is overcrowded of false answers given by people thinking they know but don't
anywhere, at anytime, newbies asking get fake answers from people wanting to help but failing to do so , due to lack of knowledge.
as everyone, i might be one of these, but try not to be.
make sure you know what you are talking about before spreading your (incomplete or false) knowledge
this was my thought of the day
Click to expand...
Click to collapse
Would you mind to add that to FAQs to avoid false answers?
Tom.K said:
Would you mind to add that to FAQs to avoid false answers?
Click to expand...
Click to collapse
of course i don't
do you mean only the explanation about oc/uv ?
i can add it, note that a while ago i wrote pieces of information about those things
Hey, thanks a lot for all the replies. I had no idea why my settings worked like i wanted.

How To Guide Better battery life and less heat-up

A great way to reduce heat generated on the xperia 1 iii/5 iii also gain bit more battery life.
There was a debate on why the snapdragon 888 heats up and the 2 reasons most told was ''Samsung's manufacturing process'' and that the "GPU was overclocked to 800+ Mhz to excel in benchmark"
I reduced the GPU freq to 491 Mhz, I had top temp 45 Celsius, before it went past 50 Celsius . So in the end reduced a bit of CPU and GPU and got good battery life and way less hot.
First root phone.
Then install
3c cpu manager - Android Apps on Google Play
Enjoy millions of the latest Android apps, games, music, movies, TV, books, magazines & more. Anytime, anywhere, across your devices.
play.google.com
Any settings from this application is temporary, as you restart the phone the frequency are back to default, only change maximum freq nothing else don't change the governors.
My settings:
CPU 1: Max freq = 998 Mhz
CPU 2: Max Freq = 1.2 Mhz
CPU 3: Max Freq = 1.3 Mhz
GPU : Max Freq = 419 Mhz
Try and post the experience and if any improvement (Mention with region model numbers)
:-Since rooted might want to try call recording , great app. Since native sony doesn't support call recording in many regions.
Releases · chenxiaolong/BCR
A Basic Call Recorder for rooted Android devices. Contribute to chenxiaolong/BCR development by creating an account on GitHub.
github.com
Tried your settings but after reboot it doesn't stick it reverts back to original settings
Mangtas_666 said:
Tried your settings but after reboot it doesn't stick it reverts back to original settings
Click to expand...
Click to collapse
Yes it wont stick, untill you flash modified kernel it doesn't stick but if you dont reboot it wont go. Also after setting the frequency, wait for the phone to sleep once then temperature stays to a max and for me the battery life increased, without any performance degrade.
Yeah the issue is there is no modified kernel out there for our device. Kirisakura kernel does not fully support our xperia 1 iii. Sony haven't released their source code.
Try the application and if you dont like to keep the application you can remove it, still it keeps the frequency you set, till you restart the device. Main for heating up in phone is the GPU, as per what i learned, reducing its frequency itself , reduced heat a lot. Try and let know your SOT and heat temperature avg.
Yeah i have EXkernel manager it indeed lessen the heat specially when gaming.
Kirisakura kernel supports our device now..

Categories

Resources