Re: Is it possible to change IRQ for certain device?

From: Jan Marek
Date: Fri Jan 11 2008 - 11:57:24 EST


Hello,

thanks a lot for replies.

But...
On Thu, Jan 10, 2008 at 09:01:37AM -0500, linux-os (Dick Johnson) wrote:
>
> On Thu, 10 Jan 2008, Jan Marek wrote:
>
> > Hello lkml,
> >
> > I have problem with my computer: I have motherboard with AMD690G chipset
> > and nVidia VGA card. But I cannot set BIOS, to assign for VGA unique
> > IRQ. VGA card is sharing IRQ with two ohci_hcd (USB 1.1 controllers).
> > But when I want use for X proprietary nvidia driver, X didn't work with
> > this errors:
> >
> > In dmesg:
> >
> > NVRM: RmInitAdapter failed! (0x23:0xffffffff:678)
> > NVRM: rm_init_adapter(0) failed
> >
> > and in /var/log/Xorg.0.log:
> >
> > (II) Setting vga for screen 0.
> > (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
> > (==) NVIDIA(0): RGB weight 888
> > (==) NVIDIA(0): Default visual is TrueColor
> > (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
> > (**) NVIDIA(0): Enabling RENDER acceleration
> > (II) NVIDIA(0): Support for GLX with the Damage and Composite X
> > extensions is
> > (II) NVIDIA(0): enabled.
> > (EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device
> > PCI:1:0:0.
> > (EE) NVIDIA(0): Please see the COMMON PROBLEMS section in the
> > README for
> > (EE) NVIDIA(0): additional information.
> > (EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device!
> > (EE) NVIDIA(0): *** Aborting ***
> > (II) UnloadModule: "nvidia"
> > (II) UnloadModule: "fb"
> > (EE) Screen(s) found, but none have a usable configuration.
> >
> > Fatal server error:
> > no screens found
> >
> > I've found in README for NVIDIA, that VGA has to have unique IRQ. I've
> > tried to set INTERRUPT_LINE and INTERRUPT_PIN with setpci tool, set
> > pci=routeirq, pci=noacpi as the kernel boot parameters, but IRQ
> > is still the same.
> >
> > Is there a way to change IRQ for VGA (or for ohci_hcd instead of VGA)
> > directly in Linux?
> >
> > Thanks a lot.
> >
> > Sincerely
> > Jan Marek
>
> The interrupt lines are set by the traces on the PC board and
> the contents of various "glue" chips and FPGAs. Many lap-tops,
> for instance, only have one IRQ serving any PCI devices. If
> your screen card can't share the only IRQ you have, it is
> broken. Contact the vendor of both your motherboard (they
> may have a BIOS upgrade) and the screen card (they may
> have a fix).

I know, that interrupt lines are hardwired, but IMHO IOAPIC can assign
for every device on every hardwired line another IRQ. Am I right? I
think, that in this process can do some work BIOS. But I though, that
Linux can do similar work, when initializing hardware and can reassign
IRQ for certain device to another "number".

In BIOS of my motherboard there is no options like "IRQ for VGA" or
similar... :-( It's Gigabyte MA69G-S3H. I have already flashed newest
BIOS, which is on the Gigabyte web pages...

I suppose, that VGA card does not need unique IRQ, but programmers,
which wrote driver, want it. I can imagine, that VGA card have many
interrupts, especially in the OpenGL games, but I cannot assign unique
IRQ for VGA card at all :-(

But thank you for advice: I will try to send e-mail to Gigabyte and ask
they, if it possible to do change in the BIOS.

BTW: it is interesting: I had a Biostar TA690G motherboard and it behave
similar as Gigabyte: I cannnot assign unique IRQ to the external
graphics card... Chipsets of this motherboards are the same...

I've tried to solve this problem by bought of new motherboard: Gigabyte
MA790FX-DS5. I will see, if this board will behave as previous board...

>
> Cheers,
> Dick Johnson
> Penguin : Linux version 2.6.22.1 on an i686 machine (5588.29 BogoMips).
> My book : http://www.AbominableFirebug.com/

Sincerely
Jan Marek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/