[K8M890] Freezes with K8M890 and openchrome driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openchrome |
Fix Released
|
Unknown
|
|||
linux (Ubuntu) |
Invalid
|
Medium
|
Andy Whitcroft | ||
xserver-xorg-video-openchrome (Ubuntu) |
Fix Released
|
Medium
|
Bartosz Kosiorek |
Bug Description
I am using Ubuntu 8.10 AMD64 with openchrome on a VIA K8M890 board, using the on board graphics VIA Chrome9 HC. This is working fine, except that during the startup of graphical applications, the system would freeze for about 5 seconds at a time. I have now found the cause of these freezes, and I think I have a fix.
The bug is in via_wait_idle(), in the DRM module via.ko. This function (I assume) is supposed to wait until the GPU is idle. First it waits for the GPU to become busy, but this may never happen. It then times out, but that causes the observed freeze of the system.
The statement to wait for the GPU to become busy was introduced in 2.6.22, http://
Now one of the problems is that this first bug interacts with a second one: the timeout of via_wait_idle() is ignored in via_driver_
The combination of both bugs means that we do not want to handle timeouts caused by the GPU being already idle. And I am not even sure whether we want to handle timeouts at all: it would be a good idea, but the code so far does not.
Anyway, I have a patch below that fixes the two bugs, explains what is going on, and most of all works for me. I would be interested to here how it works for other people. (To be honest I could not get openchrome to work under i386 on my system, but maybe somebody has more luck.)
One of the annoying aspects of this bug is that there is no error message anywhere. I think this is because DRM does not usually log error messages, and because the return code of via_wait_idle() is handled incorrectly. If I enable debugging with insmod drm.ko debug=1, I get the lines attached as dmesg.log, indicating that the patch is working as intended.
This bug may be related to https:/
description: | updated |
Changed in linux (Ubuntu): | |
assignee: | nobody → Andy Whitcroft (apw) |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in openchrome: | |
status: | Unknown → Fix Released |
Changed in xserver-xorg-video-openchrome (Ubuntu): | |
importance: | Undecided → Medium |
Changed in xserver-xorg-video-openchrome (Ubuntu): | |
status: | Confirmed → Invalid |
status: | Invalid → Triaged |
Changed in linux (Ubuntu): | |
status: | Incomplete → Invalid |
summary: |
- Freezes with K8M890 and openchrome driver + [K8M890] Freezes with K8M890 and openchrome driver |
Could You please try to build and install the newest Openchrome driver and try to run with original kernel?
Build instruction I described at: /help.ubuntu. com/community/ OpenChrome
https:/
I have Ubuntu Intrepid 8.10 with K8M890 chipset and latest openchrome drivers and I do not observe any applications freezes.