See Below...
-----Original Message-----
From: Svante Signell [mailto:[EMAIL PROTECTED]]
Sent: Saturday, December 30, 2000 9:45 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: [expert] IRQ steering?
Thank you JMS for your very informative reply.
Further comments/questions below. Se also my reply to Bug Hunter
(funny name :).
Thanks,
Svante
[EMAIL PROTECTED] writes:
>
> Initially the BIOS handles setting up the IRQ's for your cards as
> the system comes up.
> The OS can modify this allocation as needed, within certain limits.
> The problem is that you are running up against one of the most
> often mis-understood limits.
>
> Here goes:
> Yes, as people here will indicate, you can CHANGE the IRQ utilized
> for a card, -BUT- in so doing you will not change the assignment of
> that one card. You will change the assignment of MULTIPLE devices
> or slots!
>
> Huh?
> PCI was initially designed to handle only three devices. As a
> result as manufacturers started adding PCI slots, they took to
> wiring two or more PCI slots together. Thus your AGP slot almost
> always shares an IRQ with the first PCI slot.
>
> Why?
> Well in their infinite wisdom, they deemed that if you were using
> an AGP video card, you would NOT also be using a video card in slot
> one and vice versa.
>
> Ugh, so you normally can use one or the other, but not both without
> resorting to some trickery called IRQ Steering.
>
> On newer motherboards two or more PCI slots may share an IRQ
> allocation with integrated devices. Thus, in your case the PCI slot
> you put the ethernet card into WILL ALWAYS share the same IRQ with
> your motherboard's integrated audio. NO MATTER WHAT YOU DO, this
> will be the case. You can change the allocation to say 11, but now
> your audio and eth0 will go to 11... ugh.
This would be OK if the video card does not require an IRQ, or can
more than two devices share the same IRQ? (W98 on the same machine
have no problems with three devices at IRQ5)
---
Sharing an IRQ depends upon several things.
1) The BIOS and OS must be able to determine which device initiated an IRQ in the
first place and service the request.
2) No two devices being active at the same time, or masking the IRQ's. (Something
which a lot of driver manufacturers are fond of doing...)
3) Full support for this in the OS.
4) Low IRQ handling latency.
Linux is relatively new to IRQ sharing. While it seems to be able to handle some IRQ
sharing there are problems.
Sound, Video & Ethernet cards sharing IRQ's with other devices seem to be fairly
problematic. So much so that often the drivers will disable cards that are sharing
IRQ's with other devices.
Hopefully 2.4 kernels will deal with this better.
---
I'm using X4.0.2 with DRI enabled. According to the log files and
glxinfo the card is HW accelerated. However, even though Q3A and gears
run OK, HG2, Heretic2, UT does _not_. Do the Banshee (tdfx) driver
require an IRQ?
---
Yes the Banshee does require an IRQ for VGA type output (not for when it switches to
3D mode though...).
Lacking an IRQ might make it impossible for the card to switch in and out of VGA/SVGA
modes from 3D mode and vice-versa.
----
If not everything should be OK, or something else is causing the complete slowdown,
maybe DMA?
---
Slowdown? You didn't state this initially. If you are referring to a low frame rate,
this may be due to other problems. Normally the main cause for this is that the
program is trying to do something in 3D which the card cannot handle.
This causes the graphics engine to resort to utilizing software rendering features
that put a large drain on the CPU cycles.
Your best bet is to drop all 3D features to their lowest, then crank them up one at a
time until you get acceptable gameplay.
Remember the Banshee is barely able to do 800x600x16BPP. If you set the resolution
higher then graphics engine is working in software mode...
>
> Your only choice is to move the ethernet card to another slot to
> avoid sharing IRQ's..... ISA PNP cards don't suffer from this. In a
> way they are more flexible with resource allocation.
What happens if I exchange the Ethernet card (IRQ 5) with the PCTV
card (IRQ 3)? Then according to your info IRQ 5 will be allocated to
the sound device, the TV card and the Banshee (AGP) card and IRQ 3 to
the Ethernet card.
---
Correct.
---
If all devices requires an IRQ, no solution is obtained this way!?
---
Maybe not. The TV card is not being used when your Banshee is in 3D mode.
Ideally your Ethernet card, Banshee and sound card should all have their own IRQ's for
optimal performance. In turn the TV card is NEVER used when the Banshee is in 3D mode
or you are accessing your LAN. So the TV card and Ethernet card sharing an IRQ would
be good candidates to try...
>
> If you are using an ISA PNP card you might be able to change the
> IRQ it uses with software provided by the manufacturer... This
> software modifies the "hint" that the card reports to the bios
> during boot. The preferred IRQ is stored on the card itself, and
> the bios sets up the card to use the IRQ "hinted" at by the on
> board NVRAM (or in some cases other forms of non-volatile RAM).
No ISA slots are avilable on this computer :(
>
> Since you've already stated that you have limited slots available,
> your only recourse is to either move things around, remove a
> device/card, get a new non-conflicting device or card, or a new
> computer.
>
> Welcome to the world of IBM based design architecture.
>
> Needless to say this all needs a MAJOR overhaul, but who is going
> to set the standards?
>
> -JMS