[GUIDE] Snapdragon 805/801/800/600 Clock & Voltage (PVS bin) guide - One (M8) General

hi
i did some research regarding the topic and want to share my finds/work with everyone.
the comparison shows all pvs of MSM8974AB 2.3ghz (one m8 - pro_rev1_2p3g) and MSM8974AC (gs5 - pro_rev1_2p5g).
all table data manually taken from latest one m8 kernel sources.
in addition i added one m7 (APQ8064) and lumia 930 (2p2g) chips (pvs0 and pvs6) for intresting comparison.
with this guide in combination with root access, custom kernel and trickster mod you can find out your cpu's pvs bin (compare default voltages).
alternative to find your pvs: adb shell from recovery (su) "cat /proc/last_kmsg | grep bin: -i".
also it serves as a template to try out higher pvs settings on your cpu.
as you see, qualcomm did some impressive work with binning and trying to get most out of each cpu.
however there is usually still some headroom for optimizations if you do some efforts.
same research i already did for the m7 (APQ8064 compared to APQ8064T of galaxy s4) if someone is intrested (let me know).
happy clocking/volting!
i take no responsibilities for potential harm you do to your device. all on your own risk.
please share your results of which pvs level works on your personal chip (also tell stock pvs value of course).
preview:
{
"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"
}
download link:
PVS Research.xls
best max frequency (sweet performance/power spot):
MSM8974AB 2.3ghz - 1.34ghz
MSM8974AC 2.5ghz - 1.57ghz
MSM8974v2 2.2ghz - 1.34ghz
APQ8064 1.7ghz - 1.24ghz
APQ8064T 1.9ghz - 1.35ghz
best screen-off frequency (this varies if you try higher pvs settings):
Snapdragon 801 2.3ghz MSM8974AB - One M8
MSM8974AB 2.3ghz PVS 0 - 300mhz
MSM8974AB 2.3ghz PVS 1 - 346mhz
MSM8974AB 2.3ghz PVS 2 - 422mhz
MSM8974AB 2.3ghz PVS 3 - 499mhz
MSM8974AB 2.3ghz PVS 4 - 576mhz
MSM8974AB 2.3ghz PVS 5 - 652mhz
MSM8974AB 2.3ghz PVS 6 - 499mhz
MSM8974AB 2.3ghz PVS 7 - 576mhz
MSM8974AB 2.3ghz PVS 8 - 652mhz
MSM8974AB 2.3ghz PVS 9 - 729mhz
MSM8974AB 2.3ghz PVS 10 - 806mhz
MSM8974AB 2.3ghz PVS 11 - 883mhz
MSM8974AB 2.3ghz PVS 12 - 960mhz
MSM8974AB 2.3ghz PVS 13 - 1036mhz
MSM8974AB 2.3ghz PVS 14 - 960mhz
MSM8974AB 2.3ghz PVS 15 - 1036mhz
Snapdragon 801 2.5ghz MSM8974AC - Galaxy S5
MSM8974AC 2.5ghz PVS 0 - 422mhz
MSM8974AC 2.5ghz PVS 1 - 499mhz
MSM8974AC 2.5ghz PVS 2 - 576mhz
MSM8974AC 2.5ghz PVS 3 - 652mhz
MSM8974AC 2.5ghz PVS 4 - 729mhz
MSM8974AC 2.5ghz PVS 5 - 806mhz
MSM8974AC 2.5ghz PVS 6 - 652mhz
MSM8974AC 2.5ghz PVS 7 - 729mhz
MSM8974AC 2.5ghz PVS 8 - 806mhz
MSM8974AC 2.5ghz PVS 9 - 883mhz
MSM8974AC 2.5ghz PVS 10 - 960mhz
MSM8974AC 2.5ghz PVS 11 - 1036mhz
MSM8974AC 2.5ghz PVS 12 - 1113mhz
MSM8974AC 2.5ghz PVS 13 - 1190mhz
MSM8974AC 2.5ghz PVS 14 - 1113mhz
MSM8974AC 2.5ghz PVS 15 - 1190mhz
Snapdragon 800v2 2.2ghz MSM8974v2
MSM8974v2 2.2ghz PVS 0 - 345mhz
MSM8974v2 2.2ghz PVS 1 - 499mhz
MSM8974v2 2.2ghz PVS 2 - 422mhz
MSM8974v2 2.2ghz PVS 3 - 499mhz
MSM8974v2 2.2ghz PVS 4 - 576mhz
MSM8974v2 2.2ghz PVS 5 - 499mhz
MSM8974v2 2.2ghz PVS 6 - 576mhz
Snapdragon 600 1.7ghz APQ8064 - One M7
APQ8064 1.7ghz PVS 0 - 594mhz
APQ8064 1.7ghz PVS 1 - 594mhz
APQ8064 1.7ghz PVS 2 - 702mhz
APQ8064 1.7ghz PVS 3 - 810mhz
APQ8064 1.7ghz PVS 4 - 702mhz
APQ8064 1.7ghz PVS 5 - 810mhz
APQ8064 1.7ghz PVS 6 - 702mhz
Snapdragon 600 1.9ghz APQ8064T - Galaxy S4
APQ8064T 1.9ghz PVS 0 - 702mhz
APQ8064T 1.9ghz PVS 1 - 702mhz
APQ8064T 1.9ghz PVS 2 - 702mhz
APQ8064T 1.9ghz PVS 3 - 810mhz
APQ8064T 1.9ghz PVS 4 - 702mhz
APQ8064T 1.9ghz PVS 5 - 702mhz
APQ8064T 1.9ghz PVS 6 - 702mhz
best min frequency:
lowest possible setting (300mhz in case of MSM8974)
i highly recommend to run those values (exept if you are actually playing demanding 3d games).
use trickster mod frequency lock feature to do so. you will experience amazing battery life.
how to get the maximum battery life:
if you have a MSM8974AB pvs 6 for example, try the following steps:
try the next higher pvs levels (pvs7). don't try AC pvs values on AB chips.
AB chips are binned for lower frequencies while AC are binned for higher frequencies (duh).
so if you have a AB chip, work your way up the AB pvs values until you have freezes or similar and move back.
if you have a AC chip, work your way up the AC pvs values etc...
if you found highest setting that does not cause any problems after intensive testing and usage:
congratulations, you did it. :good:
how to get the maximum frequency:
first try higher than stock maximum clock and see how it behaves.
if you don't reach your desired clockspeed, try the next lower pvs setting of your chip. yes, i said LOWER.
this gives the processor more voltage to reach higher overclocks.
i don't recommend it tho since we all want our phones to last as long as possible usually.
signs of too high overclock:
device lockups (not responding) or sudden reboots during heavy load.
signs of too low voltage:
problems with audio when screen off, long screen wakeup time, lockups and reboots even without cpu-load.
caused by not enough voltage for low frequency levels usually.
snapdragon 805 infos:
HD2Owner said:
here you go. i digged in the kernel sources and found it.
2.7GHz RC1 - speed2-bin-v1 (PVS levels 0-15)
2.7GHz RC0 - speed2-bin-v0 (PVS levels 0-15)
2.5GHz RC1 - speed1-bin-v1 (PVS levels 0-15)
2.5GHz RC0 - speed1-bin-v0 (PVS levels 0-15)
2.3GHz RC1 - speed0-bin-v1 (PVS levels 0-15)
2.3GHz RC0 - speed0-bin-v0 (PVS levels 0-15)
there seem to be two different variants of the 805 (RC0 and RC1).
RC0 seems to use less voltage at higher frequencies.
RC1 seems to use less voltage at lower frequencies.
the voltage tables you can take from the attached txt.
i also attached a txt containing how the bus clocks behave in relation to the cpu-frequency.
snapdragon 805 pvs 2.7ghz RC0.txt
snapdragon 805 pvs 2.7ghz RC1.txt
snapdragon 805 pvs 2.5ghz RC0.txt
snapdragon 805 pvs 2.5ghz RC1.txt
snapdragon 805 pvs 2.3ghz RC0.txt
snapdragon 805 pvs 2.3ghz RC1.txt
snapdragon 805 bus ratios.txt
Click to expand...
Click to collapse
enjoy and leave a thanks if you like it please.
edit v2:
fixed some flaws (22 downloads of v1)

@HD2Owner, seems like this would be better in an Original Dev section?
I realize that there's no place on XDA anymore without non-dev clutter, but this information - and a discussion of it - would seem to be better alongside kernel work than in the same section as "India chat", "British chat", "USA chat", and "I'm too lazy to read any thread so I'm going to post a question that's been answered 50294 times in the past 24 hours."
(I'd request a mod to move it, but it's your thread...)
Take care
Gary

sure.. it's not actual development but closely related research yes.

Sorry for the n00bish question, but what can I actually do with this? Im guessing some kind of undervolting / overclocking?
I am running ElementalX Kernel and have the Trickster Mod app installed.
Cheers
Stewart

StuMcBill said:
Sorry for the n00bish question, but what can I actually do with this? Im guessing some kind of undervolting / overclocking?
I am running ElementalX Kernel and have the Trickster Mod app installed.
Cheers
Stewart
Click to expand...
Click to collapse
Yea it's for understanding where you device Falls on the overclockability / how much voltage you'd need at different OC rates scale

I am in touch with trickster mod devs.
saving presets does not work yet.
when they fixed it, I will release all pvs presets.

Code:
cat /proc/last_kmsg | grep bin: -i
[ 0.321444] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: Speed bin:
1
[ 0.321460] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: PVS bin: 13
HTC One with PVS 13 here but happily running the following:
Code:
300MHz - 725mV
422MHz - 725mV
652MHz - 725mV
729MHz - 725mV
883MHz - 735mV
960MHz - 745mV
1036MHz - 755mV
1190MHz - 775mV
1267MHz - 785mV
1497MHz - 815mV
1574MHz - 825mV
1728MHz - 845mV
1958MHz - 880mV
2265MHz - 940mV
2457MHz - 975mV

HD2Owner said:
same research i already did for the m7 (APQ8064 compared to APQ8064T of galaxy s4) if someone is intrested (let me know).
Click to expand...
Click to collapse
I'd be very interested in that
I'm using an S4

Mr_Bartek said:
Code:
cat /proc/last_kmsg | grep bin: -i
[ 0.321444] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: Speed bin:
1
[ 0.321460] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: PVS bin: 13
HTC One with PVS 13 here but happily running the following:
Code:
300MHz - 725mV
422MHz - 725mV
652MHz - 725mV
729MHz - 725mV
883MHz - 735mV
960MHz - 745mV
1036MHz - 755mV
1190MHz - 775mV
1267MHz - 785mV
1497MHz - 815mV
1574MHz - 825mV
1728MHz - 845mV
1958MHz - 880mV
2265MHz - 940mV
2457MHz - 975mV
Click to expand...
Click to collapse
that's what i want to see here.. :highfive:
i will enhance the first post later with m7 vs gs4.
probably also some general guidelines.
but i need as much info as i can gather from different bins and experiences to make conclusions.
the plan is to post trickster mod voltage settings for all 32 pvs levels when export/import works.
until then you need to manually try the values. please stick to the posted values or report in detail.
@ moderators: feel free to move the thread where it fits best

I am using elementalX with undervolt -45. The values I get from trickster mod do they take into account the undervolting of the kernel or is it something more global that trickster mod does not show?

PVS info are unavailable on the galaxy S5 and the command on the terminal emulator isn't working,with that in mind checking the PVS binning is done in this directory :
/sys/devices/system/soc/soc0/soc_pvs

andreasyeah said:
I am using elementalX with undervolt -45. The values I get from trickster mod do they take into account the undervolting of the kernel or is it something more global that trickster mod does not show?
Click to expand...
Click to collapse
The issue with elementalX is that the undervolt only works for the lowest clock value and doesn't apply for the rest. Check in Trickster Mod and you'll notice that it's only applied to 300MHz.

also, even without root access, you could use adb bugreport >bugreport.txt then grep the file for infos.
On my note3 with Android 4.3 I don't get any Bin strings but ...

Hmm I can't get over 2.4ghz.
Locks up. Although elemental voltages seem a lot lower than those cited in the document attached to this thread.
I do wonder, is kernel tweaker successfully amending voltages?
I tried to ramp the voltages up whilst in power saving mode, then disabled power saving mode, but it locks up and restarts.
I would of hoped 2.5ghz is easily attainable as I thought we had the same processor but clocked to a lower frequency compared to the S5 etc.
Would appreciate some help with oc'ing.

I am PVS 12 and I've set the voltages specified in the spreadsheet with stock frequency and when I am running Antutu X, CORE 1 is stuck at 1%. I am not sure if this happens with default voltages too or if it's kernel related because I am running ElementalX 0.19. I've rebooted and I am trying to reproduce it now
EDIT: I've tested it with stock voltages, and I get the same problem. I am using Insertcoin ROM and the usage statistics of Insertcoin Control on the notifications(picture attached. Picture just shows the tool I am using. Not the moment when CORE1 locks.)
Is there a chance that it's not showing correct values for CORE1? Is there another app I can use to test the core usage while benchmarking?
EDIT2: I've found the problem. Everything works fine when I uninstall trickster and then restart. After I install trickster and run the benchmark, CORE1 locks at 1%-5% while others are 100%. I don't change any settings on trickster. Stock voltages and it does not even apply any settings on boot. If it is installed, no matter how many reboots I do, the problem persists. If I uninstall it and reboot, the problem is gone. I am really confused
EDIT3: Will it work if I change the UV_mV_table in /sys/devices/system/cpu/cpuX/cpufreq for each CPU Core? I want to change the voltage without Trickster because of the lock issue. Maybe we can make a flashable for each PVS that changes that file, so we don't have to use trickster

added some more infos and conclusions in first post.

Just an addition.
You can get the pvs number in HTC ONE M8 with:
Code:
su
cat /sys/module/clock_krait_8974/parameters/pvs_number

andreasyeah said:
Just an addition.
You can get the pvs number in HTC ONE M8 with:
Code:
su
cat /sys/module/clock_krait_8974/parameters/pvs_number
Click to expand...
Click to collapse
I am something doing wrong ?

Onem8 said:
I am something doing wrong ?
Click to expand...
Click to collapse
Are you doing this while in recovery or while it's booted up?
You can try to navigate to that path using a file explorer and see if it's actually there. Make sure you have a file explorer with root capabilities. If it's not there, I have no idea why!

andreasyeah said:
Are you doing this while in recovery or while it's booted up?
You can try to navigate to that path using a file explorer and see if it's actually there. Make sure you have a file explorer with root capabilities. If it's not there, I have no idea why!
Click to expand...
Click to collapse
This are the only files i have..

Related

PVS Bin

Update: I added a poll.
What do you guys have for PVS Bin.
PVS 5 on mine.
You do not need root, I used RootExplorer ironically enough.
Steps:
Go to sys/module/clock_krait_8974/parameters
Open table_name
PVS 7, bin v1
is it good or bad? lol
Higer the PVS number lower the voltages for the frequencies in the table.
However its not guaranteed that a higher PVS Bin CPU can OC higher than a lower binned part as they take samples when doing binning, so there could be lower binned parts that OC just as high as higher binned parts and vice a verse.
HD2Owner did a nice table here:
[GUIDE] Snapdragon 805/801/800/600 Clock & Voltage (PVS bin) guide
http://forum.xda-developers.com/htc-one-m8/general/guide-snapdragon-801-clocking-voltage-t2807173
PVS 6
Speed 3, PVS 8 v1
speed3-pvs6-bin-v1
PVS9... not useful without DooMKernel
AndroPlus said:
PVS9... not useful without DooMKernel
Click to expand...
Click to collapse
It is useful since it uses less power and heats less by CPU clock voltage ratio set by Qualcomm...
Ok just to be clear all are Speed 3 and v1 but PVS is different, mine is 8
PVS 8, you have nice one. I am usually on the low side with my luck on most devices lol.
PVS 8 for me too :good:
PVS12
Sent from my D6503 using XDA Free mobile app
PSV 11
pvs4 [emoji22]
Pvs 8. What is the highest?
I believe it's 15.
pvs4
pvs7
In my 4 exchanges this week for defects, PVS Bin increased each time lol. Went from 5,6,7,8.
PVS 8
.
Martin213 said:
pvs15
Click to expand...
Click to collapse
Wow you got the highest possible , nice.
Guys I added a poll, please vote.

Mali T760MP8 GPU has unused 852 Mhz clock state

According to the review of Anandtech, the Mali T760 GPU on our Galaxy S6 has unused 852 Mhz clock state. Normal speed now is 772 Mhz. Hopefully, this can be enabled in future in custom kernels to better drive those 2k displays. I wonder why they didn't enable it default as the SoC on 14nm should handle the temperature. More speed Ahead i hope.
"There's also a suspicion that Samsung was ready to go higher to compete with other vendors though, as we can see evidence of an 852 MHz clock state that is unused. Unfortunately deeply testing this SoC isn’t possible at this time as doing so would require disassembling the phone"
http://www.anandtech.com/show/9146/t...-edge-review/2

Samsung galaxy A7 CPU and GPU

I want to get the galaxy A7, but it come in two editions
1) CPU: Qualcomm MSM8939 Snapdragon 615
GPU: Adreno 405
2) CPU: Exynos 5 Octa 5430
GPU: Mali-T628 MP6
The first is octa core at 1,5 Ghz and 1 Ghz.
The second is also octa core at 1,8 Ghz and 1,3 Ghz .
I want it for gaming so isn't the second better ???
PanosAd113 said:
I want to get the galaxy A7, but it come in two editions
1) CPU: Qualcomm MSM8939 Snapdragon 615
GPU: Adreno 405
2) CPU: Exynos 5 Octa 5430
GPU: Mali-T628 MP6
The first is octa core at 1,5 Ghz and 1 Ghz.
The second is also octa core at 1,8 Ghz and 1,3 Ghz .
I want it for gaming so isn't the second better ???
Click to expand...
Click to collapse
I have the Snapdragon version and its laggy. From time to time i get stutter switching app to app and navigating through the interface . GPU too is not superb, Clash of Clans plays smooth at the beginning but after a couple of minutes the frame rate stutter. I did a full reset but the same result hopefully will be fix on future updates. I have a zenfone and that performs better than my A7 (snapdragon version) in terms of gaming. Considering the price of A7 im a liitle bit dissapointed by its performance, battery life is good though i can get to 20 hours using light to moderate usage.
I guess you have to get the Exynos version in my own opinion.
PanosAd113 said:
I want to get the galaxy A7, but it come in two editions
1) CPU: Qualcomm MSM8939 Snapdragon 615
GPU: Adreno 405
2) CPU: Exynos 5 Octa 5430
GPU: Mali-T628 MP6
The first is octa core at 1,5 Ghz and 1 Ghz.
The second is also octa core at 1,8 Ghz and 1,3 Ghz .
I want it for gaming so isn't the second better ???
Click to expand...
Click to collapse
2 is better for gaming
SD 615 is 64 bit CPU and works fine when updated to Lollipop. I have seen no lags while gaming.

Regarding the I9500's big.LITTLE architecture and CM

First of all sorry if I posted in the wrong place please someone guide me to where it is supposed to be if i did post in the wrong place, so I have an I9500 running CM13, I downloaded kernal auditor from the Google play store and noticed that I only have the option of editing 4 cores and they all have a Max limit of 1600MHz so I'm assuming those are the A15 set of cores,, so my question is pretty simple, does my current rom make use of both the A7 and A15 clusters (I am aware that they never run simultaneously) I'll include pictures about details on my rom, thanks in advance
Well the screenshot refuses to be uploaded so:
CyanogenMod version: 13.0-20160828-unofficial-gearCM-i9500
Kernal version: 3.4.5-cyanogenmod-gd795889
[email protected] #1
Sun Aug 28 22:30:39 CEST 2016
Build number: cm_I9500-userdebug 6.0.1 MOB30Z
2c597c319e
Test-keys
It could also be that Kernel Adiutor can't access the A7 cores.
big.LITTLE mechanism on i9500 is a little bit unique, because frequency tables are merged.
800 (700 if underclocked) until 1600 (up to 2000 if overclocked) for A15 core, while 250 (as low as 100 if underclocked) until 600 (about 650-750 if overclocked) for A7 core.
If frequency bumps to 800 MHz or higher, A15 core is used, besides that A7 core is used.
Hope this could understand you.
Sent from my ASUS_Z00A using XDA Labs
krasCGQ said:
big.LITTLE mechanism on i9500 is a little bit unique, because frequency tables are merged.
800 (700 if underclocked) until 1600 (up to 2000 if overclocked) for A15 core, while 250 (as low as 100 if underclocked) until 600 (about 650-750 if overclocked) for A7 core.
If frequency bumps to 800 MHz or higher, A15 core is used, besides that A7 core is used.
Hope this could understand you.
Sent from my ASUS_Z00A using XDA Labs
Click to expand...
Click to collapse
yup just like kras said so if it shows lower than 800 then it shows the little cores, for example, 600mhz in kernel adiutor is actually 1200mhz a7 freq, 500mhz is 1000mhz a7 and so on
krasCGQ said:
big.LITTLE mechanism on i9500 is a little bit unique, because frequency tables are merged.
800 (700 if underclocked) until 1600 (up to 2000 if overclocked) for A15 core, while 250 (as low as 100 if underclocked) until 600 (about 650-750 if overclocked) for A7 core.
If frequency bumps to 800 MHz or higher, A15 core is used, besides that A7 core is used.
Hope this could understand you.
Click to expand...
Click to collapse
So the A15 cores would never run below 800 (or 700 if under clocked)?
jwchen17 said:
yup just like kras said so if it shows lower than 800 then it shows the little cores, for example, 600mhz in kernel adiutor is actually 1200mhz a7 freq, 500mhz is 1000mhz a7 and so on
Click to expand...
Click to collapse
I see so 200MHz on kernal auditor would actually be 400MHz A7 etc. That poses another question, I understand that the A15 cores CAN on stock image run at below 800MHz, or is that incorrect
The mad charizard99 said:
So the A15 cores would never run below 800 (or 700 if under clocked)?
Click to expand...
Click to collapse
Yes, that's how the CPU works.
The mad charizard99 said:
I see so 200MHz on kernal auditor would actually be 400MHz A7 etc. That poses another question, I understand that the A15 cores CAN on stock image run at below 800MHz, or is that incorrect
Click to expand...
Click to collapse
No. Below 800 MHz it would switch to A7 core respectively.
Sent from my ASUS_Z00A using XDA Labs

What are all the clock speeds of the Switch?

These 3 are given:
Balanced = 1 GHz CPU / 468 MHz GPU
Quick = 1.4 GHz CPU / 768 MHz GPU
Performance = 1.7 GHz CPU / 920 MHz GPU
However, it has two other, low-end settings.
Power Save:
Efficiency:
These two lower settings do save on battery, but you can't even emulate PS1 games with them properly. It makes me wonder what the clock speeds for those two are, though.
KernelTasker allows for more, if you are rooted.

Resources