https://bugs.freedesktop.org/show_bug.cgi?id=56139
--- Comment #8 from Alex Deucher agd5f@yahoo.com --- Created attachment 69370 --> https://bugs.freedesktop.org/attachment.cgi?id=69370&action=edit possible fix
(In reply to comment #7)
Alex, would it be possible to print what is going on or if an error occurred in evergreen_mc_stop()?
I see four things that could be going on: 1- we are not using the right path for CAYMAN -> (ASIC_IS_DCE6(rdev));
cayman is DCE5. It is using the correct code path.
2- lock mechanism synced with vblank is not working properly;
Locking makes updates atomic rather than double buffered.
3- all the registers should be locked at the same time, then all modified and finally unlocked together, which is not done with the for loop where we move through each at a time;
doesn't matter.
4- we are not setting the right registers.
The existing sequence should be correct. It's the same sequence our hw team recommends. I can't reproduce this on my cayman boards unfortunately and this patch fixes the exact same problem you are having for a number of other people :/
Maybe an issue with the icon or cursor, but I think those should be disabled when we disable mem requests in the crtc. Does this patch help?