Date: Thu, 23 Feb 2006 02:48:05 -0600 From: "Nikolas Britton" <nikolas.britton@gmail.com> To: "Alfred Perlstein" <alfred@freebsd.org> Cc: multimedia@freebsd.org Subject: Re: radeon lockups with drm/dri Message-ID: <ef10de9a0602230048t44037418lc3293b4674fa9f91@mail.gmail.com> In-Reply-To: <20060222181146.GB73389@elvis.mu.org> References: <20060222181146.GB73389@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/22/06, Alfred Perlstein <alfred@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/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ef10de9a0602230048t44037418lc3293b4674fa9f91>
