login
Header Space

 
 

[PATCH] change the type of Unichrome display adapter (PCI ID=1106:3108)

Previous thread: vmlinuz resume=/dev/md0 borks swap ( unlike /dev/sda1 ) by Antryg Revok on Saturday, March 15, 2008 - 4:47 am. (1 message)

Next thread: 2.6.24 Kernel freeze by Jacek Luczak on Saturday, March 15, 2008 - 9:56 am. (1 message)
To: David Airlie <airlied@...>
Cc: Shankar Giri V <shankargiri@...>, <dri-devel@...>, LKML <linux-kernel@...>
Date: Saturday, March 15, 2008 - 7:34 am

From: Márton Németh &lt;nm127@freemail.hu&gt;

Change the type of Unichrome display adapter with PCI ID=1106:3108 to
get rid of message "irq 16: nobody cared".

See http://bugzilla.kernel.org/show_bug.cgi?id=8641 for details.

Signed-off-by: Shankar Giri V &lt;shankargiri@gmail.com&gt;
Signed-off-by: Márton Németh &lt;nm127@freemail.hu&gt;
---

--- linux-2.6.25-rc5/drivers/char/drm/drm_pciids.h.orig	2008-03-15 10:58:49.000000000 +0100
+++ linux-2.6.25-rc5/drivers/char/drm/drm_pciids.h	2008-03-15 10:59:31.000000000 +0100
@@ -335,7 +335,7 @@
 	{0x1106, 0x3118, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VIA_PRO_GROUP_A}, \
 	{0x1106, 0x3122, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
 	{0x1106, 0x7205, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
-	{0x1106, 0x3108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
+	{0x1106, 0x3108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VIA_PRO_GROUP_A}, \
 	{0x1106, 0x3344, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
 	{0x1106, 0x3343, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
 	{0x1106, 0x3230, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VIA_DX9_0}, \
--
To: Németh Márton <nm127@...>
Cc: David Airlie <airlied@...>, Shankar Giri V <shankargiri@...>, <dri-devel@...>, LKML <linux-kernel@...>
Date: Sunday, March 16, 2008 - 6:05 am

Nope, this is not a correct fix. It enables a set of DMA commands not 
available on the K8M800, also it makes the via IRQ handler just report 
"Handled" when in fact the device keeps firing 200 000 or so interrupts 
per second.

I'm 99.99 % convinced that this is a hw bug, and it also appears in the 
KM400 chipsets. When VIA was asked about it they replied that IRQ 
functionality was never verified in the K8M800 since the windows driver 
never used it. They only use IRQ for video capture transfer, and there 
is no video-in on K8M800s. Other unichromes with the same IRQ register 
interface work fine.
Having said that, it's not impossible that there may be a hidden 
register somewhere that makes it all work.

The K8M800 irqs have been turned off in newer versions of the openChrome 
2D driver to work around this issue.

/Thomas





--
Previous thread: vmlinuz resume=/dev/md0 borks swap ( unlike /dev/sda1 ) by Antryg Revok on Saturday, March 15, 2008 - 4:47 am. (1 message)

Next thread: 2.6.24 Kernel freeze by Jacek Luczak on Saturday, March 15, 2008 - 9:56 am. (1 message)
speck-geostationary