From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 765BE4248BA; Tue, 13 Oct 2026 12:38:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791895109; cv=none; b=BCxydt/HkTm978oTYwUAs5rrsn6P9OLzcv0TQooRqXZ5inBgaV62pVel8WIsCQi5gjs6SNIokt4sB+k3aIjdcVnGXMo5zRrHB9n6ttt7U9rqgkr+MWcOJJz6tb1GDJC6P3MfgH1Q2W4oG+VEdKbBqlYLU0MHy2TKeJ2bwIx9bUs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791895109; c=relaxed/simple; bh=ZKiWKJxm8+i5qbRdKUhmXfDMnVkzqKtFO0CJrh66rSA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ErUr9K1LCI8GS6sDMICDwPpxozG48a2eB9k/Gw9vI+x3Y0AKx266mo9culzH3eD3IH8OVKbOriOQrqeni+gm8rtvOlaZJ4vT9a7WjhEO/k+SLfztw2yACuTjoRrepGzdMA9gEvAeAlJlKE32bLCuFAH25N57CBqIa0eyvP5Dqpo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=cPVKIhl8; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="cPVKIhl8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDE7B1F00893; Tue, 13 Oct 2026 12:38:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1791895108; bh=WUFe4NowmgW9zflHBR5wxdOgw3bcxaHE9MzhMtX5EiU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=cPVKIhl82a63gIjabobhW9ek9ljXZw27z9P/BDg6FXU/nXSTRwcQdA42qJmmJd07k As1TdZsyYmHwXtcPpk01rLxJCJ3VUKPU10QRxTW6swRr4H+XsA8izOzhjQp5EbBngt jHTosmwxm4SYTo7y14Vv3freEmG8N7qs3hrZw0wk= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, stable@kernel.org, Konrad Dybcio , Viken Dadhaniya Subject: [PATCH 6.12 163/497] tty: serial: qcom_geni_serial: Keep console RX functional after deep idle Date: Tue, 13 Oct 2026 13:35:30 +0200 Message-ID: <20261013112911.757224735@linuxfoundation.org> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261013112907.864180619@linuxfoundation.org> References: <20261013112907.864180619@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Viken Dadhaniya commit 63ef71d1474b5417b5b2dec700cd251c44a570d9 upstream. At baud rates up to 115200, the serial console uses only a 1 kBps keepalive vote for the GENI_TO_CORE ("qup-core") ICC path. This vote keeps the path active but does not request a QUP Core 2X clock rate. When the CPU enters a deeper idle state, the missing Core clock vote can leave the console RX path unresponsive. Use the 19.2 MHz Core 2X vote at low baud rates, while retaining the 50 MHz vote at higher baud rates, so that console RX remains functional after deep idle transitions. Fixes: 7cf563b2c846 ("tty: serial: qcom_geni_serial: Add interconnect support") Cc: stable@kernel.org Reviewed-by: Konrad Dybcio Signed-off-by: Viken Dadhaniya Link: https://patch.msgid.link/20260915-correct-icc-bandwidth-vote-constants-v2-2-f78eb611204e@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/qcom_geni_serial.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -1334,9 +1334,8 @@ static void qcom_geni_serial_set_termios * Bump up BW vote on CPU and CORE path as driver supports FIFO mode * only. */ - avg_bw_core = (baud > 115200) ? Bps_to_icc(CORE_2X_50_MHZ) - : GENI_DEFAULT_BW; - port->se.icc_paths[GENI_TO_CORE].avg_bw = avg_bw_core; + avg_bw_core = baud > 115200 ? CORE_2X_50_MHZ : CORE_2X_19_2_MHZ; + port->se.icc_paths[GENI_TO_CORE].avg_bw = Bps_to_icc(avg_bw_core); port->se.icc_paths[CPU_TO_GENI].avg_bw = Bps_to_icc(baud); geni_icc_set_bw(&port->se);