Re: Why no interrupt priorities?

From: Etienne Lorrain (etienne_lorrain_at_yahoo.fr)
Date: 02/27/04

  • Next message: Florian Lohoff: "[2.6.3] Ooops ext3_lookup -> d_splice_alias -> d_move"
    Date:	Fri, 27 Feb 2004 12:37:25 +0100 (CET)
    To: linux-kernel@vger.kernel.org
    
    

    Russell King wrote:
    > Michael Frank wrote:
    > > Is this to imply that edge triggered shared interrupts
    > > are used anywhere?
    >
    > It is (or used to be) rather common with serial ports. Remember that
    > COM1 and COM3 were both defined to use IRQ4 and COM2 and COM4 to use
    > IRQ3.

      If you are talking of old ISA serial cards, the IRQ were "shared" in
     the sense that the IRQ pin was not connected to the microprocessor
     when the device was not open (under Linux).
     So you could reliably have COM1 and COM3 on IRQ4 if you did not use
     the two devices at the same time - or use one of them in the polling
     mode (IRQ 0: handle by the timer at low speed).

      Some unusual hardware could handle two ports on the same IRQ (the
     same card mixing itself the IRQ of the two COM port present on the
     same ISA card) but the mixing could not be reliably handled at the
     ISA level. Using a resistor and/or a diode instead of a jumper to
     select the IRQ could also do the trick. So the software was ready
     to handle two interrupts from two UART on the same IRQ - but you
     had to have special hardware.

      Some people had success having a modem on COM1 and a serial _mouse_
     on COM3 (or the other way around) because the COM1/modem was winning
     the control of the ISA IRQ and the COM3/modem was loosing but because
     of 1200 bauds transmission speed the timer interrupt was recovering the
     char received. So they could not tell the difference and did not know
     why inverting the two serial plug did not work.

      Now if you are talking of newer motherboard with COM port integrated,
     you may have been able to share (but unusual) - if you are talking
     of PCI card serial ports then that is another story.

      Etienne.

            

            
                    
    Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout !
    Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/

    Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !Téléchargez Yahoo! Messenger sur http://fr.messenger.yahoo.com
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Florian Lohoff: "[2.6.3] Ooops ext3_lookup -> d_splice_alias -> d_move"

    Relevant Pages

    • Re: Why no interrupt priorities?
      ... >> It is rather common with serial ports. ... > Some unusual hardware could handle two ports on the same IRQ (the ... > same card mixing itself the IRQ of the two COM port present on the ... by oring 8 interrupts to irq 3. ...
      (Linux-Kernel)
    • How to use sharing IRQ for several COM ports(ISA) in WinCE6.0
      ... My platform is X86-based. ... How do I do if I use the same IRQ for several COM ports (ISA) in WinCE6.0. ...
      (microsoft.public.windowsce.platbuilder)
    • Re: 2.6.12 sound problem
      ... >>of obscure kernel parameters. ... Allocating PCI resources starting at 10000000 ... Using ACPI for IRQ routing ... Using CSCINT to route CSC interrupts to PCI ...
      (Linux-Kernel)
    • emu10kx SB Live 5.1 digital problem
      ... used the ports version of the driver and it worked great but after all ... <ACPI PCI bus> on pcib0 ... 0xe1000000-0xe1ffffff,0xd0000000-0xdfffffff,0xe0000000-0xe0ffffff irq ... usb0: USB revision 1.0 ...
      (freebsd-current)
    • ATI SB600 Sata controler isnt detected as such.
      ... Running FreeBSD 7.0-STABLE on AMD64. ... I got a MSI K9AGM3-F motherboard, ... AHCI Version 01.10 controller with 4 ports detected ... configured irq 4 not in bitmap of probed irqs 0 ...
      (freebsd-stable)