From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40FC83A7F73 for ; Wed, 29 Jul 2026 21:45:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785361505; cv=none; b=ixDTlCgEoomj3578hFkRR80JANE1tJjChXLH2l8EnD0E6Rvbx4HClnjFXq5vH/DV+4se1bifvS512GsCLwHdk/NiVBfWww2oLnLrVlWvhVo6Ow9AdbT9cp2dLd2o/L3zQgh+GmBA08ByS58BdwbixHK++wk4TyGpn5O5Vk6dtH0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785361505; c=relaxed/simple; bh=8Gj1woh+YGfKoKUw8vUcFzinjyFOvJLPqGvaI9q49jE=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=gAWkUK2uN1Vkxjb9wT2RqA6eoPFsxyeVjLwzgfKCzGdWTktiRvVrtOk9nD+u+nkCh3V1BkBQb/fLoH6P/8AznGnlTA7tO6kcuDuN3AATJhIsJ/Bizy1TYpWiRU6IOBIFGNlJ/GUXerzcR1QrhxgrPJMBX6eCjTl4rbkbZEmfCg0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=NWRovRpG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SUpUq+lM; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="NWRovRpG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SUpUq+lM" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66TLW9Ph3055566 for ; Wed, 29 Jul 2026 21:44:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=MRNITidFnB6lZG6QW59LqI d5ZJlZIn1XEPqpGLYBxiY=; b=NWRovRpGx7l7MXPQuqz1NHxQaKVCGdOmxcA3LN 9Pa8s/krGRF0s0qrGfRo4qYf4ir8sOF1X7G6f4RQ4JzX9T6dsbDl1Dk0bdae296k 5/YjFC1BoLXkAqOwggL1YzkV2Huy2lISXvlIDKBjg3DjsIYP4Hfdb1OKVSTatUbS dajcDBJgUZyluOxt64DT3FhGr9EuamPPIz12tXXy67YWk+za0SvcK0KqAbivYkWt UHifpiYU9xBWCJaFySUo3vwl02kYeNYnlio+eYO8VtYA53nMjiWh8aiMsF0KiQ+B J2ZT1INrnVQZcMppo0Xsi3cgbwaRGRXGgNTm2oaBybRdVokQ== Received: from mail-oo1-f70.google.com (mail-oo1-f70.google.com [209.85.161.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fqsh401a8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Jul 2026 21:44:59 +0000 (GMT) Received: by mail-oo1-f70.google.com with SMTP id 006d021491bc7-6aca58fb7b0so407034eaf.1 for ; Wed, 29 Jul 2026 14:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785361499; x=1785966299; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=MRNITidFnB6lZG6QW59LqId5ZJlZIn1XEPqpGLYBxiY=; b=SUpUq+lMoQUfQFVovfltv7rcRLbzJG1wc1O+YVOnBjIf93BBtSQfrp76kxBDGZAWEc pDQcyuiG7OFuc23NB57Xa5/pmJZvwu+3AgM/B5OvxsnMf5/l2sb2uCjB2LarGclbvuVa T/ASiwCJagi0pazunprtYAxVQia6zyKRBl/YM7tGfioMy6jVua3A5+EwBrcnFxO8U/4q rbQVbJrf+YRKA+ylkzYkoAFkyJA0gFMItRHEFPrYiHazLmkRFM6p5kbJ4mS3AHLCzX1Y 7mRDpuS7fGqk9Jt/8AhoX1ZahA3SKUNfjvt2zXZLK4yPBSR0N6JwIi4ltq4ZZtHk3KHB z5tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785361499; x=1785966299; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=MRNITidFnB6lZG6QW59LqId5ZJlZIn1XEPqpGLYBxiY=; b=FSqkSP68Q7NoOyY6HXGaZPkUJIrC0hiUrQe6GDvCZ+ucvAFpG/lfLfmh4QzIY5HyDQ J669h2nH+icvCYhKtPlobi6cnrLqu95ZV8f/VJyRudP054vSyiv/K2CicEO8h9iCAcei xDyxd9e7P/BQ0ZJ5K3r6E+OF8F9M6uapZvjVougB/qzOoBCk5fu+y0fN4pY6rU+iCLP8 j5y3AcUv3lPbjO7KLo9G6cMTEGMuvtlH2nGpuIMc9CLc/F/2RWorZeTj/VlU46FhTQxd arCnA3QWSjbf6YKZ1zMIQlP0sb1d3A+JWyCya3oYnPH24nnUYIh8V8MSxlZQ9l/HbJmk eWYQ== X-Forwarded-Encrypted: i=1; AHgh+Rq7H2sQXsFGbJzPcss+MH6aWTiSz4i2fwsjGpN1uc0f76Yizmm0JJUU5sbTJGonmVMDvwjeWzkHA8qOYqc=@vger.kernel.org X-Gm-Message-State: AOJu0YxJh4zIEncqJBueQ/lP5R2dniN9M30v3hcY2WOEG1wevo53h5lk RRjGvGLf/EIGRedI+FM0XWWwedwnksSskIoxPvJiGdBVCTpCMkHogN/7x5HfcynfXfK7AW/Mqx3 cOsNFmzVSl7QE8bm8ZZ2fcZdAaNtuDwvLG/y318WlYPNHBjnZvrFS7jsGiBOaIjwr+PrOyblXU+ 8= X-Gm-Gg: AR+sD13N3TKZ0RhNlbn4/mmrWeB7b/JQcCXEp6tyLupg/QBawAdtfiGZjZoparwdQHe UgkroHRA41NxYPS78dmvf1xpGE5QlL6uUPfA8PNu5C0w/F0B4CEoqr5KRQo698lfZgtW8itoojq ONYqfI5mqucspX8jGrwDbVHS4EiP1cLJKe1UDep8oll1ROyDGOvQq5v8JAeWKJmOO3s8kPq9SmN 2vmDS7w/SZRaS7EOBQhkjTCLNqnf8RFWWsw8WFS4nRV++7wcyLEgbgZlpDc/g/p1deCUDaEH1Am 5RLCx/6bidG2hIMCqLC+uO0SWkJrlFz5aKotTM/zp8UXoKhLfZGcHohyXDGulq5bUbxknG73m+p DDXyu5gTAtJHMGdAbseg= X-Received: by 2002:a05:6820:16ab:b0:6a1:8c8c:abd7 with SMTP id 006d021491bc7-6acbbf1044cmr93509eaf.16.1785361498750; Wed, 29 Jul 2026 14:44:58 -0700 (PDT) X-Received: by 2002:a05:6820:16ab:b0:6a1:8c8c:abd7 with SMTP id 006d021491bc7-6acbbf1044cmr93469eaf.16.1785361497286; Wed, 29 Jul 2026 14:44:57 -0700 (PDT) Received: from [172.17.0.3] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-458c0df60fasm90790fac.13.2026.07.29.14.44.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2026 14:44:56 -0700 (PDT) From: Bjorn Andersson Subject: [PATCH 0/2] serial: qcom-geni: Convert console to nbcon and handle RX overflow Date: Wed, 29 Jul 2026 21:44:54 +0000 Message-Id: <20260729-qcom-geni-nbcon-v1-0-3053b96465ed@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAFZ0amoC/yXMQQqDMBBA0avIrB3QBG3wKuJCx6mdghNNbBHEu 5va5Vv8f0DkIByhyQ4I/JUoXhPKPAN69ToxypgMpjB18TAWV/IzTqyCOpBXrCpX1r2zdnQEqVo CP2W/j233d/wMb6btt4HzvACkED1fcwAAAA== X-Change-ID: 20260723-qcom-geni-nbcon-55816a833d8c To: Greg Kroah-Hartman , Jiri Slaby Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Bjorn Andersson X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1661; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=8Gj1woh+YGfKoKUw8vUcFzinjyFOvJLPqGvaI9q49jE=; b=owEBfAKD/ZANAwAKAQsfOT8Nma3FAcsmYgBqanRX3aI6fYlRVF0RhQw/Ulag/FsLYkezbbdwl g/e05rAg7KJAkIEAAEKACwWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCamp0Vw4cYmpvcm5Aa3J5 by5zZQAKCRALHzk/DZmtxcKbEACYmsa6A2BfakXT2Kr+YTebJ2C3v7QBgAyrJhzciZeFP6DS/8G JFE6AZZz4hkyp0n9yPa5NNBbXStNI8B8fRx0CQEw32Y0FUN+ScVmLV0LFgsaWKD3NBSs4kalfN8 6t/YxUSMQkHP+TN4Hdek9ljvq6mAX4uV5gs3a9Yb6WOCpsqLOEkGkvWp75kPRqC/Eex4Zz/Tgey PbevkhBg8cNU2MSf1Bvddu2piC5Et0bWJOS3rO9+FbdRUAoH6k+gUaDRqblQfPAF27JZ5sCXWZM J8LZLSsYUdtcuJx1Ul4BiaewKkM3nm4bU6/1aG2lkhdOUzV8lLzNXsIBn7WIKpY9qtKOLBByFit vFsoDTj53j0AxYVye1iwIEABVhoEAHuyllxhnL0mLiDTY6586xvrWPF+fM4WBdkjVT6c4+UXf97 ChFOj7OqJLpzcgMMpTNaGnzvFryZI2a0vQUC1CgAg0Sm9SgNsOXirwFTkufrFnHzczpWv53kjz3 r7+ttNaub1NPcmow+62mkf00XTwva9Bwa/PQrgQJ77gvTBylash9pXPDAOSddtR2W2legppG4t9 qOJS5I6MGxJVr/MYWbIX2wX8k0zbkhsSQxg2AyIowiLTDnkf/sVzyv4K9Pac8Sn76+NHqXAV1+N uSmzAEbL9m88JzvaP6zGpsdSnQOZSoSckPA== X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-ORIG-GUID: ATQZYnS4gAgloRaR0mfdd2KVkP8hwGaP X-Authority-Analysis: v=2.4 cv=d4vFDxjE c=1 sm=1 tr=0 ts=6a6a745b cx=c_pps a=lkkFf9KBb43tY3aOjL++dA==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=ymw6HyzOBw0-piHZwAoA:9 a=QEXdDO2ut3YA:10 a=k4UEASGLJojhI9HsvVT1:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI5MDE2NCBTYWx0ZWRfXxoI6zpfLg4Kc QNwL4EhpiBYALi9DAtMJ/m5JVnOMIKLSLkSGNGOzj+7HTjLibGQOuiRpBCkHyamjQOpYbsuSW6v xnZpTXpp2EvIAyFCuUneHem65jFGvOZdbO30FAEZqxD1dFQOFflcjCvqm2P1DSE3Ds3+jvnGKGZ vtL6kRGA4Q9ntUkDet4Vis1OmDi2XtVDbaOkoSFbtj1YFnQpIo/dxnvgxWk+BA/Ax2jTlS7cvNc k4dagLQVJG5dCdQZfVCewBS2Eri4rapv/YhNIlijpusHeklj6oeXZ6bljHke1+16Ova2HXfeGYA 12S2U3W9smoKKOMSLDAgdGhARDVf5PxTi4GvSTVjniTd+e4aQVyRACNdbi8Faj07A0UKCCCD9I+ XMQaPTBLZV97UTxfqvCXZ4wCWaGF1pdgBcSpqXG7uEg81h8GWH99UVQNFoPO6RaRSYmS4he+pCV XzqFA+fWrtSU/Cd+cYQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI5MDE2NCBTYWx0ZWRfXzUbOHrkTUaUk 1859ZSsFLjZyKPUXWifS0fS25l5sNrtAF5KmGwaalRpAg0aEViDfc2xjQWNjDS0yY9wNqBL31F2 nvQf+SfsYGbXMo75jrxwJo7ClgtqCEo= X-Proofpoint-GUID: ATQZYnS4gAgloRaR0mfdd2KVkP8hwGaP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-29_08,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607290164 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 (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