[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221024172710.GA24827@duo.ucw.cz>
Date: Mon, 24 Oct 2022 19:27:10 +0200
From: Pavel Machek <pavel@....cz>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Anders Blomdell <anders.blomdell@...trol.lth.se>,
"Maciej W. Rozycki" <macro@...am.me.uk>
Subject: Re: [PATCH 5.10 044/390] serial: 8250: Let drivers request full
16550A feature probing
Hi!
> From: Maciej W. Rozycki <macro@...am.me.uk>
>
> commit 9906890c89e4dbd900ed87ad3040080339a7f411 upstream.
>
> A SERIAL_8250_16550A_VARIANTS configuration option has been recently
> defined that lets one request the 8250 driver not to probe for 16550A
> device features so as to reduce the driver's device startup time in
> virtual machines.
>
> Some actual hardware devices require these features to have been fully
> determined however for their driver to work correctly, so define a flag
> to let drivers request full 16550A feature probing on a device-by-device
> basis if required regardless of the SERIAL_8250_16550A_VARIANTS option
> setting chosen.
As far as I can see, the UPF_FULL_PROBE is never set in 5.10.150 tree,
so we should not need it there.
Best regards,
Pavel
> +++ b/drivers/tty/serial/8250/8250_port.c
> @@ -1021,7 +1021,8 @@ static void autoconfig_16550a(struct uar
> up->port.type = PORT_16550A;
> up->capabilities |= UART_CAP_FIFO;
>
> - if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS))
> + if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS) &&
> + !(up->port.flags & UPF_FULL_PROBE))
> return;
>
> /*
> --- a/include/linux/serial_core.h
> +++ b/include/linux/serial_core.h
> @@ -100,7 +100,7 @@ struct uart_icount {
> __u32 buf_overrun;
> };
>
> -typedef unsigned int __bitwise upf_t;
> +typedef u64 __bitwise upf_t;
> typedef unsigned int __bitwise upstat_t;
>
> struct uart_port {
> @@ -207,6 +207,7 @@ struct uart_port {
> #define UPF_FIXED_PORT ((__force upf_t) (1 << 29))
> #define UPF_DEAD ((__force upf_t) (1 << 30))
> #define UPF_IOREMAP ((__force upf_t) (1 << 31))
> +#define UPF_FULL_PROBE ((__force upf_t) (1ULL << 32))
>
> #define __UPF_CHANGE_MASK 0x17fff
> #define UPF_CHANGE_MASK ((__force upf_t) __UPF_CHANGE_MASK)
>
--
People of Russia, stop Putin before his war on Ukraine escalates.
Download attachment "signature.asc" of type "application/pgp-signature" (196 bytes)
Powered by blists - more mailing lists