kobalicek / amdtweak

A library that can be used to manipulate ATOM and PowerPlay (PP) tables of AMDGPUs
71 stars 20 forks source link

strap timings #3

Open Perfect-Web opened 7 years ago

Perfect-Web commented 7 years ago

do you know if is possible (or how) to change memory strapping times ?

kobalicek commented 7 years ago

I started working on this but haven't finished yet. The binlib.js first needs some support for data that is not fixed and requires some code instead of definitions.

tacchinotacchi commented 6 years ago

Is it even possible to change the straps without modding the bios?

kobalicek commented 6 years ago

I'm not aware of that. Straps are defined in VBIOS and AMD drivers don't provide any access to them. You can try to modify the driver though as it's open source.

MoneroCrusher commented 6 years ago

Hello, I have reason to believe the timing straps are located in sys/kernel/debug/dri/yourcardnumber/amdgpu_regs, however, when I try to copy, modify or decode it, I get errors and kernel panics (and kinda wrong looking hex code when I manage to hexdump it). Can you maybe look into it, and maybe get in contact with me via chat? If so, leave your username on platform of choice.

kobalicek commented 6 years ago

Hello, I cannot really help as I don't have AMD GPUs anymore. I have already worked with the driver and failed to do what I wanted to do so my motivation to try that again is basically zero (I tried to add undervolting support to sysfs and had a lot of problems with just that).

I don't think you can change strap timings by using debugfs, you would most probably really need to change the driver itself, which is a pain in the ass if you are not used to work on linux drivers. Maybe somebody else here knows more and can help, will keep open.

MoneroCrusher commented 6 years ago

For some reason changing voltage works well for my rx polaris cards! Btw..is it possible to overwrite ROM completely to avoid having to flash the card?

Lucie2A commented 6 years ago

Hi,

there is now way to 'soft-write' the ROM on the fly. You DO need to flash the card. You can only 'soft-write' the PP-Table.

Best regards,

Samuel

heavyarms2112 commented 6 years ago

@Lucie2A modifying pp-table will not alter the RAM timings afaik.

MoneroCrusher commented 6 years ago

@LUCIE2A Ok, thanks for the info. Do you happen to have a version of atiflash higher than v4.25? 4.25 doesn't support flashing Lexa Pro based GPUs. Or do you happen to know another way? Or are you good with timung straps? I manage to overwrite them but it crashes the GPU (with amd-umr)

Lucie2A commented 6 years ago

Hi,

@heavyarms2112 : Yep, pp-table doesn't include memory timings. pp-tables include power limits, fan regulation, several thermal threshold, mem/gpu/control chip freq states, mem/gpu/control chip voltage states. Memory timings are found elsewhere in the bios.

@MoneroCrusher : Memory timings editor: there is a lot of tools for that (Rx 400 and Rx 500 series). Search the web with google. Take care of memory version included on your GPU card. There isn't such a tool for Rx VEGA as bios need to be digitally signed.

amdtweak is for pp-table only. kobalicek version work fine for Rx400 Rx500 series. My forked version also work for Rx VEGA (with driver 18.20).

Best regards