tty: serial: fsl_lpuart: fix the wrong mapbase value
authorAndy Duan <fugang.duan@nxp.com>
Thu, 19 Aug 2021 02:10:33 +0000 (10:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Aug 2021 12:49:03 +0000 (14:49 +0200)
Register offset needs to be applied on mapbase also.
dma_tx/rx_request use the physical address of UARTDATA.
Register offset is currently only applied to membase (the
corresponding virtual addr) but not on mapbase.

Fixes: 24b1e5f0e83c ("tty: serial: lpuart: add imx7ulp support")
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Andy Duan <fugang.duan@nxp.com>
Link: https://lore.kernel.org/r/20210819021033.32606-1-sherry.sun@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/fsl_lpuart.c

index 31d715c..117e011 100644 (file)
@@ -2615,7 +2615,7 @@ static int lpuart_probe(struct platform_device *pdev)
                return PTR_ERR(sport->port.membase);
 
        sport->port.membase += sdata->reg_off;
-       sport->port.mapbase = res->start;
+       sport->port.mapbase = res->start + sdata->reg_off;
        sport->port.dev = &pdev->dev;
        sport->port.type = PORT_LPUART;
        sport->devtype = sdata->devtype;