Originally posted by cruiseoveride
View Post
Announcement
Collapse
No announcement yet.
"Ask ATI" dev thread
Collapse
X
-
Originally posted by bridgman View PostI have not heard of a Linux version of ATIFLASH.
3.70
* FIX: correctly report flash error code under linux
* FIX: correctly detect PCI devices under linux
Besides that, I was contacted by someone who said he got a Linux version of ATIFLASH under NDA from AMD/ATI. The thing with NDAs is... I don't have one, and even if I had one, the NDA would probably not allow tracing the actions of that ATIFLASH binary.
Originally posted by bridgman View PostThat said, I don't think there is a Windows version either - it's a DOS utility, isn't it ?
This is an old version of ATI Winflash, which hasn't been updated since 2013. Consider using this newer version: https://www.techpowerup.com/downlo
(Speaking with my flashrom developer hat on)
The public AMD/ATI RRGs are pretty good for anything not related to flashing, but it seems the SPI command interface registers in graphics cards are only half documented. The r6xx series documentation about the SPI interface has a lot less information than the r5xx series docs.
In case anyone has access to a complete version of 42590_m76_rrg_1.01o.pdf or 42589_rv630_rrg_1.01o.pdf, look for words like "SPI" or "ROM" or registers GpuF0MMReg:0x1600 to GpuF0MMReg:0x161C and GpuF0MMReg,GpuIOReg:0xA0 to GpuF0MMReg,GpuIOReg:0xAC. You'll probably see some stuff which is not in the public datasheets.
For r5xx, RRG-216M56-03oOEM.pdf is a pretty good doc, the only thing I'm missing is some info on which register carries the read/written datastream (and if addresses are supplied separately, where to store the address). SEPROM_CNTL1 and SEPROM_CNTL2 have pretty readable descriptions, but I can only guess how it interacts with ROM_INDEX and ROM_DATA (if it does interact with these regs).
To summarize:
For r5xx, I can probably implement a flasher given access to the hardware, some spare time and the ability to watch the SPI bus (logic analyzer or whatever). With a few extra hints about the interface, watching the SPI bus is not needed anymore.
For r6xx, trying without more docs is pretty pointless. Some people have offered to reverse engineer the existing flashers and write some docs about the interface those flashers are using (basically a safe cleanroom reverse engineering effort), and I could work from those docs. To be honest, the words "reverse engineering" scare most hardware vendors, and besides that it would be wasted effort if we can get the info for free, so I'd rather not go there.
Do NOT violate any NDAs! I'd like to maintain a friendly relationship with AMD/ATI.
Comment
-
@LostinSpacetime:
I have exactly the same problem, though I haven't tested it with x11 yet. The bug has appeared for at least the last 2 versions of skype and catalyst 9-9 through 9-11 (I haven't tried 9-12 and 10-1 yet).
my hardware is a Radeon Mobility HD4570..
Should we report this somewhere?
Comment
-
Originally posted by Na-Fiann View Post@LostinSpacetime:
I have exactly the same problem, though I haven't tested it with x11 yet. The bug has appeared for at least the last 2 versions of skype and catalyst 9-9 through 9-11 (I haven't tried 9-12 and 10-1 yet).
my hardware is a Radeon Mobility HD4570..
Should we report this somewhere?
But don't expect much from it, ATI has a tendency to look down on non-workstation customers.
Comment
-
Small update about the flashing of AMD/ATI graphics cards: I found someone who has special hardware which can log all accesses going over PCIe, and he logged a run of the public DOS atiflash on r7xx (I couldn't find any r7xx register docs at all).
Turns out the r7xx flash interface is pretty straighforward and looking at the access patterns made most accesses very easy to decode.
I appreciate the effort AMD/ATI are putting into open docs, and since their doc review team is pretty busy, I'll write up a register document for flashing on r7xx to lower their workload.
(No, I don't have a NDA, so the docs I'm writing are completely free. AMD/ATI, if you want to incorporate any of the stuff I write into your register docs, feel free to do so.)
Comment
Comment