-
Notifications
You must be signed in to change notification settings - Fork 94
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
I2C Interface like ATOMbios but through driver/cmdline #32
Comments
I have same problem as you, to detect, dump, read and write the i2c of ROCk. Maye is is needed to upgrade the i2c-tools according to Whatever is the solution, it seems possible as some people do use i2c to control the VRM. |
This people claim that /dev/mem is used, i.e. bypassing all drivers and talking directly to the device. Any idea where to find some documentation on the needed address spaces and registers descriptions? |
I've analysed amdgpu code, and
my dream would be to reactivate the /dev/i2c which are disabled... hard to make your dream come true. |
There seems to be old tool for other GPUs: https://github.com/ius/radeonvolt Where did you find VRM code in amdgpu? I just found the stuff for populating the VR config which is uploaded to the SMU, or the i2c stuff for comunicating with attached monitors (DDC). |
Right, I only found useless i2c sysfs, and some code to control onitors as you say. I've found the code where voltage gathered, scaled and send to othe layers, finishing in some write to emory that I don't understand... I did not get enough time to understand, and moreover I just vaguely discovered how it works... I was following that Finally the good news on phoronix is maybe that it will be accessible in kernel 4.17 |
We seem to be a the same point. I knew the older phoronix thread. *BTW vi+make rules... The news sounds interesting. I hope there is unlimited control possible. Now I have tweaked the core voltage in amd/powerplay/smumgr/polaris10_smc.c:
But even when choosing insanely low values the GPU works robust. I assume there is a range limitation somewhere further downstream... Direct access to the VRM might still be the preferred approach. |
Hi all, While we may not officially support configuration of our VRMs over I2C, we do now support configuring the DPM tables directly, which will allow you to set a requested voltage level for each of the DPM states. Additionally, you can request that only a particular DPM state (or subset of DPM states) be used, essentially forcing desired frequency/voltages. For instance, please see this post where I describe how to use
Note that there are rules for how the DPM table must be configured (described in my other post). However, these mechanisms should allow you to set desired voltages that will be associated with desired frequencies. If you do not want to use |
Is it possible to access the I2C Interfaces that control the Voltage Regulator through the i2c-dev interface ?
this should return the ID of the installed VRM on a sapphire nitro+ (43)
let a=0; while [ $a -lt 20 ] ; do let a=$a+1 ; i2cget -y $a 0x30 0x92 b ; done
but returns 00 (or 27 if used with 2 byte return)
The text was updated successfully, but these errors were encountered: