https://bugs.freedesktop.org/show_bug.cgi?id=100666
--- Comment #15 from Alex Deucher alexdeucher@gmail.com --- (In reply to Luke McKee from comment #14)
Alex thanks for your help.
How it gets the rom is probably the same as this shell script using the pci method listed on that github link in the last comment.
# To read ROM you first need to write `1` to it, then read it, and then write # `0` to it as described in the documentation. The reason is that the content # is not provided by default, by writing `1` to it you are telling the driver # to make it accessible. CARD_ID=0 CARD_ROM="/sys/class/drm/card${CARD_ID}/device/rom" FILE_ROM="amdgpu-rom.bin"
echo 1 > $CARD_ROM cat $CARD_ROM > $FILE_ROM echo 0 > $CARD_ROM echo "Saved as ${FILE_ROM}"
-- output: cat: /sys/class/drm/card0/device/rom: Input/output error [Not] Saved as amdgpu-rom.bin
That should generally work for desktop discrete cards. You need to be root however.
Is there any other user-space accessible methods to extract / write the rom in Linux? Now only focusing on comparing the pp table to other roms not modifying it.
You can read the amdgpu_vbios file in debugfs. That will dump the copy of the vbios that the driver is using.
Maybe the powerplay is an atom-bios issue perhaps. If it's still broken in this 4.16-rc1 version I'm trying out now I'll open a ticket.
For your reference this is the ticket that claims powerplay dpm is fixed in newer kernels / dc=1 in 4.15. https://bugs.freedesktop.org/show_bug.cgi?id=100443#c37
There's no confirmation that specifically enabling dc fixed it.
Anyway, we are cluttering up this bug with potentially unrelated information. Please file a new bug for your issue and we can discuss it there.