[PATCH] Perle multimodem card (PCI-RAS) detection
Get the Perle quad-modem PCI card (PCI-RAS4) detected by serial driver. It may also get the PCI-RAS8 running, but can't guarantee as I didn't had one for testing. Signed-off-by: Thomas Hoehn <thomas.hoehn@avocent.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
a21217daae
Коммит
482120084d
|
@ -920,12 +920,16 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags)
|
|||
#ifdef __i386__
|
||||
outb(0xff, 0x080);
|
||||
#endif
|
||||
scratch2 = serial_inp(up, UART_IER);
|
||||
/*
|
||||
* Mask out IER[7:4] bits for test as some UARTs (e.g. TL
|
||||
* 16C754B) allow only to modify them if an EFR bit is set.
|
||||
*/
|
||||
scratch2 = serial_inp(up, UART_IER) & 0x0f;
|
||||
serial_outp(up, UART_IER, 0x0F);
|
||||
#ifdef __i386__
|
||||
outb(0, 0x080);
|
||||
#endif
|
||||
scratch3 = serial_inp(up, UART_IER);
|
||||
scratch3 = serial_inp(up, UART_IER) & 0x0f;
|
||||
serial_outp(up, UART_IER, scratch);
|
||||
if (scratch2 != 0 || scratch3 != 0x0F) {
|
||||
/*
|
||||
|
|
|
@ -677,6 +677,13 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
|
|||
/*
|
||||
* PLX
|
||||
*/
|
||||
{
|
||||
.vendor = PCI_VENDOR_ID_PLX,
|
||||
.device = PCI_DEVICE_ID_PLX_9030,
|
||||
.subvendor = PCI_SUBVENDOR_ID_PERLE,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
.setup = pci_default_setup,
|
||||
},
|
||||
{
|
||||
.vendor = PCI_VENDOR_ID_PLX,
|
||||
.device = PCI_DEVICE_ID_PLX_9050,
|
||||
|
@ -2378,6 +2385,15 @@ static struct pci_device_id serial_pci_tbl[] = {
|
|||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, /* 135a.0811 */
|
||||
pbn_b2_2_115200 },
|
||||
|
||||
/*
|
||||
* Perle PCI-RAS cards
|
||||
*/
|
||||
{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
|
||||
PCI_SUBVENDOR_ID_PERLE, PCI_SUBDEVICE_ID_PCI_RAS4,
|
||||
0, 0, pbn_b2_4_921600 },
|
||||
{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
|
||||
PCI_SUBVENDOR_ID_PERLE, PCI_SUBDEVICE_ID_PCI_RAS8,
|
||||
0, 0, pbn_b2_8_921600 },
|
||||
/*
|
||||
* These entries match devices with class COMMUNICATION_SERIAL,
|
||||
* COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL
|
||||
|
|
|
@ -959,6 +959,7 @@
|
|||
#define PCI_DEVICE_ID_PLX_R753 0x1152
|
||||
#define PCI_DEVICE_ID_PLX_OLITEC 0x1187
|
||||
#define PCI_DEVICE_ID_PLX_PCI200SYN 0x3196
|
||||
#define PCI_DEVICE_ID_PLX_9030 0x9030
|
||||
#define PCI_DEVICE_ID_PLX_9050 0x9050
|
||||
#define PCI_DEVICE_ID_PLX_9080 0x9080
|
||||
#define PCI_DEVICE_ID_PLX_GTEK_SERIAL2 0xa001
|
||||
|
@ -1994,6 +1995,10 @@
|
|||
|
||||
#define PCI_VENDOR_ID_CHELSIO 0x1425
|
||||
|
||||
#define PCI_SUBVENDOR_ID_PERLE 0x155f
|
||||
#define PCI_SUBDEVICE_ID_PCI_RAS4 0xf001
|
||||
#define PCI_SUBDEVICE_ID_PCI_RAS8 0xf010
|
||||
|
||||
|
||||
#define PCI_VENDOR_ID_SYBA 0x1592
|
||||
#define PCI_DEVICE_ID_SYBA_2P_EPP 0x0782
|
||||
|
|
Загрузка…
Ссылка в новой задаче