-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
extend for other 3rd gen ryzen cpus? #1
Comments
Hey Paul, Two quick notes:
Can you check if that makes sense with the values you see in the pm table dumps? My process for reverse-engineering the table was very similar to yours: For reference, my process for generating human readable dumps is:
read_dump.py is provided by ryzen_smu: https://gitlab.com/leogx9r/ryzen_smu/-/blob/master/scripts/read_dump.py |
Paul, would you be willing to provide me with a pm_table dump file of a fully loaded system? I'd like to take a look myself and see what I can make out of the numbers. Copy and paste help: ;-)
Then attach the dump.bin. Thanks. |
Thanks for giving me a head start on how to get the smu block, to translate it to physical values and easily make a sbs comparison. I already started and made some progress: dumps side by side (tab separated): Ofc, I can provide bin files if preferred. I did just start to find out how to change some of the CPU's settings from the OS (ryzen_smu or corefreq). Maybe this will enable some further progress. Cheers, One of two similar changes to ryzen_monitor.c (lines ~480 and ~500) because of single CCD in 5600X:
current state of pm table 5600X 6-core [0x380904]
output
|
Looks very good to me. I cross-checked your actual values with my system and it all matches very nicely. So that is reassuring. I have 6 unknown values at the end of my table, that matches as well. Probably something for L3 but who knows what... On the side of ryzen_monitor.c I already committed some changes for the work on #2. Long story short, there is a new int within pm_tables named max_l3. If you feel you are ready, say so and I'll get that code in :) |
Please add it. |
Adding code provided by spektren in #1
A simple copy and paste later... I think it should work now. |
Yes it does. |
pmt->V_unk1 = pm_element(139) VDDG_CCD ? |
@vol2020 Can you elaborate a bit more? How did you determine this element ist VDDG_CCD, what is it for and how does is differ ro V_VDDG? Thanks. |
As explained by vol2020 in #1. Also fixed memory initialisation.
That indeed makes sense. I just added it in the newest commit. |
There's one more thing, here. I think, instead of
there should actually be:
PS: Had to change user name to a more familiar one, since it turns out I had 2 accounts, and accidentially logged in with the wrong one (vol2020). |
And, if you don't know yet, its still quite common to encounter 2-chiplet versions of 5600X and 5800X, in which case there will be generated 2CCD version of metrics table, such as 00380805 (from 56.50.0) |
Pointed out by PJVol in #1, double-checked with existing logs.
Thanks for pointing that out. I just comitted the changes. Regarding the 2CCD 5600X: I didn't know they exist, but it makes sense, I guess. I'd expect them to use the same PM Table as a 5900X, tough. Maybe the 00380805 is just a newer version of 00380804. I'll update my BIOS later and see if I get a 00380805 table with the new version. But if you have any knowledge on what changed between 00380804 and 00380805, or have access to any PMTable dumps for the systems in question, feel free to post them here. |
Here is 380804 pm table, asked a local forum member with "dual CCD" 5600X to post. I think 08 and 09 are related to 2ccd and 1ccd versions, the last byte could mean AGESA release version, not sure though. 1200 and 1202 are not much different |
I just added 00380805 and 00380905. It works fine on my 5900X. Happy testing :) From the dump you provided, the dual CCD 5600X should work just fine. |
I'm on
Using the latest version from this github. |
Hum. That is puzzling. Version 0.1.2 should be supported. |
OK, this was my bad, I had a contaminated compile! :( I'm sorry for wasting your time and I thank you very much for responding so quickly anyway! |
Ok, no problem. I'm happy it works for you now :) |
What does happen tho even with a completely decontaminated compile is that Edit: If I insert debug fprintfs in ryzen_monitor.c just where print_memory_timings() is called and another debug fprintf just within readinfo.c just at the top of the print_memory_timings() option, they are not printed either, until I interrupt execution with ^C |
Yip, this one is on me. Good catch. I just pushed a bugfix. It should work now. |
something's off with the l3_logic_power (100w+) on my single ccd 5600x after the bios update to agesa 1.2.0.3 A (updated to bios 2403 asus b550i + ryzen_smu 0.1.2 + current ryzen_monitor). now data is pulled from the ...905 table. progress:
dump_sbs_5600x_1203a_no_load_vs._8thr.txt i'll try to prepare a merge next week. |
Kudos to spektren for pointing this out. #1
You are absoluetly right! I made that table up from the changes I saw in the other tables and have no hardware to test it with. Must have missed that field while copy&pasting. |
What the pm_table version is on 1.2.0.3b ? |
I don't know because I don't have a board with a bios that contains that vesion. But you can find out for yourself by reading /sys/kernel/ryzen_smu_drv/pm_table_version |
Had I 1.2.0.3b bios flashed, I won't ask. |
@hattedsquirrel @PJVol |
In case you guys are still supporting the project, i wanted to note that in a pm_tables.c there are 2 missing limiter frequencies in a 8 freq. block, lines 502-507, offsets 0x78 - 0x94. |
You're on the right path, I think this should be correct:
I've also submitted a merge request, but if you decide to get info from it, please double check it. |
I have done some experiments observing their behavior on Vermeer and Cezanne (have both) and have come to the conclusion that the following order is more likely:
|
@irusanov I know it has been a while, but I finally managed to pull in your changes. Many thanks for all the work you invested. [I haven't had access to my only Ryzen system for over half a year now, so I'm doing it blindly, but from what I can test with existing binary dump files, I cross my fingers to not have broken anything in the process.] |
@hattedsquirrel I'm not 100% sure these are entirely correct, it's possible something is not quite right with labels/definitions, but should be an improvement. |
Thanks for your work!
How did you obtain the info for the pmtable's content mapping provided in the current version (0x380804, for the 5900X you're running)?
I modified it (by guessing and comparing to 3700) to fit for my 5600X. In my eyes it doesn't look too bad but honestly I'm not very familiar with the expected values for this kind of setup and some data may be completely off without me noticing it all^^
Would you like me to clean my data below and add a pull request with the whole addition of 5600X or are you content with providing ryzen_monitor as is?
Cheers,
Paul
The text was updated successfully, but these errors were encountered: