I'm sorry, I've made a spelling mistake. In fact, CP_RB_RPTR and CP_RB_WPTR both changed, so I think CP is active.
Hmmm, I don't think this function can be used by r600 (or write a similar one for R600), because I haven't found CSQ registers in r600 code.
On Fre, 2011-12-16 at 16:42 +0800, chenhc@lemote.com wrote:
I see. However, I think this actually makes it unlikely that the problem is the CP reading wrong values from the ring, as otherwise the CP itself would likely get stuck sooner or later.
Hmm yeah, looks like the registers for this have changed.
2011/12/16 chenhc@lemote.com:
It might be pci issue, you should check pci configuration before and after suspend thought kernel should properly restore things. The cp might still be reading random data that doesn't lockup the cp (i saw it happen more than once).
Cheers, Jerome
dri-devel@lists.freedesktop.org