RV: PCI parallel/serial irq sharing on PC->partial success

From: Javier Vizcaino (javizca@bbvnet.com)
Date: Fri May 26 2000 - 12:22:05 EST


Hi.

As per your suggestion, I upgraded serial driver from
http://serial.sourceforge.net and so I got true irq sharing on IRQ11 between
a PCI serial port and a PCI 3Com lan card. It gave errors compiling into the
kernel, but it worked as a module. Now serial.c is written taking care of
sharing interrupts.

A capture of 'cat /proc/interrupts' was:
           CPU0
  0: 57789 XT-PIC timer
  1: 1254 XT-PIC keyboard
  2: 0 XT-PIC cascade
  3: 106 XT-PIC serial
  4: 2770 XT-PIC serial
  5: 13 XT-PIC parport2
  6: 6 XT-PIC floppy
  7: 3 XT-PIC serial
  9: 4 XT-PIC serial
 10: 4 XT-PIC ide3
 11: 1334 XT-PIC eth0, serial
 12: 380 XT-PIC PS/2 Mouse
 13: 1 XT-PIC fpu
 14: 3819 XT-PIC ide0
 15: 22 XT-PIC ide1
NMI: 0
For IRQ11 there was a continuous ping, and an external modem on the PCI
serial. PLIP was running on mobo's lpt (above parport2/IRQ5).

For completing the info, the whole 'lspci -v' is:
[-----------------------
00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01)
 Flags: bus master, medium devsel, latency 32

00:01.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 01)
 Flags: bus master, medium devsel, latency 0

00:01.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if
80 [Master])
 Flags: bus master, medium devsel, latency 32
 I/O ports at e000

00:01.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
 Flags: bus master, medium devsel, latency 32, IRQ 11
 I/O ports at d800

00:01.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 01)
 Flags: medium devsel

00:09.0 Parallel controller: Lava Computer mfg Inc: Unknown device 8800
(prog-if 01 [BiDir])
 Flags: slow devsel, IRQ 11
 I/O ports at d400

00:09.1 Serial controller: Lava Computer mfg Inc: Unknown device 0900
(prog-if 02 [16550])
 Flags: slow devsel, IRQ 11
 I/O ports at d000
 I/O ports at b800

00:0a.0 VGA compatible controller: NVidia / SGS Thomson (Joint Venture)
Riva128 (rev 10)
 Subsystem: Elsa AG: Unknown device 0018
 Flags: bus master, medium devsel, latency 32, IRQ 11
 Memory at e5000000 (32-bit, non-prefetchable)
 Memory at e7000000 (32-bit, prefetchable)

00:0b.0 VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 01)
 Subsystem: S3 Inc. ViRGE/DX
 Flags: medium devsel
 Memory at e0000000 (32-bit, non-prefetchable) [disabled]
 Expansion ROM at e6bf0000 [disabled]

00:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
 Flags: bus master, medium devsel, latency 32, IRQ 11
 I/O ports at b400
-----------------------]
All PCI cards and USB are on IRQ11.
See there are two graphic cards; I'll upgrade do X4 some day.

Now, it remains completing the code for plip.c, and possibly for irq
printing.

Thanks a lot, Javier Vizcaino, Madrid, Spain.

************************************
Javier Vizcaino. Ability Electronics. javizca@bbvnet.com
http://www.automodelismo.com http://ability53.hypermart.net
  Starting point: (-1)^(-1) = -1
  Applying logarithms: (-1)*ln(-1) = ln(-1)
  Since ln(-1) <> 0, dividing: -1 = 1 (ln(-1) is complex, but exists)

----- Mensaje original -----
De: "Javier Vizcaino" <9072335033#javizca@bbvnet.com>
Para: "Andrey Panin" <pazke@orbita.don.sitek.net>
Enviado: viernes 26 de mayo de 2000 9:59
Asunto: RE: PCI parallel/serial irq sharing on PC

> Hi. Thanks for your answer and interest.
>
> The question related to share IRQ11 between all devices on PCI bus,
> including a PCI 2S+1P:
> -3Com lan card.
> -PCI parallel for plip1.
> -minicom's on PCI serials to external modems.
>
> ----- Mensaje original -----
> De: "Andrey Panin" <pazke@orbita.don.sitek.net>
> Para: <javizca@bbvnet.com>
> Enviado: jueves 25 de mayo de 2000 13:40
> Asunto: Re: PCI parallel/serial irq sharing on PC
>
>
> > Hi,
> >
> > can you please explain your situation more carefully, at least
> > kernel version and PCI information (/proc/pci file) are required.
> >
> > > serial.c:
> > > #define IRQ_T(state) \
> > > ((state->flags & ASYNC_SHARE_IRQ) ? SA_SHIRQ : SA_INTERRUPT)
> > > ...
> > > retval = request_irq(state->irq, handler, IRQ_T(state), "serial",
NULL);
> >
> > Seems like your serial driver is outdated. Try download new version
> > from http://serial.sourceforge.net.
> >
> > Best wishes,
> > Andrey
> >
> >
>
> Distribution is Suse 6.3, with kernel 2.2-13, in both systems I try.
>
> 2serial+1parallel PCI is a Boca Research card, mainly with a 16C552 chip,
> some TTL's and a Xilinx chip to the PCI bus. On the PCB is written "Lava
> Computer" (see what follows).
>
> The objective is true sharing IRQ11 between devices in the 2S+1P and the
lan
> card. When 2.4, with USB. And if X ever uses irq, with the PCI graphic
card.
> A popular graphic os, dated 1998, does it without problems (the PC
> multiboots with lilo in it and Linux).
>
> Lines from 'lspci -v' related to PCI 2S+1P are:
> 00:09.0 Parallel controller: Lava Computer mfg Inc: Unknown device 8800
> (prog-if 01 [BiDir])
> Flags: slow devsel, IRQ 11
> I/O ports at d400
>
> 00:09.1 Serial controller: Lava Computer mfg Inc: Unknown device 0900
> (prog-if 02 [16550])
> Flags: slow devsel, IRQ 11
> I/O ports at d000
> I/O ports at b800
>
> A capture of 'cat /proc/interrupts' is:
> CPU0
> 0: 86366 XT-PIC timer
> 1: 2181 XT-PIC keyboard
> 2: 0 XT-PIC cascade
> 3: 110 XT-PIC serial
> 4: 4202 XT-PIC serial
> 6: 27 XT-PIC floppy
> 7: 920 XT-PIC serial
> 9: 940 XT-PIC serial
> 10: 15 XT-PIC ide3
> 11: 11 XT-PIC serial
> 12: 485 XT-PIC PS/2 Mouse
> 13: 1 XT-PIC fpu
> 14: 3945 XT-PIC ide0
> 15: 22 XT-PIC ide1
> NMI: 0
> In this case, I was trying IRQ11 on a PCI serial, not activation plip1 on
> PCI paralell and having retired a 3Com PCI lan card. IRQ5 is shared by
> mobo's lpt for plip0, and an ISA SoundBlaster (one or the other).
> BTW, the com port with IRQ3 has an infrared Tekram 210 dongle.
>
> On '/etc/modules.conf' the definition of the parallel ports is:
> options parport_pc io=0x3bc,0x378,0x278,0xd400 irq=none,none,5,11
> 3bc is on a monochrome card, 378 on an ISA multi i/o, and 278 on the mobo.
> 'cat /proc/parport/*/*' agrees with four lpt's above.
>
> I prepare the PCI serials with:
> #!/bin/sh
> setserial -v /dev/ttyS14 port 0xd000 autoconfig
> setserial -v /dev/ttyS15 port 0xb800 autoconfig
> #setserial -v /dev/ttyS14 port 0xd000 irq 11 uart 16550A
> #setserial -v /dev/ttyS15 port 0xb800 irq 11 uart 16550A
> Strictly as above, I get "IRQ 0" assigned to the serials, if lan or PCI
> parallel has IRQ11. Using the commented lines appears "IRQ 11" but it does
> not work if trying to share.
>
> At present, I can assign IRQ11 to the lan card, or to the PCI serials, or
to
> the PCI parallel, but I can't share. I think the code is not prepared on
> serial.c and plip.c (I don't know for printing with irq), but it seems
> prepared on the lan card.
>
> TIA, Javier Vizcaino.

-
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/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:16 EST