i win :VManaged to run Slingshot Extreme Unlimited OpenGL. It throttled a little bit on GPU down to 764MHz at the end, and throttled a lot on CPU. So yeah, there is potential.
View attachment 5646113
i win :VManaged to run Slingshot Extreme Unlimited OpenGL. It throttled a little bit on GPU down to 764MHz at the end, and throttled a lot on CPU. So yeah, there is potential.
View attachment 5646113
About time
What about ACE in the hole of Galaxy S8 Kernel development?Well, maybe I should change the thread title in "Hardcore Overclockers and Modding for the S8"![]()
Many, MANY people still use the S8. And the presence of your Kernel to prolong the lifetime of this device is surely welcomed.I've noticed that since I've released the first GPU OC kernel this thread gained again more hits per day like 3 years ago. Actually it has over 1000 hits per day, this is not so bad for a 5 years old phone lol.
<6>dvfs_type : dvfs_mif - id : 0
<6> num_of_lv : 12
<6> num_of_members : 4
<6> lv : [2093000], volt = 0 uV
<6> lv : [2002000], volt = 0 uV
<6> lv : [1794000], volt = 762500 uV
<6> lv : [1540000], volt = 712500 uV
<6> lv : [1352000], volt = 675000 uV
<6> lv : [1014000], volt = 637500 uV
<6> lv : [ 845000], volt = 606250 uV
<6> lv : [ 676000], volt = 593750 uV
<6> lv : [ 546000], volt = 587500 uV
<6> lv : [ 421000], volt = 581250 uV
<6> lv : [ 286000], volt = 581250 uV
<6> lv : [ 208000], volt = 581250 uV
<6>dvfs_type : dvfs_int - id : 1
<6> num_of_lv : 7
<6> num_of_members : 16
<6> lv : [ 667000], volt = 781250 uV
<6> lv : [ 533000], volt = 756250 uV
<6> lv : [ 400000], volt = 643750 uV
<6> lv : [ 333000], volt = 612500 uV
<6> lv : [ 267000], volt = 587500 uV
<6> lv : [ 178000], volt = 575000 uV
<6> lv : [ 107000], volt = 575000 uV
<6>dvfs_type : dvfs_cpucl0 - id : 2
<6> num_of_lv : 18
<6> num_of_members : 1
<6> lv : [2808000], volt = 1206250 uV
<6> lv : [2704000], volt = 1150000 uV
<6> lv : [2652000], volt = 1125000 uV
<6> lv : [2574000], volt = 1081250 uV
<6> lv : [2496000], volt = 1037500 uV
<6> lv : [2314000], volt = 962500 uV
<6> lv : [2158000], volt = 906250 uV
<6> lv : [2002000], volt = 868750 uV
<6> lv : [1937000], volt = 850000 uV
<6> lv : [1807000], volt = 812500 uV
<6> lv : [1703000], volt = 781250 uV
<6> lv : [1469000], volt = 737500 uV
<6> lv : [1261000], volt = 706250 uV
<6> lv : [1170000], volt = 687500 uV
<6> lv : [1066000], volt = 668750 uV
<6> lv : [ 962000], volt = 656250 uV
<6> lv : [ 858000], volt = 643750 uV
<6> lv : [ 741000], volt = 625000 uV
<6>dvfs_type : dvfs_cpucl1 - id : 3
<6> num_of_lv : 12
<6> num_of_members : 1
<6> lv : [2002000], volt = 1137500 uV
<6> lv : [1898000], volt = 1137500 uV
<6> lv : [1794000], volt = 1137500 uV
<6> lv : [1690000], volt = 1062500 uV
<6> lv : [1456000], volt = 937500 uV
<6> lv : [1248000], volt = 831250 uV
<6> lv : [1053000], volt = 775000 uV
<6> lv : [ 949000], volt = 743750 uV
<6> lv : [ 832000], volt = 712500 uV
<6> lv : [ 715000], volt = 675000 uV
<6> lv : [ 598000], volt = 643750 uV
<6> lv : [ 455000], volt = 618750 uV
<6>dvfs_type : dvfs_g3d - id : 4
<6> num_of_lv : 9
<6> num_of_members : 1
<6> lv : [ 839000], volt = 0 uV
<6> lv : [ 764000], volt = 0 uV
<6> lv : [ 683000], volt = 0 uV
<6> lv : [ 572000], volt = 718750 uV
<6> lv : [ 546000], volt = 706250 uV
<6> lv : [ 455000], volt = 693750 uV
<6> lv : [ 385000], volt = 693750 uV
<6> lv : [ 338000], volt = 693750 uV
<6> lv : [ 260000], volt = 693750 uV
<6>dvfs_type : dvfs_intcam - id : 5
<6> num_of_lv : 4
<6> num_of_members : 4
<6> lv : [ 690000], volt = 812500 uV
<6> lv : [ 680000], volt = 687500 uV
<6> lv : [ 670000], volt = 637500 uV
<6> lv : [ 640000], volt = 575000 uV
<6>dvfs_type : dvfs_cam - id : 6
<6> num_of_lv : 7
<6> num_of_members : 22
<6> lv : [ 690000], volt = 793750 uV
<6> lv : [ 680000], volt = 793750 uV
<6> lv : [ 670000], volt = 756250 uV
<6> lv : [ 660000], volt = 693750 uV
<6> lv : [ 650000], volt = 693750 uV
<6> lv : [ 640000], volt = 575000 uV
<6> lv : [ 630000], volt = 575000 uV
<6>dvfs_type : dvfs_disp - id : 7
<6> num_of_lv : 5
<6> num_of_members : 2
<6> lv : [ 630000], volt = 750000 uV
<6> lv : [ 533000], volt = 712500 uV
<6> lv : [ 356000], volt = 631250 uV
<6> lv : [ 214000], volt = 587500 uV
<6> lv : [ 134000], volt = 575000 uV
<6>dvfs_type : dvs_g3dm - id : 8
<6> num_of_lv : 9
<6> num_of_members : 1
<6> lv : [ 839000], volt = 0 uV
<6> lv : [ 764000], volt = 0 uV
<6> lv : [ 683000], volt = 0 uV
<6> lv : [ 572000], volt = 718750 uV
<6> lv : [ 546000], volt = 712500 uV
<6> lv : [ 455000], volt = 700000 uV
<6> lv : [ 385000], volt = 700000 uV
<6> lv : [ 338000], volt = 700000 uV
<6> lv : [ 260000], volt = 700000 uV
<6>dvfs_type : dvs_cp - id : 9
<6> num_of_lv : 3
<6> num_of_members : 1
<6> lv : [1500000], volt = 850000 uV
<6> lv : [1066000], volt = 731250 uV
<6> lv : [ 800000], volt = 731250 uV
Yeah as I said in the past, your stock voltages are lower than my stock table. Also I agree, not much benefit in tryharding to unlock RAM at 2093MHz on this. While GPU may benefit a bit from the extra bandwidth, I doubt it would behave like a Ryzen iGPU (The more bandwidth, the merrier, essentially since the Mali G71 MP20 is much slower and I doubt it would ever run into bandwidth issues even running at 839MHz. That could be an issue with the Exynos 9810, since I heard that its GPU shares a lot with the CPU.@TechNoobForSale
btw this is my stock dvfs table:
Code:<6>dvfs_type : dvfs_mif - id : 0 <6> num_of_lv : 12 <6> num_of_members : 4 <6> lv : [2093000], volt = 0 uV <6> lv : [2002000], volt = 0 uV <6> lv : [1794000], volt = 762500 uV <6> lv : [1540000], volt = 712500 uV <6> lv : [1352000], volt = 675000 uV <6> lv : [1014000], volt = 637500 uV <6> lv : [ 845000], volt = 606250 uV <6> lv : [ 676000], volt = 593750 uV <6> lv : [ 546000], volt = 587500 uV <6> lv : [ 421000], volt = 581250 uV <6> lv : [ 286000], volt = 581250 uV <6> lv : [ 208000], volt = 581250 uV <6>dvfs_type : dvfs_int - id : 1 <6> num_of_lv : 7 <6> num_of_members : 16 <6> lv : [ 667000], volt = 781250 uV <6> lv : [ 533000], volt = 756250 uV <6> lv : [ 400000], volt = 643750 uV <6> lv : [ 333000], volt = 612500 uV <6> lv : [ 267000], volt = 587500 uV <6> lv : [ 178000], volt = 575000 uV <6> lv : [ 107000], volt = 575000 uV <6>dvfs_type : dvfs_cpucl0 - id : 2 <6> num_of_lv : 18 <6> num_of_members : 1 <6> lv : [2808000], volt = 1206250 uV <6> lv : [2704000], volt = 1150000 uV <6> lv : [2652000], volt = 1125000 uV <6> lv : [2574000], volt = 1081250 uV <6> lv : [2496000], volt = 1037500 uV <6> lv : [2314000], volt = 962500 uV <6> lv : [2158000], volt = 906250 uV <6> lv : [2002000], volt = 868750 uV <6> lv : [1937000], volt = 850000 uV <6> lv : [1807000], volt = 812500 uV <6> lv : [1703000], volt = 781250 uV <6> lv : [1469000], volt = 737500 uV <6> lv : [1261000], volt = 706250 uV <6> lv : [1170000], volt = 687500 uV <6> lv : [1066000], volt = 668750 uV <6> lv : [ 962000], volt = 656250 uV <6> lv : [ 858000], volt = 643750 uV <6> lv : [ 741000], volt = 625000 uV <6>dvfs_type : dvfs_cpucl1 - id : 3 <6> num_of_lv : 12 <6> num_of_members : 1 <6> lv : [2002000], volt = 1137500 uV <6> lv : [1898000], volt = 1137500 uV <6> lv : [1794000], volt = 1137500 uV <6> lv : [1690000], volt = 1062500 uV <6> lv : [1456000], volt = 937500 uV <6> lv : [1248000], volt = 831250 uV <6> lv : [1053000], volt = 775000 uV <6> lv : [ 949000], volt = 743750 uV <6> lv : [ 832000], volt = 712500 uV <6> lv : [ 715000], volt = 675000 uV <6> lv : [ 598000], volt = 643750 uV <6> lv : [ 455000], volt = 618750 uV <6>dvfs_type : dvfs_g3d - id : 4 <6> num_of_lv : 9 <6> num_of_members : 1 <6> lv : [ 839000], volt = 0 uV <6> lv : [ 764000], volt = 0 uV <6> lv : [ 683000], volt = 0 uV <6> lv : [ 572000], volt = 718750 uV <6> lv : [ 546000], volt = 706250 uV <6> lv : [ 455000], volt = 693750 uV <6> lv : [ 385000], volt = 693750 uV <6> lv : [ 338000], volt = 693750 uV <6> lv : [ 260000], volt = 693750 uV <6>dvfs_type : dvfs_intcam - id : 5 <6> num_of_lv : 4 <6> num_of_members : 4 <6> lv : [ 690000], volt = 812500 uV <6> lv : [ 680000], volt = 687500 uV <6> lv : [ 670000], volt = 637500 uV <6> lv : [ 640000], volt = 575000 uV <6>dvfs_type : dvfs_cam - id : 6 <6> num_of_lv : 7 <6> num_of_members : 22 <6> lv : [ 690000], volt = 793750 uV <6> lv : [ 680000], volt = 793750 uV <6> lv : [ 670000], volt = 756250 uV <6> lv : [ 660000], volt = 693750 uV <6> lv : [ 650000], volt = 693750 uV <6> lv : [ 640000], volt = 575000 uV <6> lv : [ 630000], volt = 575000 uV <6>dvfs_type : dvfs_disp - id : 7 <6> num_of_lv : 5 <6> num_of_members : 2 <6> lv : [ 630000], volt = 750000 uV <6> lv : [ 533000], volt = 712500 uV <6> lv : [ 356000], volt = 631250 uV <6> lv : [ 214000], volt = 587500 uV <6> lv : [ 134000], volt = 575000 uV <6>dvfs_type : dvs_g3dm - id : 8 <6> num_of_lv : 9 <6> num_of_members : 1 <6> lv : [ 839000], volt = 0 uV <6> lv : [ 764000], volt = 0 uV <6> lv : [ 683000], volt = 0 uV <6> lv : [ 572000], volt = 718750 uV <6> lv : [ 546000], volt = 712500 uV <6> lv : [ 455000], volt = 700000 uV <6> lv : [ 385000], volt = 700000 uV <6> lv : [ 338000], volt = 700000 uV <6> lv : [ 260000], volt = 700000 uV <6>dvfs_type : dvs_cp - id : 9 <6> num_of_lv : 3 <6> num_of_members : 1 <6> lv : [1500000], volt = 850000 uV <6> lv : [1066000], volt = 731250 uV <6> lv : [ 800000], volt = 731250 uV
the table you see on post #3 is already auto optimized from latest kernel for the better stablity. (e.g. little CPU @ 2GHz stable)
As you can see MIF voltage for the first 2 steps is just "0", I've added voltage as well, but it doesn't accept max_freq above our stock max. Or maybe my phone just can't handle it. Anyway, honestly I don't care much, as I don't think that would bring much more speed. Our stock max freq is already fast enough. Working on new test kernel lol.
until it can beat all s9 seriesWell, maybe I should change the thread title in "Hardcore Overclockers and Modding for the S8"![]()
the more transistor and more small the transistor that make a SOC, CPU, or GPU faster like if you have 3 transistor at 100mhz it can lose by 6 transistor at 50mhzYeah as I said in the past, your stock voltages are lower than my stock table. Also I agree, not much benefit in tryharding to unlock RAM at 2093MHz on this. While GPU may benefit a bit from the extra bandwidth, I doubt it would behave like a Ryzen iGPU (The more bandwidth, the merrier, essentially since the Mali G71 MP20 is much slower and I doubt it would ever run into bandwidth issues even running at 839MHz. That could be an issue with the Exynos 9810, since I heard that its GPU shares a lot with the CPU.
Yes but that’s not my point at all.the more transistor and more small the transistor that make a SOC, CPU, or GPU faster like if you have 3 transistor at 100mhz it can lose by 6 transistor at 50mhz
Well, I don’t want to be “that guy”. We DID just match or slightly beat the S9 series GPU at stock and we wreck it in user experience thanks to Ace’s effort. But we have no hope of matching the CPU. It’s too far ahead. 2808MHz would get us remotely close but said frequency is nearly impossible to achieve AND sustain.
without charging, i get heavy shuttering, and high cpu usage (cpu spikes). Anyway, the gpu is not important for me, i never playing games on my phone. I just want to know the limitsRemember that it depends on what you mean with "not stable"
If the GPU benchmarks are STUTTERING and GPU usage is low, then you need the fast charger. If benchmarks are FREEZING/phone is rebooting, you need more voltage, or simply your limit is at 764MHz.
Remember that it depends on what you mean with "not stable"I will try that, thanks for the tip. (i dont have quickcharger at the moment, tomorrow i will try it)
That's kind of how it works due to how much voltage the battery can deliver in a given moment, but for most of us, 650mV at 764MHz is impossible. I crash at 720mV @764MHz, I needed 730mV. My 839MHz is super stable at 760mV.Guys, try to lower the gpu voltage, my phone is stable [email protected], with a ****ty gpu. If you have cpu spikes (shutter) try to rise the voltage with little stepps.
**edit> 0.63V
It was 100% not due GPU instability but due to lower power from battery. There were 0 graphical glitches. No blackscreens. Nothing. Just stuttering, temp was low and GPU usage kept going from 0 to 40 then 99 then back to 0. It's definitely a battery problem. I will go at it like I did in the past, and keep the charging cable in.Hmm strange. Later i'll check the GPU governor, maybe it can't handle those higher steps. On the other hand it's known that a GPU that is actually not running fully stable due to too high freq or too low power will cause such bad performance. You may can face even some graphical glitches.
Yeah because I've increased voltage for the highest CPU steps, same for the big core. What you say is right about cold battery --> less power.
But you can bypass this with charger cable, just use any powerful charger like the original one and enable battery idle. This will give to the phone 3 Ampere constant. You even don't need to set charging current @ max possible because the driver do this automatically now on latest release.
Another weird thing is that I didn't manage to run 2,8 GHz stable. Original voltage for me was 1,2 V and even with 1,4 or 1,5 V it didn't run stable. Now you will be probably surprised once again, what we actually did was to unlock voltage regulator and ability to increase max allowed voltage for each regulator.
E.g. original GPU max allowed voltage was 850 mV and I've set it @ 1000 mV and after several test it seems that the voltage above 850 mV is accepted since I can track higher GPU temp.
So this works. Then later just because 2,8 GHz never worked stable even with insane OV (overvolting) DVFS 95 °C instead of 100 °C to be sure that it doesn't crash due to overheating... I was reading some documentation in source code about the regulators and found out that there is even the ability to throttle the max current (uA) from the regulator. But I didn't pay much attention because it doesn't seem to be used in our source code. But it's supported, that means if I specify a max allowed current then maybe that will be used lets say instead to used a max default current hardcoded in the hardware itself. Maybe I try this hack next time. If that will not work, then it's just hardware limitation that it can't provide enough power. If so, you should be able to reach higher Freqs when OC only CPU or GPU !
You want me to be honest? Your frequency scaling driver is already extremely fast and I hardly ever noticed lags. So even if the CPU is at 741MHz, it will go up to 2314 immediately if needed. It's really a non issue. That's a problem stock Samsung driver has, which sucks badly. But if you want to make it even better, be my guest lmao.Yes, send me your e.mail address.
Send me e.mail, you get my e.mail from Google Play, check developer contact info.
Note this offer is totally limited to avoid abuse.
Nice indeed. As for lower CPU speeds, hmm not really.. but changed some defaults. Yeah A2N app requires an update, but for now I'm waiting if GPU OC is stable enough for everybody.
In A2N v. 4.8 you can set the following settings to get latest optimized kernel defaults:
page-cluster = 3
read_ahead_kb = 512
Input booster = 500 ms.
Other than that, updated performance plus profile defaults ... in A2N app v. 4.9.
Btw I'm planning to reduce CPU / GPU Freq steps in order to increase performance and reducing lags caused by too excessive Freq switching. Can't say how much it'll improve benchmark scores but it should run noticeable smoother then.
adb shell
su
cd /sys/power
# print dvfs table so we can see current votlage table !
echo 1 > print_dvfs_table
dmesg
[ 5808.312763] dvfs_type : dvfs_mif - id : 0
[ 5808.312784] num_of_lv : 12
[ 5808.312791] num_of_members : 4
[ 5808.312802] lv : [2093000], volt = 850000 uV
[ 5808.312814] lv : [2002000], volt = 850000 uV
[ 5808.312825] lv : [1794000], volt = 762500 uV
[ 5808.312835] lv : [1540000], volt = 712500 uV
[ 5808.312846] lv : [1352000], volt = 675000 uV
[ 5808.312856] lv : [1014000], volt = 637500 uV
[ 5808.312867] lv : [ 845000], volt = 606250 uV
[ 5808.312877] lv : [ 676000], volt = 593750 uV
[ 5808.312887] lv : [ 546000], volt = 587500 uV
[ 5808.312896] lv : [ 421000], volt = 581250 uV
[ 5808.312907] lv : [ 286000], volt = 581250 uV
[ 5808.312917] lv : [ 208000], volt = 581250 uV
[ 5808.312938] dvfs_type : dvfs_int - id : 1
[ 5808.312945] num_of_lv : 7
[ 5808.312951] num_of_members : 16
[ 5808.312962] lv : [ 667000], volt = 781250 uV
[ 5808.312972] lv : [ 533000], volt = 756250 uV
[ 5808.312982] lv : [ 400000], volt = 643750 uV
[ 5808.312991] lv : [ 333000], volt = 612500 uV
[ 5808.313001] lv : [ 267000], volt = 587500 uV
[ 5808.313011] lv : [ 178000], volt = 575000 uV
[ 5808.313020] lv : [ 107000], volt = 575000 uV
[ 5808.313040] dvfs_type : dvfs_cpucl0 - id : 2
[ 5808.313047] num_of_lv : 18
[ 5808.313053] num_of_members : 1
[ 5808.313062] lv : [2808000], volt = 1300000 uV
[ 5808.313071] lv : [2704000], volt = 1175000 uV
[ 5808.313082] lv : [2652000], volt = 1150000 uV
[ 5808.313092] lv : [2574000], volt = 1081250 uV
[ 5808.313102] lv : [2496000], volt = 1037500 uV
[ 5808.313113] lv : [2314000], volt = 962500 uV
[ 5808.313123] lv : [2158000], volt = 906250 uV
[ 5808.313133] lv : [2002000], volt = 868750 uV
[ 5808.313144] lv : [1937000], volt = 850000 uV
[ 5808.313154] lv : [1807000], volt = 812500 uV
[ 5808.313164] lv : [1703000], volt = 781250 uV
[ 5808.313175] lv : [1469000], volt = 737500 uV
[ 5808.313185] lv : [1261000], volt = 706250 uV
[ 5808.313196] lv : [1170000], volt = 687500 uV
[ 5808.313206] lv : [1066000], volt = 668750 uV
[ 5808.313216] lv : [ 962000], volt = 656250 uV
[ 5808.313227] lv : [ 858000], volt = 643750 uV
[ 5808.313237] lv : [ 741000], volt = 625000 uV
[ 5808.313256] dvfs_type : dvfs_cpucl1 - id : 3
[ 5808.313262] num_of_lv : 12
[ 5808.313268] num_of_members : 1
[ 5808.313279] lv : [2002000], volt = 1300000 uV
[ 5808.313289] lv : [1898000], volt = 1200000 uV
[ 5808.313300] lv : [1794000], volt = 1137500 uV
[ 5808.313310] lv : [1690000], volt = 1062500 uV
[ 5808.313321] lv : [1456000], volt = 937500 uV
[ 5808.313331] lv : [1248000], volt = 831250 uV
[ 5808.313342] lv : [1053000], volt = 775000 uV
[ 5808.313352] lv : [ 949000], volt = 743750 uV
[ 5808.313363] lv : [ 832000], volt = 712500 uV
[ 5808.313373] lv : [ 715000], volt = 675000 uV
[ 5808.313384] lv : [ 598000], volt = 643750 uV
[ 5808.313394] lv : [ 455000], volt = 618750 uV
[ 5808.313413] dvfs_type : dvfs_g3d - id : 4
[ 5808.313419] num_of_lv : 9
[ 5808.313426] num_of_members : 1
[ 5808.313436] lv : [ 839000], volt = 750000 uV
[ 5808.313447] lv : [ 764000], volt = 750000 uV
[ 5808.313457] lv : [ 683000], volt = 700000 uV
[ 5808.313467] lv : [ 572000], volt = 718750 uV
[ 5808.313478] lv : [ 546000], volt = 706250 uV
[ 5808.313488] lv : [ 455000], volt = 693750 uV
[ 5808.313499] lv : [ 385000], volt = 693750 uV
[ 5808.313509] lv : [ 338000], volt = 693750 uV
[ 5808.313520] lv : [ 260000], volt = 693750 uV
[ 5808.313539] dvfs_type : dvfs_intcam - id : 5
[ 5808.313545] num_of_lv : 4
[ 5808.313551] num_of_members : 4
[ 5808.313561] lv : [ 690000], volt = 812500 uV
[ 5808.313572] lv : [ 680000], volt = 687500 uV
[ 5808.313583] lv : [ 670000], volt = 637500 uV
[ 5808.313593] lv : [ 640000], volt = 575000 uV
[ 5808.313610] dvfs_type : dvfs_cam - id : 6
[ 5808.313616] num_of_lv : 7
[ 5808.313623] num_of_members : 22
[ 5808.313633] lv : [ 690000], volt = 793750 uV
[ 5808.313644] lv : [ 680000], volt = 793750 uV
[ 5808.313654] lv : [ 670000], volt = 756250 uV
[ 5808.313665] lv : [ 660000], volt = 693750 uV
[ 5808.313675] lv : [ 650000], volt = 693750 uV
[ 5808.313685] lv : [ 640000], volt = 575000 uV
[ 5808.313696] lv : [ 630000], volt = 575000 uV
[ 5808.313713] dvfs_type : dvfs_disp - id : 7
[ 5808.313719] num_of_lv : 5
[ 5808.313725] num_of_members : 2
[ 5808.313735] lv : [ 630000], volt = 750000 uV
[ 5808.313746] lv : [ 533000], volt = 712500 uV
[ 5808.313756] lv : [ 356000], volt = 631250 uV
[ 5808.313767] lv : [ 214000], volt = 587500 uV
[ 5808.313777] lv : [ 134000], volt = 575000 uV
[ 5808.313794] dvfs_type : dvs_g3dm - id : 8
[ 5808.313800] num_of_lv : 9
[ 5808.313807] num_of_members : 1
[ 5808.313817] lv : [ 839000], volt = 0 uV
[ 5808.313827] lv : [ 764000], volt = 0 uV
[ 5808.313837] lv : [ 683000], volt = 0 uV
[ 5808.313847] lv : [ 572000], volt = 718750 uV
[ 5808.313858] lv : [ 546000], volt = 712500 uV
[ 5808.313869] lv : [ 455000], volt = 700000 uV
[ 5808.313880] lv : [ 385000], volt = 700000 uV
[ 5808.313890] lv : [ 338000], volt = 700000 uV
[ 5808.313900] lv : [ 260000], volt = 700000 uV
[ 5808.313917] dvfs_type : dvs_cp - id : 9
[ 5808.313924] num_of_lv : 3
[ 5808.313930] num_of_members : 1
[ 5808.313940] lv : [1500000], volt = 850000 uV
[ 5808.313951] lv : [1066000], volt = 731250 uV
[ 5808.313961] lv : [ 800000], volt = 731250 uV
# lets say you want to undervolt big CPU Freq step 2314 MHz @ 900 mV:
# the format string is here: "rate volt" (KHz uV)
echo "2314000 900000" > cpu_big_volt
# after that you could again print the dvfs table to verify if new voltage was successfully applied.
echo 1 > print_dvfs_table
dmesg
# now lets say you want to undervolt little CPU Freq step 1690 MHz @ 950 mV:
# the format string is here: "rate volt" (KHz uV)
echo "1690000 950000" > cpu_lit_volt
# now likely you want to undervolt GPU Freq step 546 MHz @ 650 mV:
# the format string is here: "rate volt" (KHz uV)
cd /sys/kernel/gpu
# first check current GPU volt table:
cat gpu_asv_table
GPU, vol, min, max, down_stay, mif, cpu0, cpu1
839000, 750000, 43, 75, 1, 2093000, 0, 0
764000, 750000, 42, 75, 1, 2093000, 0, 0
683000, 700000, 38, 75, 1, 2093000, 0, 0
572000, 718750, 47, 75, 1, 2093000, 0, 0
546000, 706250, 37, 75, 1, 2093000, 0, 0
455000, 693750, 38, 75, 1, 2093000, 0, 0
385000, 693750, 41, 75, 1, 2093000, 0, 0
338000, 693750, 33, 75, 1, 2093000, 0, 0
260000, 693750, 33, 75, 1, 1352000, 0, 0
echo "546000 650000" > gpu_volt
# and check ...
cat gpu_asv_table
GPU, vol, min, max, down_stay, mif, cpu0, cpu1
839000, 750000, 43, 75, 1, 2093000, 0, 0
764000, 750000, 42, 75, 1, 2093000, 0, 0
683000, 700000, 38, 75, 1, 2093000, 0, 0
572000, 718750, 47, 75, 1, 2093000, 0, 0
546000, 650000, 37, 75, 1, 2093000, 0, 0
455000, 693750, 38, 75, 1, 2093000, 0, 0
385000, 693750, 41, 75, 1, 2093000, 0, 0
338000, 693750, 33, 75, 1, 2093000, 0, 0
260000, 693750, 33, 75, 1, 1352000, 0, 0
# you can undervolt every single step, so lets undervolt 455 MHz step as well @ 650 mV:
echo "455000 650000" > gpu_volt
# now maybe you want even to undervolt RAM.
# we need to go again to /sys/power ...
cd /sys/power
# take a look at the dvfs table, the very first entry "dvfs_mif - id : 0"
this is RAM freq - volt table and our max_freq is 1794 MHz.
# we will undervolt Freq step 1794 MHz @ 700 mV:
# the format string is here: "id rate volt" (intent KHz uV)
# this sysfs interface is universal and you can undervolt any voltage table you want by using the corresponding "id":
echo "0 1794000 700000" > update_dvfs_table
# and verify:
echo 1 > print_dvfs_table
dmesg
# id 4 would be for GPU (dvfs_g3d) and so on ...
# to run all the cmds for undervolting at boot, just do something like this:
# open the script /system/etc/init.d.a2n/a2n_user and copy paste your cmds:
cd /sys/power
echo "2314000 900000" > cpu_big_volt
echo "1690000 950000" > cpu_lit_volt
echo "0 1794000 700000" > update_dvfs_table
cd /sys/kernel/gpu
echo "546000 650000" > gpu_volt
echo "455000 650000" > gpu_volt
# under the line: "# A2N init.d Script"
# save and enjoy !