On Tuesday, 06 February 2001 at 16:04, Gareth Hughes wrote:
> Scott Call wrote:
> > Again, please reply directly to me so we don't clutter up the list, and=
> > soon as I have a decent sample size I'll post results.
> I'll just say that I've been really busy working on other things and
> haven't had much time to look into this lately. Be aware that the
sure. looks like some pretty cool stuff too...
> "freelist_get returning NULL" error message can be a little misleading
> -- it means the hardware has locked, the buffer age register isn't being
> updated (we send incrementing values down the command stream after each
> buffer flush, so if the command stream locks the register doesn't see
> the new values) and eventually the buffer acquisition will fail.
> If people want to debug this problem, the r128_status function prints
> out a bunch of useful register values. If the freelist_get fails, you
> can print out the current value of the ring read and write pointers etc,
> and by combining this with "#define R128_VERBOSE 1" in r128_drv.h (which
> will print out the commands sent to the ring buffer) you should be able
> to track down where it's locking up. Even sending (abridged) logs of
> this -- possibly to me personally -- will help track the problem down.=20
> I've yet to reproduce it, so this will be very useful.
ok, to be more specific, besides turning on R128_VERBOSE you want
printk ("Ring head: 0x%p, tail: 0x%x\n", dev_priv->ring.head,
added just before the DRM_ERROR line in r128_freelist_get?
or something else?