Re: [PATCH tty-next v5 5/6] serial: 8250: Switch to nbcon console

From: Jon Hunter
Date: Wed Jan 15 2025 - 11:21:53 EST


Hi John,

On 07/01/2025 21:27, John Ogness wrote:
Implement the necessary callbacks to switch the 8250 console driver
to perform as an nbcon console.

Add implementations for the nbcon console callbacks:

->write_atomic()
->write_thread()
->device_lock()
->device_unlock()

and add CON_NBCON to the initial @flags.

All register access in the callbacks are within unsafe sections.
The ->write_atomic() and ->write_thread() callbacks allow safe
handover/takeover per byte and add a preceding newline if they
take over from another context mid-line.

For the ->write_atomic() callback, a new irq_work is used to defer
modem control since it may be called from a context that does not
allow waking up tasks.

Note: A new __serial8250_clear_IER() is introduced for direct
clearing of UART_IER. This will allow to restore the lockdep
check to serial8250_clear_IER() in a follow-up commit.

Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>


I have noticed a suspend regression on -next for some of our 32-bit Tegra (ARM) devices (Tegra20, Tegra30 and Tegra124). Bisect is pointing to this commit and reverting this on top of -next (along with reverting "serial: 8250: Revert "drop lockdep annotation from serial8250_clear_IER()") fixes the issue. So far I have not dug in any further. Unfortunately, I don't have any logs to see if there is some crash or something happening but I will see if there is any more info I can get.

Thanks
Jon

--
nvpublic