radeon lockups with drm/dri
Nikolas Britton
nikolas.britton at gmail.com
Thu Feb 23 00:48:09 PST 2006
On 2/22/06, Alfred Perlstein <alfred at freebsd.org> wrote:
> I've had a couple of times where my X server went bonkers
> and wouldn't respond to "kill -9" I think this has to do
> with the hardware going for a nap.
>
> Basically the X server gets stuck in "rdnrel".
>
> This is in:
> dev/drm/radeon_cp.c:radeon_do_release()
>
> if (dev_priv->cp_running) {
> /* Stop the cp */
> while ((ret = radeon_do_cp_idle(dev_priv)) != 0) {
> DRM_DEBUG("radeon_do_cp_idle %d\n", ret);
> #ifdef __linux__
> schedule();
> #else
> #if defined(__FreeBSD__) && __FreeBSD_version > 500000
> msleep(&ret, &dev->dev_lock, PZERO, "rdnrel",
> 1);
> #else
> tsleep(&ret, PZERO, "rdnrel", 1);
> #endif
> #endif
> }
> radeon_do_cp_stop(dev_priv);
> radeon_do_engine_reset(dev);
> }
>
> It appears that "radeon_do_cp_idle" fails over and over leading
> to an unkillable X server.
>
> Can this loop be changed to abort after a number of retries?
>
> Is a way to force a reset of the device when this happens?
>
> thank you!
Try the FreeBSD X11 mailing list:
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
--
BSD Podcasts @ http://bsdtalk.blogspot.com/
More information about the freebsd-multimedia
mailing list