Hi Noam,
On 07/22/2015 05:34 AM, Noam Camus wrote:
> From: Noam Camus <[email protected]>
>
> Always add UPF_FIXED_TYPE to flags so autoconf() will be skipped.
> We do that since autoconf() performs many writes to LCR that cause
> BUSY interrupt.
> The problem with such interrupt is that driver is not yet called to
> request_irq() and generic IRQ subsystem will mask the UART line.
>
> Signed-off-by: Noam Camus <[email protected]>
> ---
> drivers/tty/serial/8250/8250_dw.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_dw.c
> b/drivers/tty/serial/8250/8250_dw.c
> index 1a57105..620f983 100644
> --- a/drivers/tty/serial/8250/8250_dw.c
> +++ b/drivers/tty/serial/8250/8250_dw.c
> @@ -362,6 +362,14 @@ static int dw8250_probe_of(struct uart_port *p,
> if (has_ucv)
> dw8250_setup_port(up);
>
> + /* Writing to LCR may cause BUSY interrupt before we
> + * register the IRQ line.
> + * Currently autoconf() uses several writes to LCR.
> + * In order to avoid calling to autoconf() always add
> + * following flag.
> + */
> + p->flags |= UPF_FIXED_TYPE;
Why only for devicetree DW8250's? Don't all DW8250's have this LCR "feature"?
And what port type does this id DW8250's as, PORT_8250? Except with fifos,
autoflow control, dma, etc.?
If the port type is being fixed, then please fix it to a new port type.
> +
> /* if we have a valid fifosize, try hooking up DMA here */
> if (p->fifosize) {
> up->dma = &data->dma;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/