From: "Catalin(ux) M BOIE" <catab@embedromix.ro>
To: pazke@pazke.donpac.ru
Cc: linux-kernel@vger.kernel.org, rmk+serial@arm.linux.org.uk,
linux-serial@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] Add support for a no-name 4 ports multiserial card
Date: Fri, 06 Jun 2008 17:20:05 +0300 [thread overview]
Message-ID: <48494795.2050408@embedromix.ro> (raw)
In-Reply-To: <20080606125233.GA31927@pazke.donpac.ru>
[-- Attachment #1: Type: text/plain, Size: 4138 bytes --]
Andrey Panin wrote:
> On 158, 06 06, 2008 at 10:13:13AM +0300, Catalin(ux) M BOIE wrote:
>> It is a no-name PCI card. I found no reference to a producer so I
>> used the fake name "PDR".
>>
>> Full lspci:
>> 01:07.0 0780: 10b5:9050 (rev 01)
>> Subsystem: 10b5:1584
>> 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 10
>> Region 1: I/O ports at ec00 [size=128]
>> Region 2: I/O ports at e480 [size=32]
>> Region 3: I/O ports at e400 [size=8]
>> Capabilities: [40] Power Management version 1
>> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA \
>> PME(D0+,D1-,D2-,D3hot+,D3cold-)
>> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>> Capabilities: [48] #06 [0080]
>> Capabilities: [4c] Vital Product Data
>>
>> After:
>> 0000:01:07.0: ttyS4 at I/O 0xe480 (irq = 10) is a 16550A
>> 0000:01:07.0: ttyS5 at I/O 0xe488 (irq = 10) is a 16550A
>> 0000:01:07.0: ttyS6 at I/O 0xe490 (irq = 10) is a 16550A
>> 0000:01:07.0: ttyS7 at I/O 0xe498 (irq = 10) is a 16550A
>>
>> Signed-off-by: Catalin(ux) M BOIE <catab@embedromix.ro>
>> ---
>> drivers/serial/8250_pci.c | 22 ++++++++++++++++++++++
>> include/linux/pci_ids.h | 2 ++
>> 2 files changed, 24 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
>> index 788c355..77d9f77 100644
>> --- a/drivers/serial/8250_pci.c
>> +++ b/drivers/serial/8250_pci.c
>> @@ -884,6 +884,15 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
>> },
>> {
>> .vendor = PCI_VENDOR_ID_PLX,
>> + .device = PCI_DEVICE_ID_PLX_9050,
>> + .subvendor = PCI_VENDOR_ID_PLX,
>> + .subdevice = PCI_SUBDEVICE_ID_PDR,
>> + .init = pci_plx9050_init,
>> + .setup = pci_default_setup,
>> + .exit = __devexit_p(pci_plx9050_exit),
>> + },
>> + {
>> + .vendor = PCI_VENDOR_ID_PLX,
>> .device = PCI_DEVICE_ID_PLX_ROMULUS,
>> .subvendor = PCI_VENDOR_ID_PLX,
>> .subdevice = PCI_DEVICE_ID_PLX_ROMULUS,
>> @@ -1156,6 +1165,7 @@ enum pci_board_num_t {
>> pbn_panacom4,
>> pbn_exsys_4055,
>> pbn_plx_romulus,
>> + pbn_plx_pdr,
>> pbn_oxsemi,
>> pbn_intel_i960,
>> pbn_sgi_ioc3,
>> @@ -1186,6 +1196,13 @@ static struct pciserial_board pci_boards[] __devinitdata = {
>> .base_baud = 115200,
>> .uart_offset = 8,
>> },
>> + /* PDR */
>> + [pbn_plx_pdr] = {
>> + .flags = FL_BASE0,
>> + .num_ports = 4,
>> + .base_baud = 115200,
>> + .uart_offset = 8,
>> + },
>
> This definition is not needed, just use pbn_b0_4_115200.
Thanks, Andrey!
>> [pbn_b0_1_115200] = {
>> .flags = FL_BASE0,
>> .num_ports = 1,
>> @@ -2199,6 +2216,11 @@ static struct pci_device_id serial_pci_tbl[] = {
>> { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077,
>> PCI_ANY_ID, PCI_ANY_ID, 0, 0,
>> pbn_b2_4_921600 },
>> + /* PDR */
>> + { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
>> + PCI_VENDOR_ID_PLX,
>> + PCI_SUBDEVICE_ID_PDR, 0, 0,
>> + pbn_plx_pdr },
>> { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
>> PCI_SUBVENDOR_ID_KEYSPAN,
>> PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0,
>> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>> index 9b940e6..17a01b1 100644
>> --- a/include/linux/pci_ids.h
>> +++ b/include/linux/pci_ids.h
>> @@ -966,6 +966,8 @@
>> #define PCI_DEVICE_ID_PLX_9080 0x9080
>> #define PCI_DEVICE_ID_PLX_GTEK_SERIAL2 0xa001
>>
>> +#define PCI_SUBDEVICE_ID_PDR 0x1584
>> +
>> #define PCI_VENDOR_ID_MADGE 0x10b6
>> #define PCI_DEVICE_ID_MADGE_MK2 0x0002
>>
>> --
>> 1.5.5.1
>>
>> --
>> 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/
>>
>
New patch attached.
Thank you!
--
Catalin(ux) M BOIE
http://kernel.embedromix.ro/
[-- Attachment #2: 0001-Add-support-for-a-no-name-4-ports-multiserial-card.patch --]
[-- Type: text/plain, Size: 3114 bytes --]
>From fa0fceda773f553c2691f69ad989e81a3c5cc031 Mon Sep 17 00:00:00 2001
From: Catalin(ux) M BOIE <catab@embedromix.ro>
Date: Tue, 8 Apr 2008 00:59:20 +0300
Subject: [PATCH] Add support for a no-name 4 ports multiserial card
It is a no-name PCI card. I found no reference to a producer so I
used "UNKNOWN_0x1584" as the name.
Full lspci:
01:07.0 0780: 10b5:9050 (rev 01)
Subsystem: 10b5:1584
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 10
Region 1: I/O ports at ec00 [size=128]
Region 2: I/O ports at e480 [size=32]
Region 3: I/O ports at e400 [size=8]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA \
PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] #06 [0080]
Capabilities: [4c] Vital Product Data
After:
0000:01:07.0: ttyS4 at I/O 0xe480 (irq = 10) is a 16550A
0000:01:07.0: ttyS5 at I/O 0xe488 (irq = 10) is a 16550A
0000:01:07.0: ttyS6 at I/O 0xe490 (irq = 10) is a 16550A
0000:01:07.0: ttyS7 at I/O 0xe498 (irq = 10) is a 16550A
Signed-off-by: Catalin(ux) M BOIE <catab@embedromix.ro>
---
drivers/serial/8250_pci.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 788c355..b64a17c 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -769,6 +769,9 @@ pci_default_setup(struct serial_private *priv, struct pciserial_board *board,
#define PCI_SUBDEVICE_ID_POCTAL232 0x0308
#define PCI_SUBDEVICE_ID_POCTAL422 0x0408
+/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
+#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
+
/*
* Master list of serial port init/setup/exit quirks.
* This does not describe the general nature of the port.
@@ -884,6 +887,15 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
},
{
.vendor = PCI_VENDOR_ID_PLX,
+ .device = PCI_DEVICE_ID_PLX_9050,
+ .subvendor = PCI_VENDOR_ID_PLX,
+ .subdevice = PCI_SUBDEVICE_ID_UNKNOWN_0x1584,
+ .init = pci_plx9050_init,
+ .setup = pci_default_setup,
+ .exit = __devexit_p(pci_plx9050_exit),
+ },
+ {
+ .vendor = PCI_VENDOR_ID_PLX,
.device = PCI_DEVICE_ID_PLX_ROMULUS,
.subvendor = PCI_VENDOR_ID_PLX,
.subdevice = PCI_DEVICE_ID_PLX_ROMULUS,
@@ -2199,6 +2211,11 @@ static struct pci_device_id serial_pci_tbl[] = {
{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077,
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b2_4_921600 },
+ /* Unknown card - subdevice 0x1584 */
+ { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
+ PCI_VENDOR_ID_PLX,
+ PCI_SUBDEVICE_ID_UNKNOWN_0x1584, 0, 0,
+ pbn_b0_4_115200 },
{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
PCI_SUBVENDOR_ID_KEYSPAN,
PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0,
--
1.5.5.1
prev parent reply other threads:[~2008-06-06 14:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-06 7:13 [PATCH] Add support for a no-name 4 ports multiserial card Catalin(ux) M BOIE
2008-06-06 10:14 ` Alan Cox
2008-06-06 12:42 ` Catalin(ux) M BOIE
2008-06-06 15:04 ` Alan Cox
2008-06-06 19:40 ` Russell King
2008-06-09 20:04 ` Catalin(ux) M BOIE
2008-06-09 21:10 ` Russell King
2008-06-06 12:52 ` Andrey Panin
2008-06-06 14:20 ` Catalin(ux) M BOIE [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48494795.2050408@embedromix.ro \
--to=catab@embedromix.ro \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=pazke@pazke.donpac.ru \
--cc=rmk+serial@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox