Hi!

Sorry that I'm not sending a patch, but I don't know if my solution is
correct.

Problem description (both with dri from CVS dri and CVS gatos): on r128 when I
KDE is starting, display is corrupt and lots of:
Jan 26 04:38:38 ten kernel: [drm:r128_cce_indirect] *ERROR* process 15795 using buffer 
owned by 0
's
appear (I reported this several months ago already).

So I looked at the code: pid 0 doesn't exist, and r128 driver seems to be
using it for optimizing searches for free buffer. So I added a 
"buf->pid > 0 &&"
into r128_state.c into all tests where it was tested. This fixed most
corruption, but then
Jan 26 05:03:28 ten kernel: [drm:r128_cce_indirect] *ERROR* sending pending buffer 0
's started appearing. 

Further investigations showed r128 and radeon where the only driver that
actually did a buf->pending = 1, so I changed it to 0 and now the symptoms
aren't ocurring anymore.

As for radeon, I assume as the code is very similar to r128 including what I
just "fixed", it could help there too.

Supplemental question: I noticed that while watching videos X often takes lot
of CPU EVEN when DMACopyblahblah is working (I added a xDrvMsg to the
driver to test). The funny thing is that e.g. with mplayer X eats about 6%,
and ON THE SAME FILE, with aviplay X eats about 25%. What could be causing
this? BTW this doesn't happen always, just "mostly" and I am unable to
reproduce a situation when this doesn't happen, it simply sometimes "fixes
itself".

Bye,

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
 "They say when you play that M$ CD backward you can hear satanic messages."
 "That's nothing. If you play it forward it will install Windows."

Attachment: msg02537/pgp00000.pgp
Description: PGP signature

Reply via email to