Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755114AbbKWO1k (ORCPT ); Mon, 23 Nov 2015 09:27:40 -0500 Received: from smtp-o-3.desy.de ([131.169.56.156]:57485 "EHLO smtp-o-3.desy.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753723AbbKWO1i (ORCPT ); Mon, 23 Nov 2015 09:27:38 -0500 X-Greylist: delayed 526 seconds by postgrey-1.27 at vger.kernel.org; Mon, 23 Nov 2015 09:27:38 EST X-Clacks-Overhead: GNU Terry Pratchett Subject: Re: [PATCH 3.12 25/72] serial: 8250_pci: Add support for 16 port Exar boards To: Jiri Slaby , stable@vger.kernel.org References: <3e8c9dd24acc11db838781ca05305ed02484f2c3.1448283890.git.jslaby@suse.cz> Cc: linux-kernel@vger.kernel.org From: Soeren Grunewald Message-ID: <56532048.4090701@desy.de> Date: Mon, 23 Nov 2015 15:18:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <3e8c9dd24acc11db838781ca05305ed02484f2c3.1448283890.git.jslaby@suse.cz> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3786 Lines: 115 Dear Jiri, You should also add upstream commit 899f0c1c7dbcc487fdc8756a49ff70b1d5d75f89 Greg had a merge conflict in 4-1.y with another back-ported patch. But in 3.12 this shouldn't be the case. -- Cheers, Soeren On 11/23/2015 02:08 PM, Jiri Slaby wrote: > From: Soeren Grunewald > > 3.12-stable review patch. If anyone has any objections, please let me know. > > =============== > > 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: Jiri Slaby > --- > drivers/tty/serial/8250/8250_pci.c | 25 +++++++++++++++++++++++-- > 1 file changed, 23 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c > index eac50ec4c70d..bdbfb25ace6d 100644 > --- a/drivers/tty/serial/8250/8250_pci.c > +++ b/drivers/tty/serial/8250/8250_pci.c > @@ -1574,6 +1574,8 @@ pci_wch_ch353_setup(struct serial_private *priv, > #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 > @@ -2029,6 +2031,13 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = { > .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 > */ > @@ -2456,6 +2465,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, > @@ -3121,6 +3131,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, > @@ -4454,7 +4472,7 @@ static struct pci_device_id serial_pci_tbl[] = { > 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, > @@ -4468,7 +4486,10 @@ static struct pci_device_id serial_pci_tbl[] = { > 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) > */ > -- 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/