Comment 114 for bug 558657

Revision history for this message
In , David (david-redhat-bugs) wrote :

Created attachment 457771
Band-aid patch that solves the problem for me

Continuing the work I started in comment 42, I was also seeing the "EvoCh 0 Mthd
0x0000 Data 0x00000400 (0x0002 0x01)" messages as everyone else. I did more investigation, and found that not using the last 32 bytes of the Evo ring buffer solved the issue for me -- I no longer get the EvoCh messages, which directly lead to the "no space" messages as seen by the original report and the jerky mouse movements reported by others. This bug is current as of F13, and is likely in F14 and rawhide, as the issue is not yet fixed upstream.

Prior to the patch, dma.max was getting the value 1022. &'ing with ~7 was equivalent to subtracting another 6 entries from that value. I also tried ~3, but that did not fix the issue. I was asked on IRC to try subtracting 5, 4 etc to narrow down the minimum value, and my testing confirmed that subtracting 6 (&= ~7) was minimal. I also tried changing some of the register settings above (NV50_PDISPLAY_CHANNEL_UNK2, etc) but was not successful in teasing out meaning or a fix using them. I have not tried playing with the RAMHT for Evo.

I don't like that my patch involves yet more magic numbers without explanation, but it has been stable for me for the past few weeks, and solves my cursor problem.