linux/drivers/tty/serial/8250
Scott Ashcroft d13402a4a9 Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards
I've managed to find an 8 port version of the card 4 port card which was discussed here:

http://marc.info/?l=linux-serial&m=120760744205314&w=2

Looking back at that thread there were two issues in the original patch.

1) The I/O ports for the UARTs are within BAR2 not BAR0. This can been seen in the original post.
2) A serial quirk isn't needed as these cards have no memory in BAR0 which makes pci_plx9050_init just return.

This patch fixes the 4 port support to use BAR2, removes the bogus quirk and adds support for the 8 port card.

$ lspci -vvv -n -s 00:08.0
00:08.0 0780: 10b5:9050 (rev 01)
	Subsystem: 10b5:1588
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 17
	Region 1: I/O ports at ff00 [size=128]
	Region 2: I/O ports at fe00 [size=64]
	Region 3: I/O ports at fd00 [size=8]
	Capabilities: <access denied>
	Kernel driver in use: serial

$ dmesg | grep 0000:00:08.0:
[    0.083320] pci 0000:00:08.0: [10b5:9050] type 0 class 0x000780
[    0.083355] pci 0000:00:08.0: reg 14: [io  0xff00-0xff7f]
[    0.083369] pci 0000:00:08.0: reg 18: [io  0xfe00-0xfe3f]
[    0.083382] pci 0000:00:08.0: reg 1c: [io  0xfd00-0xfd07]
[    0.083460] pci 0000:00:08.0: PME# supported from D0 D3hot
[    1.212867] 0000:00:08.0: ttyS4 at I/O 0xfe00 (irq = 17) is a 16550A
[    1.233073] 0000:00:08.0: ttyS5 at I/O 0xfe08 (irq = 17) is a 16550A
[    1.253270] 0000:00:08.0: ttyS6 at I/O 0xfe10 (irq = 17) is a 16550A
[    1.273468] 0000:00:08.0: ttyS7 at I/O 0xfe18 (irq = 17) is a 16550A
[    1.293666] 0000:00:08.0: ttyS8 at I/O 0xfe20 (irq = 17) is a 16550A
[    1.313863] 0000:00:08.0: ttyS9 at I/O 0xfe28 (irq = 17) is a 16550A
[    1.334061] 0000:00:08.0: ttyS10 at I/O 0xfe30 (irq = 17) is a 16550A
[    1.354258] 0000:00:08.0: ttyS11 at I/O 0xfe38 (irq = 17) is a 16550A

Signed-off-by: Scott Ashcroft <scott.ashcroft@talk21.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-12 08:53:23 -07:00
..
8250_accent.c
8250_acorn.c tty: remove use of __devexit 2012-11-21 15:27:46 -08:00
8250_boca.c
8250_dma.c serial: 8250_dma: TX optimisation 2013-01-16 07:36:10 -08:00
8250_dw.c Merge 3.8-rc5 into tty-next 2013-01-25 13:27:36 -08:00
8250_early.c drivers/tty/serial/8250: use strlcpy instead of strcpy 2013-01-20 15:50:36 -08:00
8250_em.c tty: remove use of __devexit 2012-11-21 15:27:46 -08:00
8250_exar_st16c554.c
8250_fourport.c
8250_fsl.c
8250_gsc.c 8250: use the 8250 register interface not the legacy one 2012-07-12 14:46:22 -07:00
8250_hp300.c tty: remove use of __devexit 2012-11-21 15:27:46 -08:00
8250_hub6.c
8250_pci.c Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards 2013-03-12 08:53:23 -07:00
8250_pnp.c tty: remove use of __devexit 2012-11-21 15:27:46 -08:00
8250.c tty/serial: Add support for Altera serial port 2013-03-12 08:53:23 -07:00
8250.h Merge 3.8-rc5 into tty-next 2013-01-25 13:27:36 -08:00
Kconfig serial: ralink: adds support for the serial core found on ralink wisoc 2013-01-30 00:15:34 -05:00
Makefile serial: 8250: Add support for dmaengine 2013-01-15 23:03:00 -08:00
serial_cs.c 8250: use the 8250 register interface not the legacy one 2012-07-12 14:46:22 -07:00