Bug 2668 - ATI: IRQ conflicts with Amilo A -laptop, cannot use DRI because of them.
Summary: ATI: IRQ conflicts with Amilo A -laptop, cannot use DRI because of them.
Status: REJECTED UNREPRODUCIBLE
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Len Brown
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-10 05:43 UTC by Jussi Karppanen
Modified: 2008-04-07 00:53 UTC (History)
4 users (show)

See Also:
Kernel Version: Linux 2.6.6-mm1
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Few command outputs & logs (58.73 KB, text/plain)
2004-05-10 05:45 UTC, Jussi Karppanen
Details
Linux 2.6.6-mm1 config (31.44 KB, text/plain)
2004-05-10 05:46 UTC, Jussi Karppanen
Details
Comparison of IRQs between Windows XP and Linux (81.06 KB, image/jpeg)
2004-12-10 03:47 UTC, Samuel Verschelde
Details
output of ./acpidump > acpidump.out, with fixed DSDT (60.76 KB, application/octet-stream)
2005-08-19 08:19 UTC, Thomas Riedel
Details
output of dmesg -s64000 > dmesg.txt, with fixed DSDT (14.66 KB, text/plain)
2005-08-19 08:24 UTC, Thomas Riedel
Details
output of cat /proc/interrupts > interrupts.txt, with fixed DSDT (663 bytes, text/plain)
2005-08-19 08:25 UTC, Thomas Riedel
Details
output of lspci -vv > lspci.txt, with fixed DSDT (9.09 KB, text/plain)
2005-08-19 08:26 UTC, Thomas Riedel
Details
original DSDT, without fixing (95.36 KB, application/octet-stream)
2005-08-19 08:34 UTC, Thomas Riedel
Details
original DSDT, without fixing (96.04 KB, application/octet-stream)
2005-08-24 16:23 UTC, Thomas Riedel
Details
fixed DSDT (99.45 KB, application/octet-stream)
2005-08-24 16:25 UTC, Thomas Riedel
Details
output of lspci without a fixed DSDT (9.15 KB, text/plain)
2005-08-24 16:28 UTC, Thomas Riedel
Details
Interrupts with fixed DSDT (663 bytes, text/plain)
2005-08-24 16:30 UTC, Thomas Riedel
Details
Interrupts without fixed DSDT (574 bytes, text/plain)
2005-08-24 16:32 UTC, Thomas Riedel
Details
dmesg with DSDT (15.06 KB, text/plain)
2005-08-24 16:34 UTC, Thomas Riedel
Details
dmesg without fixed DSDT (15.06 KB, text/plain)
2005-08-24 16:35 UTC, Thomas Riedel
Details

Description Jussi Karppanen 2004-05-10 05:43:26 UTC
Distribution: Debian/GNU Unstable
Hardware Environment: Amilo A CY26
Software Environment: XFree86 4.4.0
Problem Description: There are probably some IRQ conflicts in Amilo A -laptop.
If I have modules snd_ali5451, ohci_hcd, eth0 and yenta loaded (they all use IRQ 
11) while trying to start X with DRI support, the computer will crash (black 
screen, keyboard/network doesn't respond).
If I remove the modules, X starts fine and DRI works ok.
When the modules are unloaded and X is running with DRI, i tried to load
ethernet up and it caused the laptop to crash.

The same problem was with 2.4 kernels, but people fixed it by editing
"__HAVE_SHARED_IRQ   1" to "__HAVE_SHARED_IRQ   0" in drivers/char/drm/radeon.h. 
I tried this same fix with 2.6, but all i get are crashing 3D-applications and 
kernel oopses. X did start DRI-support enabled though.
I have tried booting with no acpi support, but the results were the same.

This is my first bug-report, so i'm not sure if i have given all the necessary 
information. I'll post few command outputs & etc. in a separate attachment.
(I used "__HAVE_SHARED_IRQ  0" in the logs.)

Steps to reproduce: Buy a Amilo A -laptop. Install 2.6.6-mm1 kernel, XFree86 4.
4.0, dri.sourceforge.net patches and try to start X+DRI when 
ethernet/sound/usb/pcmcia modules are loaded. (Follow the instructions at http:
//h00045ad2a5c0.ne.client2.attbi.com/jaydolan/igp.html). Other Amilo A users 
have reported the same problem.
Comment 1 Jussi Karppanen 2004-05-10 05:45:51 UTC
Created attachment 2837 [details]
Few command outputs & logs

/proc/interrupts, lspci -vvv, lsmod, dmesg and XFree86 log
Comment 2 Jussi Karppanen 2004-05-10 05:46:54 UTC
Created attachment 2838 [details]
Linux 2.6.6-mm1 config
Comment 3 rzr 2004-12-09 10:24:31 UTC
I am also afected by this bug :
(Linux nrv 2.6.9-amiloa #8 Tue Nov 9 12:53:25 CET 2004 i686 GNU/Linux)
log reported at http://rzr.online.fr/q/drm

FYI, This bug is connected to those ones :

https://freedesktop.org/show_bug.cgi?id=1678

How to use DRI on AmiloA with 2.6 kernels :
http://rzr.online.fr/q/dri

base knowlege on amiloA
http://rzr.online.fr/q/IRQ

By the way what bios are you using ? i am on 1.02
Comment 4 Samuel Verschelde 2004-12-10 00:59:04 UTC
I confirm everything.

I have a 2.6.8 kernel with Xorg 6.8.1

Remark : while the radeon module wants to use IRQ #11 (which is very populated
already : 5 modules, ohci_hcd, eth0, yenta, yenta, snd_ali5451), Windows XP uses
irq # 10 for radeon IGP 320M. 

Is there a way to have radeon trying another irq ? I've tried lots of
irq-related kernel boot options. The only one that had any effect on the result
of "cat /proc/interrupts" was "acpi_irq_balance". This way, snd_ali5451 moved to
irq #10... But conflicts remains between radeon and the 4 other modules at irq #11.
Comment 5 Samuel Verschelde 2004-12-10 01:22:53 UTC
I've added acpi-bugzilla to the CC list, because I think the bug was wrongly
assigned and should show:

Category : ACPI
Component : config-Interrupts (it is IRQ related)
Kernel Version : 2.6.9

I may be wrong, but if so, please assign the bug to the good person.
Comment 6 Samuel Verschelde 2004-12-10 03:47:32 UTC
Created attachment 4253 [details]
Comparison of IRQs between Windows XP and Linux

It's a table of comparison of IRQ assignment is :

- Windows XP
- Linux 2.6.8
- Linux 2.6.8 pci=noacpi
- Linux 2.6.8 acpi_irq_balance
Comment 7 Len Brown 2005-08-16 14:57:42 UTC
Is this still a problem in 2.6.13?
(it was possibly fixed by the implicit return workaround)

If so, please attach the output from acpidump, available in the
latest pmtools here:
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils
along with lspci -vv, dmesg -s64000 and /proc/interrupts
Comment 8 Thomas Riedel 2005-08-19 07:48:13 UTC
I did not try 2.6.13 yet, but this problem still exists in 2.6.12-cko3 (this
patchset includes ACPI-version 20050708).
But the reason of this is clear now: This crash occurs when the PCMCIA0-device
(the upper slot) and the RADEON-device (which always shares the IRQ with 
Firewire) do not! have the same IRQ. I know this is somewhat weird but all tests
verify this, if PCMCIA0 and Radeon have the same IRQ (no matter which one
of the IRQs that are for PCI-Devices=3,5,9,10,11) 3D works perfectly without
crashing.
It is also independent from the fact whether there is a card in the PCMCIA-slot
or not. The latest bios version for the Amilo A 7600 (1.10) from summer 2004
does not fix this and it is very unlikely that there will be a 1.11 from FSC.
Some of the Amilo A 7600-owners (me too) boot with a fixed DSDT to solve this
(and a problem with two of the three USB-slots not working with newer kernels,
but this is another topic).
This fixed DSDT (tested by some people, also with PCMCIA-devices) is available on 

http://acpi.sourceforge.net/dsdt/tables/Fujitsu-Siemens/Amilo_A_7600/Fujitsu-Siemens-Amilo_A_7600-1.0.9-custom.asl.gz

The changed lines concerning this problem are line 378 (section LNKA=PCMCIA0)
and 466 (section LNKC=Radeon and Firewire). They get the same IRQ number, IRQ 3
can be used as the Amilo A 7600 has only one COM-Port. In the original, unfixed
DSDT LNKA has IRQ 11 and LNKC has IRQ 10
(this is the same as in Windows XP, it works there, but with Linux not).
A detailed descripton is also there (also the one of the USB-problem):

http://groups.yahoo.com/group/amilo/message/539

(OK the pronounced HowTo on the end is still not ready I had much to do with my
diploma thesis). Maybe if the kernel gets fixed this will not be necessary anymore. 
It would be desirable if this problem would be fixed in future kernels as X.org 
6.8.1 and better support 3D with the Radeon IGP 320M and some distributions
(Fedora3...) enable 3D by default. Then people complain "cant use distribution
XYZ because my computer freezes when starting X". This can discourage some
beginners as loading a fixed DSDT is not so easy. 
If you wish to solve this problem in the vanilla-kernel and I can help you with
logs etc. just ask. But unfortunately I am not a programmer. Sorry if my English
is not so good. 

Thomas
  
Comment 9 Thomas Riedel 2005-08-19 08:19:39 UTC
Created attachment 5682 [details]
output of ./acpidump > acpidump.out, with fixed DSDT
Comment 10 Thomas Riedel 2005-08-19 08:24:27 UTC
Created attachment 5684 [details]
output of dmesg -s64000 > dmesg.txt, with fixed DSDT

Cant get to loginscreen without loading custom DSDT because of segmentation
faults 
and many services do not start (SuSE 9.3 with 2.6.12-cko3)
Comment 11 Thomas Riedel 2005-08-19 08:25:46 UTC
Created attachment 5685 [details]
output of cat /proc/interrupts > interrupts.txt, with fixed DSDT
Comment 12 Thomas Riedel 2005-08-19 08:26:53 UTC
Created attachment 5686 [details]
output of lspci -vv > lspci.txt, with fixed DSDT
Comment 13 Thomas Riedel 2005-08-19 08:34:31 UTC
Created attachment 5687 [details]
original DSDT, without fixing
  

This is the output of "cat /proc/acpi/dsdt > dsdt.dat followed by 
./iasl -d dsdt.dat"
As I cant get to a login screen with Kernel 2.6.12-cko3 without fixed DSDT
this the output from December 2004 with SuSE 9.0 and Kernel 2.4.28-lck1.
But there should be no differences to 2.6.x - kernels (2.6.11-cko5 booted fine
in runlevel 3 without custom DSDT).
Comment 14 Thomas Riedel 2005-08-24 16:23:41 UTC
Created attachment 5748 [details]
original DSDT, without fixing
Comment 15 Thomas Riedel 2005-08-24 16:25:26 UTC
Created attachment 5749 [details]
fixed DSDT
Comment 16 Thomas Riedel 2005-08-24 16:28:13 UTC
Created attachment 5750 [details]
output of lspci without a fixed DSDT
Comment 17 Thomas Riedel 2005-08-24 16:30:39 UTC
Created attachment 5751 [details]
Interrupts with fixed DSDT
Comment 18 Thomas Riedel 2005-08-24 16:32:28 UTC
Created attachment 5752 [details]
Interrupts without fixed DSDT
Comment 19 Thomas Riedel 2005-08-24 16:34:10 UTC
Created attachment 5753 [details]
dmesg with DSDT
Comment 20 Thomas Riedel 2005-08-24 16:35:50 UTC
Created attachment 5754 [details]
dmesg without fixed DSDT
Comment 21 Thomas Riedel 2005-08-24 16:48:46 UTC
I have now kernel 2.6.13-rc6-git13 installed. I can boot my SuSE 9.3 with this
kernel-version also without the custom DSDT (in contrast to 2.6.12). So I can 
confirm that the problem that the computer freezes if X is started with Direct
Rendering enabled also exists with 2.6.13-rc6-git13 and provide current logfiles.
(it seems that for Vesa and 2D-Mode no IRQ for the graphics card is used). 

Thomas  
Comment 22 http://rzr.online.fr/q/AmiloA 2005-08-29 13:47:11 UTC
I am also affected by this bug 
DRI works on : 2.6.12.4 not 2.6.13

I will probally drop additional notes at http://rzr.online.fr/q/Raptor
Comment 23 Len Brown 2007-08-17 20:27:05 UTC
is this still a problem with linux-2.6.22.stable?
Comment 24 Len Brown 2007-09-06 16:18:10 UTC
please re-open if this is still an issue with linux-2.6.22.stable or later
Comment 25 Martin Hansen 2008-04-06 13:55:39 UTC
I have this problem on a newly installed and updted ubuntu 7.10, with kernel 2.6.22-14-generic
Comment 26 Samuel Verschelde 2008-04-07 00:53:35 UTC
Yes, this is still an issue with latest kernel from cooker. Please reopen (I can't).

Note You need to log in before you can comment on or make changes to this bug.