Git head as I report this bug is a1786bd270. When I build that, I get graphical corruption in the X cursor; random horizontal lines will be missing from the cursor, then come streaming in over the course of a second or two. (That is an honest time estimate, it really does take a while.) This replays again for each different cursor that appears (arrow, text entry, etc) and really ruins animated cursors as each frame is very badly mangled.
git bisect appears to finger 9b8c4a0b215e603497, "Avoid moving from CPU domain during pwrite". I current have a git head build running on a1786bd270 with 9b8c4a0b215e603497 reverted, and I am not seeing the problem I describe.
lspci reports my card as a "Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)".
This implies that we missing a clflush on the cursors, which in turn implies that we not specifying the correct domain. Hmm, I will read over the code unless somebody has a better idea.
Moving to DRM module, as this commit is in drm-intel-next kernel.
Created attachment 36003 [details] [review]
Move non-phys cursors into the GTT
I put that patch on top of e3a815fcd380 and it Works For Me (TM). If I ought to drop back to a1786bd270 and test let me know.
(In reply to comment #4)
> I put that patch on top of e3a815fcd380 and it Works For Me (TM). If I ought to
> drop back to a1786bd270 and test let me know.
No, that's fine. The patch seems to be correct, so it is now just a matter of time whilst it works it way upstream into Linus' tree.
Included in 2.6.35-rc2.