Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1394369 > unrolled thread
| Started by | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| First post | 2016-05-04 16:40 +0200 |
| Last post | 2016-05-04 17:40 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-05-04 16:40 +0200
Re: [PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver Bryan O'Donoghue <pure.logic@nexus-software.ie> - 2016-05-04 17:20 +0200
Re: [PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-05-04 17:40 +0200
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Date | 2016-05-04 16:40 +0200 |
| Subject | [PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver |
| Message-ID | <rv684-5L8-59@gated-at.bofh.it> |
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,
--
2.8.1
[toc] | [next] | [standalone]
| From | Bryan O'Donoghue <pure.logic@nexus-software.ie> |
|---|---|
| Date | 2016-05-04 17:20 +0200 |
| Subject | Re: [PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver |
| Message-ID | <rv6KL-6s5-53@gated-at.bofh.it> |
| In reply to | #1394369 |
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
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Date | 2016-05-04 17:40 +0200 |
| Subject | Re: [PATCH v4 09/11] serial: 8250_lpss: move Quark code from PCI driver |
| Message-ID | <rv747-6DR-31@gated-at.bofh.it> |
| In reply to | #1394453 |
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)?
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web