| From | Chen-Yu Tsai <> | Date | Fri, 15 Sep 2023 12:07:00 +0800 | Subject | Re: [PATCH tty v1 11/74] serial: 8250_mtk: Use port lock wrappers |
| |
On Fri, Sep 15, 2023 at 2:38 AM John Ogness <john.ogness@linutronix.de> wrote: > > From: Thomas Gleixner <tglx@linutronix.de> > > When a serial port is used for kernel console output, then all > modifications to the UART registers which are done from other contexts, > e.g. getty, termios, are interference points for the kernel console. > > So far this has been ignored and the printk output is based on the > principle of hope. The rework of the console infrastructure which aims to > support threaded and atomic consoles, requires to mark sections which > modify the UART registers as unsafe. This allows the atomic write function > to make informed decisions and eventually to restore operational state. It > also allows to prevent the regular UART code from modifying UART registers > while printk output is in progress. > > All modifications of UART registers are guarded by the UART port lock, > which provides an obvious synchronization point with the console > infrastructure. > > To avoid adding this functionality to all UART drivers, wrap the > spin_[un]lock*() invocations for uart_port::lock into helper functions > which just contain the spin_[un]lock*() invocations for now. In a > subsequent step these helpers will gain the console synchronization > mechanisms. > > Converted with coccinelle. No functional change. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Replacements look correct.
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
|