[Xpert] DMA lockup (Was: Tearing on overlay surfaces)

Michel Dänzer michdaen at iiic.ethz.ch
Mon Dec 3 14:29:40 CET 2001

On Mon, 2001-12-03 at 14:05, Peter Surda wrote:
> On Mon, Dec 03, 2001 at 01:18:29PM +0100, Michel Dänzer wrote:
> > > (I am a co-author of the DMA-enabled Xv*PutImage for r128 you mentioned)
> > > As you probably have detailed reports on how this DMA-enhanced Xv*PutImage
> > > works on nvidia, don't you have stability problems with certain players? I
> > > noticed that while I never had troubles with aviplay or mplayer, vlc was not
> > > properly programmed and one thread liked it a lot to kill a Xv*PutImage
> > > running in another thread (has likely been fixed already but I haven't checked
> > > yet), which caused total machine lockup. Xine also causes lockup from time to
> > > time.
> > If you're running 4.1, this is probably because the chip can hang when a
> > bus mastering operation is active while it's being reset in the course
> > of switching the CCE on or off.
> AHA! So I suppose then THIS is also the reason why km (experimental ATI
> capturing v4l module) doesn't mix with DRI on r128 (i.e. it causes lockup when
> X tries to do 2D-accelerated function).

Very likely, yes.

> I read that CCE and DRI didn't mix well yet,

Actually, it's quite the opposite. The DRI has always used the CCE for
3D rendering (except for PCI cards in the beginning, but that's another
story). The problem is that the X server didn't use it for 2D rendering
as well but turned it off, rendered using direct register access and
turned it back on. That's where a lockup can occur.

Now it also does 2D rendering using the CCE, by having the DRM fire
indirect buffers. That doesn't only eliminate the potential for lockups
but also reduces overhead for 2D operations with direct rendering

Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

More information about the vlc-devel mailing list