Message ID | 1462372353-70128-10-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Wed, 2016-05-04 at 17:32 +0300, Andy Shevchenko wrote: > Intel Quark has DesignWare UART. Move the code from 8250_pci to > 8250_lpss. > > Reviewed-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/tty/serial/8250/8250_lpss.c | 11 +++++++++++ > drivers/tty/serial/8250/8250_pci.c | 15 +-------------- > 2 files changed, 12 insertions(+), 14 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_lpss.c > b/drivers/tty/serial/8250/8250_lpss.c > index 77cf7e3..3beb3aa 100644 > --- a/drivers/tty/serial/8250/8250_lpss.c > +++ b/drivers/tty/serial/8250/8250_lpss.c > @@ -25,6 +25,8 @@ > #define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a > #define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c > > +#define PCI_DEVICE_ID_INTEL_QRK_UARTx 0x0936 > + > #define PCI_DEVICE_ID_INTEL_BDW_UART1 0x9ce3 > #define PCI_DEVICE_ID_INTEL_BDW_UART2 0x9ce4 > > @@ -165,6 +167,9 @@ static int lpss8250_dma_setup(struct lpss8250 > *lpss, struct uart_8250_port *port > struct dw_dma_slave *rx_param, *tx_param; > struct device *dev = port->port.dev; > > + if (!lpss->dma_param.dma_dev) > + return 0; > + > rx_param = devm_kzalloc(dev, sizeof(*rx_param), GFP_KERNEL); > if (!rx_param) > return -ENOMEM; > @@ -252,6 +257,11 @@ static const struct lpss8250_board byt_board = { > .setup = byt_serial_setup, > }; > > +static const struct lpss8250_board qrk_board = { > + .freq = 44236800, > + .base_baud = 2764800, > +}; > + > #define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), > (kernel_ulong_t)&board } > > static const struct pci_device_id pci_ids[] = { > @@ -259,6 +269,7 @@ static const struct pci_device_id pci_ids[] = { > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BYT_UART2, byt_board), > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART1, byt_board), > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART2, byt_board), > + LPSS_DEVICE(PCI_DEVICE_ID_INTEL_QRK_UARTx, qrk_board), > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART1, byt_board), > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART2, byt_board), > { }, > diff --git a/drivers/tty/serial/8250/8250_pci.c > b/drivers/tty/serial/8250/8250_pci.c > index bb4df5d..b94b1ee 100644 > --- a/drivers/tty/serial/8250/8250_pci.c > +++ b/drivers/tty/serial/8250/8250_pci.c > @@ -1765,7 +1765,6 @@ pci_wch_ch38x_setup(struct serial_private > *priv, > #define PCI_DEVICE_ID_COMMTECH_4222PCIE 0x0022 > #define PCI_DEVICE_ID_BROADCOM_TRUMANAGE 0x160a > #define PCI_DEVICE_ID_AMCC_ADDIDATA_APCI7800 0x818e > -#define PCI_DEVICE_ID_INTEL_QRK_UART 0x0936 > > #define PCI_VENDOR_ID_SUNIX 0x1fd4 > #define PCI_DEVICE_ID_SUNIX_1999 0x1999 > @@ -2736,7 +2735,6 @@ enum pci_board_num_t { > pbn_ADDIDATA_PCIe_4_3906250, > pbn_ADDIDATA_PCIe_8_3906250, > pbn_ce4100_1_115200, > - pbn_qrk, > pbn_omegapci, > pbn_NETMOS9900_2s_115200, > pbn_brcm_trumanage, > @@ -3512,12 +3510,6 @@ static struct pciserial_board pci_boards[] = { > .base_baud = 921600, > .reg_shift = 2, > }, > - [pbn_qrk] = { > - .flags = FL_BASE0, > - .num_ports = 1, > - .base_baud = 2764800, > - .reg_shift = 2, > - }, > [pbn_omegapci] = { > .flags = FL_BASE0, > .num_ports = 8, > @@ -3634,6 +3626,7 @@ static const struct pci_device_id blacklist[] = > { > { PCI_VDEVICE(INTEL, 0x0f0c), }, > { PCI_VDEVICE(INTEL, 0x228a), }, > { PCI_VDEVICE(INTEL, 0x228c), }, > + { PCI_VDEVICE(INTEL, 0x0936), }, > { PCI_VDEVICE(INTEL, 0x9ce3), }, > { PCI_VDEVICE(INTEL, 0x9ce4), }, > }; > @@ -5303,12 +5296,6 @@ static struct pci_device_id serial_pci_tbl[] = > { > pbn_ce4100_1_115200 }, > > /* > - * Intel Quark x1000 > - */ > - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QRK_UART, > - PCI_ANY_ID, PCI_ANY_ID, 0, 0, > - pbn_qrk }, > - /* > * Cronyx Omega PCI > */ > { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_CRONYX_OMEGA, Andy. Could you please add CONFIG_SERIAL_8250_LPSS when CONFIG_X86_INTEL_QUARK is true for my "Reviewed-by" to this patch ? I don't see that --- bod -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2016-05-04 at 16:14 +0100, Bryan O'Donoghue wrote: > On Wed, 2016-05-04 at 17:32 +0300, Andy Shevchenko wrote: > > > > Intel Quark has DesignWare UART. Move the code from 8250_pci to > > 8250_lpss. > > > > Reviewed-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > --- > > drivers/tty/serial/8250/8250_lpss.c | 11 +++++++++++ > > drivers/tty/serial/8250/8250_pci.c | 15 +-------------- > > 2 files changed, 12 insertions(+), 14 deletions(-) > > > > diff --git a/drivers/tty/serial/8250/8250_lpss.c > > b/drivers/tty/serial/8250/8250_lpss.c > > index 77cf7e3..3beb3aa 100644 > > --- a/drivers/tty/serial/8250/8250_lpss.c > > +++ b/drivers/tty/serial/8250/8250_lpss.c > > @@ -25,6 +25,8 @@ > > #define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a > > #define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c > > > > +#define PCI_DEVICE_ID_INTEL_QRK_UARTx 0x0936 > > + > > #define PCI_DEVICE_ID_INTEL_BDW_UART1 0x9ce3 > > #define PCI_DEVICE_ID_INTEL_BDW_UART2 0x9ce4 > > > > @@ -165,6 +167,9 @@ static int lpss8250_dma_setup(struct lpss8250 > > *lpss, struct uart_8250_port *port > > struct dw_dma_slave *rx_param, *tx_param; > > struct device *dev = port->port.dev; > > > > + if (!lpss->dma_param.dma_dev) > > + return 0; > > + > > rx_param = devm_kzalloc(dev, sizeof(*rx_param), > > GFP_KERNEL); > > if (!rx_param) > > return -ENOMEM; > > @@ -252,6 +257,11 @@ static const struct lpss8250_board byt_board = > > { > > .setup = byt_serial_setup, > > }; > > > > +static const struct lpss8250_board qrk_board = { > > + .freq = 44236800, > > + .base_baud = 2764800, > > +}; > > + > > #define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), > > (kernel_ulong_t)&board } > > > > static const struct pci_device_id pci_ids[] = { > > @@ -259,6 +269,7 @@ static const struct pci_device_id pci_ids[] = { > > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BYT_UART2, byt_board), > > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART1, byt_board), > > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART2, byt_board), > > + LPSS_DEVICE(PCI_DEVICE_ID_INTEL_QRK_UARTx, qrk_board), > > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART1, byt_board), > > LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART2, byt_board), > > { }, > > diff --git a/drivers/tty/serial/8250/8250_pci.c > > b/drivers/tty/serial/8250/8250_pci.c > > index bb4df5d..b94b1ee 100644 > > --- a/drivers/tty/serial/8250/8250_pci.c > > +++ b/drivers/tty/serial/8250/8250_pci.c > > @@ -1765,7 +1765,6 @@ pci_wch_ch38x_setup(struct serial_private > > *priv, > > #define PCI_DEVICE_ID_COMMTECH_4222PCIE 0x0022 > > #define PCI_DEVICE_ID_BROADCOM_TRUMANAGE 0x160a > > #define PCI_DEVICE_ID_AMCC_ADDIDATA_APCI7800 0x818e > > -#define PCI_DEVICE_ID_INTEL_QRK_UART 0x0936 > > > > #define PCI_VENDOR_ID_SUNIX 0x1fd4 > > #define PCI_DEVICE_ID_SUNIX_1999 0x1999 > > @@ -2736,7 +2735,6 @@ enum pci_board_num_t { > > pbn_ADDIDATA_PCIe_4_3906250, > > pbn_ADDIDATA_PCIe_8_3906250, > > pbn_ce4100_1_115200, > > - pbn_qrk, > > pbn_omegapci, > > pbn_NETMOS9900_2s_115200, > > pbn_brcm_trumanage, > > @@ -3512,12 +3510,6 @@ static struct pciserial_board pci_boards[] = > > { > > .base_baud = 921600, > > .reg_shift = 2, > > }, > > - [pbn_qrk] = { > > - .flags = FL_BASE0, > > - .num_ports = 1, > > - .base_baud = 2764800, > > - .reg_shift = 2, > > - }, > > [pbn_omegapci] = { > > .flags = FL_BASE0, > > .num_ports = 8, > > @@ -3634,6 +3626,7 @@ static const struct pci_device_id blacklist[] > > = > > { > > { PCI_VDEVICE(INTEL, 0x0f0c), }, > > { PCI_VDEVICE(INTEL, 0x228a), }, > > { PCI_VDEVICE(INTEL, 0x228c), }, > > + { PCI_VDEVICE(INTEL, 0x0936), }, > > { PCI_VDEVICE(INTEL, 0x9ce3), }, > > { PCI_VDEVICE(INTEL, 0x9ce4), }, > > }; > > @@ -5303,12 +5296,6 @@ static struct pci_device_id serial_pci_tbl[] > > = > > { > > pbn_ce4100_1_115200 }, > > > > /* > > - * Intel Quark x1000 > > - */ > > - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QRK_UART, > > - PCI_ANY_ID, PCI_ANY_ID, 0, 0, > > - pbn_qrk }, > > - /* > > * Cronyx Omega PCI > > */ > > { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_CRONYX_OMEGA, > Andy. > > Could you please add CONFIG_SERIAL_8250_LPSS when > CONFIG_X86_INTEL_QUARK is true for my "Reviewed-by" to this patch ? > > I don't see that Wait, what you are proposing here is a new behaviour, right? Or can you explain how it works now (w/o this series being applied)?
diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c index 77cf7e3..3beb3aa 100644 --- a/drivers/tty/serial/8250/8250_lpss.c +++ b/drivers/tty/serial/8250/8250_lpss.c @@ -25,6 +25,8 @@ #define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a #define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c +#define PCI_DEVICE_ID_INTEL_QRK_UARTx 0x0936 + #define PCI_DEVICE_ID_INTEL_BDW_UART1 0x9ce3 #define PCI_DEVICE_ID_INTEL_BDW_UART2 0x9ce4 @@ -165,6 +167,9 @@ static int lpss8250_dma_setup(struct lpss8250 *lpss, struct uart_8250_port *port struct dw_dma_slave *rx_param, *tx_param; struct device *dev = port->port.dev; + if (!lpss->dma_param.dma_dev) + return 0; + rx_param = devm_kzalloc(dev, sizeof(*rx_param), GFP_KERNEL); if (!rx_param) return -ENOMEM; @@ -252,6 +257,11 @@ static const struct lpss8250_board byt_board = { .setup = byt_serial_setup, }; +static const struct lpss8250_board qrk_board = { + .freq = 44236800, + .base_baud = 2764800, +}; + #define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), (kernel_ulong_t)&board } static const struct pci_device_id pci_ids[] = { @@ -259,6 +269,7 @@ static const struct pci_device_id pci_ids[] = { LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BYT_UART2, byt_board), LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART1, byt_board), LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART2, byt_board), + LPSS_DEVICE(PCI_DEVICE_ID_INTEL_QRK_UARTx, qrk_board), LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART1, byt_board), LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BDW_UART2, byt_board), { }, diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c index bb4df5d..b94b1ee 100644 --- a/drivers/tty/serial/8250/8250_pci.c +++ b/drivers/tty/serial/8250/8250_pci.c @@ -1765,7 +1765,6 @@ pci_wch_ch38x_setup(struct serial_private *priv, #define PCI_DEVICE_ID_COMMTECH_4222PCIE 0x0022 #define PCI_DEVICE_ID_BROADCOM_TRUMANAGE 0x160a #define PCI_DEVICE_ID_AMCC_ADDIDATA_APCI7800 0x818e -#define PCI_DEVICE_ID_INTEL_QRK_UART 0x0936 #define PCI_VENDOR_ID_SUNIX 0x1fd4 #define PCI_DEVICE_ID_SUNIX_1999 0x1999 @@ -2736,7 +2735,6 @@ enum pci_board_num_t { pbn_ADDIDATA_PCIe_4_3906250, pbn_ADDIDATA_PCIe_8_3906250, pbn_ce4100_1_115200, - pbn_qrk, pbn_omegapci, pbn_NETMOS9900_2s_115200, pbn_brcm_trumanage, @@ -3512,12 +3510,6 @@ static struct pciserial_board pci_boards[] = { .base_baud = 921600, .reg_shift = 2, }, - [pbn_qrk] = { - .flags = FL_BASE0, - .num_ports = 1, - .base_baud = 2764800, - .reg_shift = 2, - }, [pbn_omegapci] = { .flags = FL_BASE0, .num_ports = 8, @@ -3634,6 +3626,7 @@ static const struct pci_device_id blacklist[] = { { PCI_VDEVICE(INTEL, 0x0f0c), }, { PCI_VDEVICE(INTEL, 0x228a), }, { PCI_VDEVICE(INTEL, 0x228c), }, + { PCI_VDEVICE(INTEL, 0x0936), }, { PCI_VDEVICE(INTEL, 0x9ce3), }, { PCI_VDEVICE(INTEL, 0x9ce4), }, }; @@ -5303,12 +5296,6 @@ static struct pci_device_id serial_pci_tbl[] = { pbn_ce4100_1_115200 }, /* - * Intel Quark x1000 - */ - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QRK_UART, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, - pbn_qrk }, - /* * Cronyx Omega PCI */ { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_CRONYX_OMEGA,