lkml.org 
[lkml]   [1999]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: PCI irq sharing and X on Linux
    Wakko Warner wrote:

    > > > Because of a bunch of reasons (find the PC composition
    > > > below), I need to share IRQ11 between the PCI graphics card
    > > > and the PCI lan card, but I get genuine Linux crashes:
    > > > -If having done 'ifconfig ...' I start X.
    > > > -If having started X ('ifconfig ...' commented where
    > > > appropiate on rc.d), I do 'ifconfig ...'.
    > > > A hard reset is needed. I use ne2k-pci as module to support
    > > > the lan card (clone based on Realtek 8029AS chip). The
    > > > relevant line is:
    > > > if (request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name,
    > > > dev)) return -EAGAIN;
    > > > But I have no idea if X servers (SVGA for Elsa Victory
    > > > Erazor with Riva 128) are well behaved about interrupt
    > > > sharing. Do you know about this? Or do you guess if I miss
    > > > something?
    > >
    > > That's a problem of the Riva server. It doesn't (and can't)
    > > install an interrupt handler. Unfortunately, it sometimes
    > > generates interrupts. As long as there is no kernel driver
    > > using this interrupt there's _no_ interrupt handler so the
    > > kernel disables the line and everything works well.
    > >
    > > If there is a handler (i.e. for the network card) the line is
    > > enabled and the false irq from the RIVA card is delivered.
    > > Because no handler resets the interrupt condition, it is
    > > delivered on and on and the system is stuck.
    > >
    > > Btw, an SMP system will only get very slow *g*
    > >
    > > Conclusion: You have to use a single IRQ for the Riva.
    > > Try to share interrupts between devices that have
    > > appropriate interrupt handlers.
    > >
    > > #ifdef FLAME
    > > I bet, if there were public data sheets for the riva
    > > the bug would have been slain long ago...
    > > #endif
    >
    > I have a question. I've never had a riva or any other pci/agp cards except
    > S3 and Matrox. If you disable setting an irq in the pci bios, would this
    > not fix the problem? If the card is a AGP, I noticed that some bios's (all?
    > not sure, mine is set to disable vga irq) and there is a pci card
    > immediately below it, then it may have the same IRQ. I worked on a 95
    > machine with a wide adaptec scsi. the scsi and the video card shared the
    > same irq and it made 95 crawl worse than it does. Disabling irq made the
    > video not work on 95. Moving the scsi card down 1 slot fixed all the
    > problems.
    >
    > I'd love to hear input. I work with winblows at work and might be useful

    The basic purpose of the IRQ line on the video card is to make life hard. A
    number of manufacturers realised some time ago that if they made their video
    IRQ lines quirky, and only vaguely subject to control, they could make life
    even harder. Their basic distain for customers made them gleefully opt for
    this. Many strange PC problems go away if you just put the video card on a
    separate interrupt, and don't use it. That way the card can generate all the
    interrupts it likes, but the interrupt controller on the motherboard just
    ignores them. It can make life hard to loose a precious interrupt to a card
    that isn't using it, but on balance life becomes much easier. This is just as
    true for 95, 98 and NT as for Linux, since its a hardware issue.

    An additional pain with Windows is that a number of video drivers don't seem to
    function properly unless the video card gets interrupt 9, even though they
    don't actively use the video interrupts. I've never investigated the reason,
    but I know that reselecting the interrupt for the video card slot to make it 9
    can make a lot of Windows hangups go away.

    Steve



    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:52    [W:7.195 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site