From: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-serial@vger.kernel.org,
Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Subject: [PATCH 0/2] serial: qcom-geni: Convert console to nbcon and handle RX overflow
Date: Wed, 29 Jul 2026 21:44:54 +0000 [thread overview]
Message-ID: <20260729-qcom-geni-nbcon-v1-0-3053b96465ed@oss.qualcomm.com> (raw)
The Qualcomm GENI UART uses independent sequencers. The main
sequencer handles console TX and the secondary sequencer handles
FIFO RX.
The legacy console writer disables both interrupt domains while it
performs a potentially long polled M-side transfer. Besides blocking
printk callers for UART wire time, this leaves the small S-side FIFO
unserviced and can lose interactive console input through FIFO overrun.
This two-patch series converts the console to nbcon, then keep FIFO RX
active while console output is in progress.
Patch 1 adds nbcon threaded and atomic writers. It uses bounded
32-byte M-side commands so higher-priority atomic output can take over
without waiting for a complete printk record. Atomic output may cancel
normal M-side TX. The driver restarts queued TTY output with irq_work,
honors flow control, and prevents deferred work from accessing a shut
down or removed port.
Patch 2 keeps FIFO RX on the secondary sequencer and drains it while
the threaded writer refills console TX. It also defers SysRq delivery
from this new receive context until the UART port lock is released.
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
Bjorn Andersson (2):
serial: qcom-geni: Convert console to nbcon
serial: qcom-geni: Keep FIFO RX active during console TX
drivers/tty/serial/qcom_geni_serial.c | 272 ++++++++++++++++++++++++++--------
1 file changed, 212 insertions(+), 60 deletions(-)
---
base-commit: 78bc8af4affb9a732504eb22eeac7d1e50883853
change-id: 20260723-qcom-geni-nbcon-55816a833d8c
Best regards,
--
Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
next reply other threads:[~2026-07-29 21:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 21:44 Bjorn Andersson [this message]
2026-07-29 21:44 ` [PATCH 1/2] serial: qcom-geni: Convert console to nbcon Bjorn Andersson
2026-07-30 16:19 ` Konrad Dybcio
2026-08-06 13:29 ` Aniket RANDIVE
2026-07-29 21:44 ` [PATCH 2/2] serial: qcom-geni: Keep FIFO RX active during console TX Bjorn Andersson
2026-07-30 16:34 ` Konrad Dybcio
2026-08-06 13:49 ` Aniket RANDIVE
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260729-qcom-geni-nbcon-v1-0-3053b96465ed@oss.qualcomm.com \
--to=bjorn.andersson@oss.qualcomm.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®