serial: 8250_lpss: set PCI master only for private DMA
There is no need to set PCI bus mastering when device is not doing any DMA. Though on Intel Quark DMA is a part of UART IP and thus shares same device in Linux kernel. Enable bus mastering only for Quark case. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
0fe07647cc
Коммит
3f3a46951e
|
@ -183,6 +183,8 @@ static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port *port)
|
|||
if (ret)
|
||||
return;
|
||||
|
||||
pci_set_master(pdev);
|
||||
|
||||
/* Special DMA address for UART */
|
||||
dma->rx_dma_addr = 0xfffff000;
|
||||
dma->tx_dma_addr = 0xfffff000;
|
||||
|
@ -280,8 +282,6 @@ static int lpss8250_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
pci_set_master(pdev);
|
||||
|
||||
lpss = devm_kzalloc(&pdev->dev, sizeof(*lpss), GFP_KERNEL);
|
||||
if (!lpss)
|
||||
return -ENOMEM;
|
||||
|
|
Загрузка…
Ссылка в новой задаче