From: Greg Kroah-Hartman Date: Fri, 6 Nov 2015 17:41:03 +0000 (-0800) Subject: 3.14-stable patches X-Git-Tag: v3.10.93~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a720fa8120fad1765e3658ba4d9de42b1cf18fe9;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches added patches: serial-8250_pci-add-support-for-12-port-exar-boards.patch serial-8250_pci-add-support-for-16-port-exar-boards.patch --- diff --git a/queue-3.14/serial-8250_pci-add-support-for-12-port-exar-boards.patch b/queue-3.14/serial-8250_pci-add-support-for-12-port-exar-boards.patch new file mode 100644 index 00000000000..630c27b8263 --- /dev/null +++ b/queue-3.14/serial-8250_pci-add-support-for-12-port-exar-boards.patch @@ -0,0 +1,78 @@ +From be32c0cf0462c36f482b5ddcff1d8371be1e183c Mon Sep 17 00:00:00 2001 +From: Soeren Grunewald +Date: Thu, 11 Jun 2015 09:25:04 +0200 +Subject: serial: 8250_pci: Add support for 12 port Exar boards + +From: Soeren Grunewald + +commit be32c0cf0462c36f482b5ddcff1d8371be1e183c upstream. + +The Exar XR17V358 can also be combined with a XR17V354 chip to act as a +single 12 port chip. This works the same way as the combining two XR17V358 +chips. But the reported device id then is 0x4358. + +Signed-off-by: Soeren Grunewald +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/tty/serial/8250/8250_pci.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/tty/serial/8250/8250_pci.c ++++ b/drivers/tty/serial/8250/8250_pci.c +@@ -1772,6 +1772,7 @@ pci_wch_ch353_setup(struct serial_privat + #define PCI_DEVICE_ID_SUNIX_1999 0x1999 + + ++#define PCI_DEVICE_ID_EXAR_XR17V4358 0x4358 + #define PCI_DEVICE_ID_EXAR_XR17V8358 0x8358 + + /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ +@@ -2270,6 +2271,13 @@ static struct pci_serial_quirk pci_seria + }, + { + .vendor = PCI_VENDOR_ID_EXAR, ++ .device = PCI_DEVICE_ID_EXAR_XR17V4358, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ .setup = pci_xr17v35x_setup, ++ }, ++ { ++ .vendor = PCI_VENDOR_ID_EXAR, + .device = PCI_DEVICE_ID_EXAR_XR17V8358, + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, +@@ -2715,6 +2723,7 @@ enum pci_board_num_t { + pbn_exar_XR17V352, + pbn_exar_XR17V354, + pbn_exar_XR17V358, ++ pbn_exar_XR17V4358, + pbn_exar_XR17V8358, + pbn_exar_ibm_saturn, + pbn_pasemi_1682M, +@@ -3385,6 +3394,14 @@ static struct pciserial_board pci_boards + .reg_shift = 0, + .first_offset = 0, + }, ++ [pbn_exar_XR17V4358] = { ++ .flags = FL_BASE0, ++ .num_ports = 12, ++ .base_baud = 7812500, ++ .uart_offset = 0x400, ++ .reg_shift = 0, ++ .first_offset = 0, ++ }, + [pbn_exar_XR17V8358] = { + .flags = FL_BASE0, + .num_ports = 16, +@@ -4763,6 +4780,10 @@ static struct pci_device_id serial_pci_t + PCI_ANY_ID, PCI_ANY_ID, + 0, + 0, pbn_exar_XR17V358 }, ++ { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V4358, ++ PCI_ANY_ID, PCI_ANY_ID, ++ 0, ++ 0, pbn_exar_XR17V4358 }, + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V8358, + PCI_ANY_ID, PCI_ANY_ID, + 0, diff --git a/queue-3.14/serial-8250_pci-add-support-for-16-port-exar-boards.patch b/queue-3.14/serial-8250_pci-add-support-for-16-port-exar-boards.patch new file mode 100644 index 00000000000..de06f1141a5 --- /dev/null +++ b/queue-3.14/serial-8250_pci-add-support-for-16-port-exar-boards.patch @@ -0,0 +1,97 @@ +From 96a5d18bc1338786fecac73599f1681f59a59a8e Mon Sep 17 00:00:00 2001 +From: Soeren Grunewald +Date: Tue, 28 Apr 2015 16:29:49 +0200 +Subject: serial: 8250_pci: Add support for 16 port Exar boards + +From: Soeren Grunewald + +commit 96a5d18bc1338786fecac73599f1681f59a59a8e upstream. + +The Exar XR17V358 chip usually provides only 8 ports. But two chips can be +combined to act as a single 16 port chip. Therefor one chip is configured +as master the second as slave by connecting the mode pin to VCC (master) +or GND (slave). + +Then the master chip is reporting a different device-id depending on +whether a slave is detected or not. The UARTs 8-15 are addressed from +0x2000-0x3fff. So the offset of 0x400 from UART to UART can be used to +address all 16 ports as before. + +See: https://www.exar.com/common/content/document.ashx?id=1587 page 11 + +Signed-off-by: Soeren Grunewald +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/tty/serial/8250/8250_pci.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +--- a/drivers/tty/serial/8250/8250_pci.c ++++ b/drivers/tty/serial/8250/8250_pci.c +@@ -1772,6 +1772,8 @@ pci_wch_ch353_setup(struct serial_privat + #define PCI_DEVICE_ID_SUNIX_1999 0x1999 + + ++#define PCI_DEVICE_ID_EXAR_XR17V8358 0x8358 ++ + /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ + #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 + #define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588 +@@ -2266,6 +2268,13 @@ static struct pci_serial_quirk pci_seria + .subdevice = PCI_ANY_ID, + .setup = pci_xr17v35x_setup, + }, ++ { ++ .vendor = PCI_VENDOR_ID_EXAR, ++ .device = PCI_DEVICE_ID_EXAR_XR17V8358, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ .setup = pci_xr17v35x_setup, ++ }, + /* + * Xircom cards + */ +@@ -2706,6 +2715,7 @@ enum pci_board_num_t { + pbn_exar_XR17V352, + pbn_exar_XR17V354, + pbn_exar_XR17V358, ++ pbn_exar_XR17V8358, + pbn_exar_ibm_saturn, + pbn_pasemi_1682M, + pbn_ni8430_2, +@@ -3375,6 +3385,14 @@ static struct pciserial_board pci_boards + .reg_shift = 0, + .first_offset = 0, + }, ++ [pbn_exar_XR17V8358] = { ++ .flags = FL_BASE0, ++ .num_ports = 16, ++ .base_baud = 7812500, ++ .uart_offset = 0x400, ++ .reg_shift = 0, ++ .first_offset = 0, ++ }, + [pbn_exar_ibm_saturn] = { + .flags = FL_BASE0, + .num_ports = 1, +@@ -4731,7 +4749,7 @@ static struct pci_device_id serial_pci_t + 0, + 0, pbn_exar_XR17C158 }, + /* +- * Exar Corp. XR17V35[248] Dual/Quad/Octal PCIe UARTs ++ * Exar Corp. XR17V[48]35[248] Dual/Quad/Octal/Hexa PCIe UARTs + */ + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V352, + PCI_ANY_ID, PCI_ANY_ID, +@@ -4745,7 +4763,10 @@ static struct pci_device_id serial_pci_t + PCI_ANY_ID, PCI_ANY_ID, + 0, + 0, pbn_exar_XR17V358 }, +- ++ { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V8358, ++ PCI_ANY_ID, PCI_ANY_ID, ++ 0, ++ 0, pbn_exar_XR17V8358 }, + /* + * Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke) + */ diff --git a/queue-3.14/series b/queue-3.14/series index d34e03ccc74..02567d72843 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -32,3 +32,5 @@ revert-md-allow-a-partially-recovered-device-to-be-hot-added-to-an-array.patch mvsas-fix-null-pointer-dereference-in-mvs_slot_task_free.patch ib-cm-fix-rb-tree-duplicate-free-and-use-after-free.patch md-raid5-fix-locking-in-handle_stripe_clean_event.patch +serial-8250_pci-add-support-for-16-port-exar-boards.patch +serial-8250_pci-add-support-for-12-port-exar-boards.patch