-
Notifications
You must be signed in to change notification settings - Fork 24
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
PP voltages #34
Comments
For RDNAx cards, most of the voltages in PowePlay tables are represented as 4x of the actual voltage, in millivolts. For example, a
Sorry, I don't get what do you mean by that, please elaborate... |
Fine, if you know it, ain't it make sense to report (value_in_the_table >> 2) ? ( right shift )
|
In Linux PPTable headers for Radeon VII (Vega 20) and newer cards, some values such as voltage/freq quadratic curve parameters (a, b & c) or droop values are represented as unsigned int, but they are obviously float values. Reading / writing such parameters with upp in its uint form does not make much sense, as they pretty much not human-readable representations of float numbers. For details on which particular values are interpreted as float by upp, check Lines 25 to 28 in 80337d3
|
Sorry if I wasn't clear enough.
|
I am not reporting anything, these parameters are all obviously declared as Please note that the goal of the upp project is not to interpret any particular parameter, but to allow decoding, reading and writing any parameter in the PPTable, even for the future cards, regardless of what any particular parameter really mean. The only "exceptions" to this principle are the cases where raw values make no sense to an average human (float interpretation rules) and few cases where there are bugs in the data structures (mainly version overrides for Polaris era tables). If you think that interpreting |
Well... (unless you're just kidding :) ) Q(N) is a commonly used notation to describe binary fixed point numbers (signed) - Qn.m, where n bits used for the integer part except sign bit, and m - fraction bits. So what Q2 means here is the 32-bit value used to store fixed point number where 2 lsb is a fraction, and int part is the rest, with the scaling factor 2^-2 = 0.25 |
And this notation was there since the initial rdna 2 support in 5.9 in 2020. |
I also do realize that the idea was in using amdgpu driver headers to deal with pp_table in windows, that is imo pretty smart. |
Hi!
When looking at the pp_table dump files in test folder, I noticed that all reported voltages kinda high, except those stored in float )
https://github.com/sibradzic/upp/blob/master/test/AMD.RX6900.16384.201104.rom.dump
Don't you think that something like ">> 2" is missing here ?
The text was updated successfully, but these errors were encountered: