Commit 60a9244a authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman

serial: 8250_lpss: enable MSI for Intel Quark

Intel Quark SoC supports MSI for LPSS, in particular for UART. Enable MSI for
Intel Quark.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: default avatarBryan O'Donoghue <pure.logic@nexus-software.ie>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6bb5d75e
...@@ -151,6 +151,20 @@ static int byt_serial_setup(struct lpss8250 *lpss, struct uart_port *port) ...@@ -151,6 +151,20 @@ static int byt_serial_setup(struct lpss8250 *lpss, struct uart_port *port)
return 0; return 0;
} }
static int qrk_serial_setup(struct lpss8250 *lpss, struct uart_port *port)
{
struct pci_dev *pdev = to_pci_dev(port->dev);
int ret;
ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
if (ret < 0)
return ret;
port->irq = pci_irq_vector(pdev, 0);
return 0;
}
static bool lpss8250_dma_filter(struct dma_chan *chan, void *param) static bool lpss8250_dma_filter(struct dma_chan *chan, void *param)
{ {
struct dw_dma_slave *dws = param; struct dw_dma_slave *dws = param;
...@@ -261,6 +275,7 @@ static const struct lpss8250_board byt_board = { ...@@ -261,6 +275,7 @@ static const struct lpss8250_board byt_board = {
static const struct lpss8250_board qrk_board = { static const struct lpss8250_board qrk_board = {
.freq = 44236800, .freq = 44236800,
.base_baud = 2764800, .base_baud = 2764800,
.setup = qrk_serial_setup,
}; };
#define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), (kernel_ulong_t)&board } #define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), (kernel_ulong_t)&board }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment