]> git.baikalelectronics.ru Git - kernel.git/commitdiff
serial: 8250_lpss: Use 32-bit reads
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fri, 24 Jun 2022 20:42:07 +0000 (23:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jun 2022 12:44:20 +0000 (14:44 +0200)
Use 32-bit reads in order to not lose higher bits of DW UART regs. This
change does not fix any known issue as the high bits are not used for
anything related to 8250 driver (dw8250_readl_ext and dw8250_writel_ext
used within the dwlib are already doing
readl/writel/ioread32be/iowrite32be anyway).

This change is necessary to enables 9th bit address mode. DW UART
reports address frames with BIT(8) of LSR.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220624204210.11112-4-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_lpss.c

index 0f5af061e0b4568b045c257045a982aba6e8991b..4ba43bef99336f27883c1138920a2402037c9d8f 100644 (file)
@@ -330,7 +330,7 @@ static int lpss8250_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        uart.port.irq = pci_irq_vector(pdev, 0);
        uart.port.private_data = &lpss->data;
        uart.port.type = PORT_16550A;
-       uart.port.iotype = UPIO_MEM;
+       uart.port.iotype = UPIO_MEM32;
        uart.port.regshift = 2;
        uart.port.uartclk = lpss->board->base_baud * 16;
        uart.port.flags = UPF_SHARE_IRQ | UPF_FIXED_PORT | UPF_FIXED_TYPE;