Changing memory timings on the fly is a very good idea!
It's possible to access GPU MMIO registers in Windows too.
It's a bit tricky to implement it properly even if you have good skills and that's the main problem.
Registers offsets can be found in ROCm sources and typedefs in OhGodADecode utility or in ROCm again (though it contains only bitmasks so it would take some time to convert them).
Anyway, this tool gave me an idea of new feature, thanks, also it was funny to play with registers and see some BSODs
I donated 0.25BTC to the address in first post.