2005-03-24 19:02:34

by Michael Tokarev

[permalink] [raw]
Subject: Interesting tidbit: NetMos 9835 card, IRQ, and ACPI

Found an interesting issue here.

HP ProLiant ML150 box (dual xeon 2.4GHz) with intel
chipset (lspci output below) and NetMos PCI 9835
Multi-I/O Controller.

Boot with no fancy options on kernel command line.

# cat /sys/bus/pci/devices/0000:01:00.0/irq
11
# modprobe 8250
# setserial /dev/ttyS2 irq 11 port 0xa400 autoconfig

the serial port does not work: close'int the file
after writing something stalls for a while, and nothing
gets written. Ok.

# rmmod 8250
# modprobe parport_pc
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
# cat /sys/bus/pci/devices/0000:01:00.0/irq
193
# rmmod parport_pc # as it will conflict with 8250 here
# modprobe 8250
# setserial /dev/ttyS2 irq 193 port 0xa400 autoconfig

now the serial port works.

In other words, one have to load and unload parport_pc to
trigger that IRQ change, after which serial driver works.

When booting with pci=noacpi, the irq here is always 169,
and everything works fine (modulo the parport_pc vs 8250
conflict which is a different story).

Without that parport_pc "ping" hack, the whole stuff looks
like a BIOS problem. But parport_pc behaviour makes it..
more interesting... ;)

Kernel is 2.6.11.

BTW, we have another prob with this very Netmos card and this very
machine: sometimes, the whole machine hangs hard when using serial
driver, so only power button helps. Happens with 2.4.* kernels
(it assigns IRQ18 to the card) and with earlier 2.6.x kernels.
Dunno if the two are related.

/mjt

# lspci
0000:00:00.0 Host bridge: Intel Corp. E7501 Memory Controller Hub (rev 01)
0000:00:02.0 PCI bridge: Intel Corp. E7500/E7501 Hub Interface B PCI-to-PCI Bridge (rev 01)
0000:00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 42)
0000:00:1f.0 ISA bridge: Intel Corp. 82801CA LPC Interface Controller (rev 02)
0000:00:1f.1 IDE interface: Intel Corp. 82801CA Ultra ATA Storage Controller (rev 02)
0000:00:1f.3 SMBus: Intel Corp. 82801CA/CAM SMBus Controller (rev 02)
0000:01:00.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)
0000:01:02.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
0000:02:1c.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04)
0000:02:1d.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04)
0000:02:1e.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04)
0000:02:1f.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04)
0000:04:01.0 Ethernet controller: Intel Corp. 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
0000:04:04.0 SCSI storage controller: Adaptec AIC-7902 U320 (rev 03)
0000:04:04.1 SCSI storage controller: Adaptec AIC-7902 U320 (rev 03)

# lspci -vv
0000:00:00.0 Host bridge: Intel Corp. E7501 Memory Controller Hub (rev 01)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [40] #09 [1105]

0000:00:02.0 PCI bridge: Intel Corp. E7500/E7501 Hub Interface B PCI-to-PCI Bridge (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=02, subordinate=04, sec-latency=0
I/O behind bridge: 0000b000-0000dfff
Memory behind bridge: fe600000-feafffff
Prefetchable memory behind bridge: ff700000-ff9fffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

0000:00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company: Unknown device 2480
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 153
Region 4: I/O ports at e800 [size=32]

0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 42) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 00007000-0000afff
Memory behind bridge: fc500000-fe5fffff
Prefetchable memory behind bridge: ff600000-ff6fffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

0000:00:1f.0 ISA bridge: Intel Corp. 82801CA LPC Interface Controller (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

0000:00:1f.1 IDE interface: Intel Corp. 82801CA Ultra ATA Storage Controller (rev 02) (prog-if 8a [Master SecP PriP])
Subsystem: Hewlett-Packard Company: Unknown device 2480
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 169
Region 0: I/O ports at <unassigned>
Region 1: I/O ports at <unassigned>
Region 2: I/O ports at <unassigned>
Region 3: I/O ports at <unassigned>
Region 4: I/O ports at ffa0 [size=16]
Region 5: Memory at 80000000 (32-bit, non-prefetchable) [disabled] [size=1K]

0000:00:1f.3 SMBus: Intel Corp. 82801CA/CAM SMBus Controller (rev 02)
Subsystem: Hewlett-Packard Company: Unknown device 2480
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin B routed to IRQ 161
Region 4: I/O ports at 0540 [size=32]

0000:01:00.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
Subsystem: LSI Logic / Symbios Logic 2S (16C550 UART)
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 169
Region 0: I/O ports at a400 [size=8]
Region 1: I/O ports at a000 [size=8]
Region 2: I/O ports at 9800 [size=8]
Region 3: I/O ports at 9400 [size=8]
Region 4: I/O ports at 9000 [size=8]
Region 5: I/O ports at 8800 [size=16]

0000:01:02.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) (prog-if 00 [VGA])
Subsystem: Hewlett-Packard Company: Unknown device 8008
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2000ns min), Cache Line Size: 0x10 (64 bytes)
Interrupt: pin A routed to IRQ 169
Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Region 1: I/O ports at a800 [size=256]
Region 2: Memory at fe5ff000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at fe5c0000 [disabled] [size=128K]
Capabilities: [5c] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:02:1c.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04) (prog-if 20 [IO(X)-APIC])
Subsystem: Intel Corp. 82870P2 P64H2 I/OxAPIC
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at feafe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [50] PCI-X non-bridge device.
Command: DPERE- ERO- RBC=0 OST=0
Status: Bus=2 Dev=28 Func=0 64bit+ 133MHz+ SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM-

0000:02:1d.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64, Cache Line Size: 0x10 (64 bytes)
Bus: primary=02, secondary=04, subordinate=04, sec-latency=64
I/O behind bridge: 0000b000-0000dfff
Memory behind bridge: fe700000-fe9fffff
Prefetchable memory behind bridge: 00000000ff800000-00000000ff800000
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [50] PCI-X bridge device.
Secondary Status: 64bit+, 133MHz+, SCD-, USC-, SCO-, SRD- Freq=1
Status: Bus=2 Dev=29 Func=0 64bit+ 133MHz+ SCD- USC-, SCO-, SRD-
: Upstream: Capacity=65535, Commitment Limit=65535
: Downstream: Capacity=65535, Commitment Limit=65535

0000:02:1e.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04) (prog-if 20 [IO(X)-APIC])
Subsystem: Intel Corp. 82870P2 P64H2 I/OxAPIC
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at feaff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [50] PCI-X non-bridge device.
Command: DPERE- ERO- RBC=0 OST=0
Status: Bus=2 Dev=30 Func=0 64bit+ 133MHz+ SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM-

0000:02:1f.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04) (prog-if 00 [Normal decode])
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64, Cache Line Size: 0x10 (64 bytes)
Bus: primary=02, secondary=03, subordinate=03, sec-latency=64
Memory behind bridge: fe600000-fe6fffff
Prefetchable memory behind bridge: 00000000ff700000-00000000ff700000
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [50] PCI-X bridge device.
Secondary Status: 64bit+, 133MHz+, SCD-, USC-, SCO-, SRD- Freq=3
Status: Bus=2 Dev=31 Func=0 64bit+ 133MHz+ SCD- USC-, SCO-, SRD-
: Upstream: Capacity=65535, Commitment Limit=65535
: Downstream: Capacity=65535, Commitment Limit=65535

0000:04:01.0 Ethernet controller: Intel Corp. 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
Subsystem: Hewlett-Packard Company: Unknown device 1001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (63750ns min), Cache Line Size: 0x10 (64 bytes)
Interrupt: pin A routed to IRQ 177
Region 0: Memory at fe9a0000 (64-bit, non-prefetchable) [size=128K]
Region 4: I/O ports at c400 [size=64]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [e4] PCI-X non-bridge device.
Command: DPERE- ERO+ RBC=0 OST=0
Status: Bus=4 Dev=1 Func=0 64bit+ 133MHz+ SCD- USC-, DC=simple, DMMRBC=2, DMOST=0, DMCRS=1, RSCEM-
Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000

0000:04:04.0 SCSI storage controller: Adaptec AIC-7902 U320 (rev 03)
Subsystem: Hewlett-Packard Company: Unknown device 103c
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (10000ns min, 6250ns max), Cache Line Size: 0x10 (64 bytes)
Interrupt: pin A routed to IRQ 185
Region 0: I/O ports at d000 [size=256]
Region 1: Memory at fe9fc000 (64-bit, non-prefetchable) [disabled] [size=8K]
Region 3: I/O ports at c800 [size=256]
Expansion ROM at fe880000 [disabled] [size=512K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [94]
0000:04:04.1 SCSI storage controller: Adaptec AIC-7902 U320 (rev 03)
Subsystem: Hewlett-Packard Company: Unknown device 103c
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (10000ns min, 6250ns max), Cache Line Size: 0x10 (64 bytes)
Interrupt: pin B routed to IRQ 193
Region 0: I/O ports at d800 [size=256]
Region 1: Memory at fe9fe000 (64-bit, non-prefetchable) [disabled] [size=8K]
Region 3: I/O ports at d400 [size=256]
Expansion ROM at fe900000 [disabled] [size=512K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [94]


2005-03-24 19:17:43

by Russell King

[permalink] [raw]
Subject: Re: Interesting tidbit: NetMos 9835 card, IRQ, and ACPI

On Thu, Mar 24, 2005 at 10:02:05PM +0300, Michael Tokarev wrote:
> Found an interesting issue here.
>
> HP ProLiant ML150 box (dual xeon 2.4GHz) with intel
> chipset (lspci output below) and NetMos PCI 9835
> Multi-I/O Controller.
>
> Boot with no fancy options on kernel command line.
>
> # cat /sys/bus/pci/devices/0000:01:00.0/irq
> 11
> # modprobe 8250
> # setserial /dev/ttyS2 irq 11 port 0xa400 autoconfig
>
> the serial port does not work: close'int the file
> after writing something stalls for a while, and nothing
> gets written. Ok.

setserial shouldn't be used to configure PCI-based serial ports. It's
expected to fail. 8)

> # rmmod 8250
> # modprobe parport_pc
> ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
> # cat /sys/bus/pci/devices/0000:01:00.0/irq
> 193
> # rmmod parport_pc # as it will conflict with 8250 here
> # modprobe 8250
> # setserial /dev/ttyS2 irq 193 port 0xa400 autoconfig
>
> now the serial port works.

That's because parport_pc seems to think it should be driving this
combination serial/parallel device. That's actually something that
parport_serial should be doing, and there's a patch in -mm to fix
this:

http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm2/broken-out/netmos-parallel-serial-combo-support.patch

However, this patch seems to claim that the 9835 is not supported
by anything in the kernel at present, so how is parport_pc finding
your card? Have you applied any patches?

> BTW, we have another prob with this very Netmos card and this very
> machine: sometimes, the whole machine hangs hard when using serial
> driver, so only power button helps. Happens with 2.4.* kernels
> (it assigns IRQ18 to the card) and with earlier 2.6.x kernels.
> Dunno if the two are related.

That's a separate problem.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

2005-03-24 19:55:28

by Michael Tokarev

[permalink] [raw]
Subject: Re: Interesting tidbit: NetMos 9835 card, IRQ, and ACPI

Russell King wrote:
> On Thu, Mar 24, 2005 at 10:02:05PM +0300, Michael Tokarev wrote:
[]
>> # cat /sys/bus/pci/devices/0000:01:00.0/irq
>> 11
>> # modprobe 8250
>> # setserial /dev/ttyS2 irq 11 port 0xa400 autoconfig
>>
>>the serial port does not work: close'int the file
>>after writing something stalls for a while, and nothing
>>gets written. Ok.
>
> setserial shouldn't be used to configure PCI-based serial ports. It's
> expected to fail. 8)

Well.. it worked this way since kernel 2.2.x, ie, for ages.
2.6.10 or 2.6.11 broke it.

>> # rmmod 8250
>> # modprobe parport_pc
>> ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
>> # cat /sys/bus/pci/devices/0000:01:00.0/irq
>> 193
>> # rmmod parport_pc # as it will conflict with 8250 here
>> # modprobe 8250
>> # setserial /dev/ttyS2 irq 193 port 0xa400 autoconfig
>>
>>now the serial port works.
>
> That's because parport_pc seems to think it should be driving this
> combination serial/parallel device. That's actually something that

After thinking a bit more, I see the problem: parport_pc, when
claiming the device, performs initialisation stuff which changes
the IRQ. While 8250[_pci] module does not know this device and
does not perform any additional initialisation, hence it does not
work.

> parport_serial should be doing, and there's a patch in -mm to fix
> this:
>
> http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm2/broken-out/netmos-parallel-serial-combo-support.patch
>
> However, this patch seems to claim that the 9835 is not supported
> by anything in the kernel at present, so how is parport_pc finding
> your card? Have you applied any patches?

It was 2.6.11.5 without any relevant patches applied.

I saw the post by Bjorn Helgaas at Mar-23. Tried applying
it and now I may say for sure: the patch made the whole
thing to work just fine. When loading 8250_pci module
(never did that before, tried now without the patch -
obviously it doesn't recognize the card), both serial
ports gets recognized automatically and correctly, and
the IRQ gets changed from 11 to 193 automatically too:

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
ttyS4 at I/O 0xa400 (irq = 193) is a 16550A
ttyS5 at I/O 0xa000 (irq = 193) is a 16550A

And oh.. now the ports are at ttyS[45], I used for them
to be at ttyS[23]... Oh well...

The patch does not apply to 2.6.11 - several hunks, notable
all the parport stuff, fails. I'll dig into this a bit
later today (hopefully). 8250 changes are enouth for the
serial port to work, parallel port still does not work --
without the missing patch hunks.

And oh.. From the description of the patch, it looks like
it *fixes* the "9835 card is unsupported" problem, not as
"9835 is still unsupported". Confusing a bit, but it's
how I read it... ;)

/mjt

2005-03-25 18:16:08

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Interesting tidbit: NetMos 9835 card, IRQ, and ACPI

On Thursday 24 March 2005 12:54 pm, Michael Tokarev wrote:
> Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
> ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
> ttyS4 at I/O 0xa400 (irq = 193) is a 16550A
> ttyS5 at I/O 0xa000 (irq = 193) is a 16550A
>
> And oh.. now the ports are at ttyS[45], I used for them
> to be at ttyS[23]... Oh well...

Someday maybe we should make serial rely on PNP, and only
use the compiled-in table when PNP isn't available or is
turned off. Then ports would just be numbered sequentially
as they're discovered. And it would also help with the
current situation where ttyS0/1 are often discovered two
or three times.

> The patch does not apply to 2.6.11 - several hunks, notable
> all the parport stuff, fails. I'll dig into this a bit
> later today (hopefully). 8250 changes are enouth for the
> serial port to work, parallel port still does not work --
> without the missing patch hunks.

My patch was against the -mm tree, and I think one of the
differences between 2.5.11 and the -mm tree was the
removal of 9835 from parport_pc. Sounds like you've
figured that out already :-)