From nobody Tue Jun 16 19:37:17 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEFAF3630A7 for ; Mon, 20 Apr 2026 14:04:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693873; cv=none; b=aVayH1gMkMkbYMTuj9BKmjbHm+wW4vOjrxGuqIb1oyPq8TklNpTYYaTl6s9bdcmqe7iEnQcAXFNz4fUj3IVibJ439v+VduYnE/MMoXmZTwstb/tO/I0bO1HCfIA4cB7kiCVWQFC6Hm9wxEXiuRtUzQAxSoJLSo+bMxZYewT3Yb4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693873; c=relaxed/simple; bh=qFelcTJ1pCIXmrY7KftYX4Oy2N/9lTZs2Hg3YIzcshg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=itP+lCnT9rCT03bEV09WYeroBr3OtPXxtODRuF4t09Tz+HQSrdLfpTUEvwPnvc1n6libC0dvzO2Q9TmdpIf4YCk/INTI5zAwHYucGaCT7MfTivTntYoLnc5ivwloLkwQ3Wzm9pveBPnTmh6yiGxw13OXKsz7VSYYcxT4tKktaxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=A2C3iAue; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A2C3iAue" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-43d77f60944so2511648f8f.3 for ; Mon, 20 Apr 2026 07:04:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776693870; x=1777298670; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qvbI/EJN7GrntRh/mrLK4eeJPAlGYiiclh9mMVV1bZo=; b=A2C3iAuePbLRVZ/TPlwwo2c1vpTw9/57ertNcsyijii52MKjm6WKR0VI7KWCLTyX4I v7t1Cf2BwjgxvYXCgmKyZ4vG1y7lyAZx2o8aEwdBAejVmjk+WsjgM0R8NM2xzweLQ+mp VvS0pIuxJKgIr8WuKERZTG7hq0SRlqsJiuio68W6F78brzXdGHt4STBCOHHLKo1WgTZo +a6swFmu8eV6TwYMu458+mtcBwPxIhWw9ljJ++j3RcWMjty56bQolnTbeSBBCW06Eki2 nS5y8stBFExl061l9iR4G74uCsTgfYezATVbBIm48UZV801ln0KWk9CETBhjLZ/o1IOQ AukQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776693870; x=1777298670; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qvbI/EJN7GrntRh/mrLK4eeJPAlGYiiclh9mMVV1bZo=; b=WEHNKoLCDaI82L/YizTsxqu3mW4oZ2Bjx5WEuY1mPMpEKGnb64A0ZjnHgZO1mCvxKY VodOYXpq1yfOdhKDEHFoXRuLOem6JAFZ5qF2fBXONHeB3JtwZmTlaNzke4LrWFxmc+/A LYNoM/R9Mtk3F4CFE4/Qs+bJz9286tKFtF071lDM0QSv9MxQJ79eY3eOrOI1FjH5Wgjf 8JvFtO8zutVhCOM80i9jXNUmqMF31K1R/idoW8vGYeJUMUcs97BonGswzB2809WCm5Y1 NCIdcj5JuGGv12fK/Wwh9O3agJZFCUDyhvLwm1WxLxMXPtENjmTwrf1ulNbqOtP3SFnC dI7A== X-Forwarded-Encrypted: i=1; AFNElJ/GViLqEDIgUU1/Nk8E/nDxwwMLwnS7DFQu64r5hhphnB8BhISHtf5i7i0xTzuIybc8BsYME709fY1CeIs=@vger.kernel.org X-Gm-Message-State: AOJu0YznNvolLoDmdMEKQcN+SlJcRf3cNSNCXHXtdEpNfzGl0SMRfZPN A+kXykCaVv7WWrsMsFBkaGPe2LG14xBoylJwgrkQ20FT1TQaMehbp7JVEwTd1w== X-Gm-Gg: AeBDiethSld4LL8JC56Ti5nxIjI/PIhUHUkr8vp+TYZktppC044k3G3OvKiW/uLwOre 92VIKXeaB9E/O/pIblc9E/0m9yrlrVlt6gdmCe5SaMXxeIS/T0ZfqbGttM/eQaYw0qKAV/jTqgY ciKoaZJyWbgqtNOp44Uds6Nm+b5vwlccSL8hZ0+VJq4sG44YMRDd3CSUlzStefWPos2TpesPIH6 pWQy1GuNhFYHctwcJlezrGsW7eCpArCAuUnkHKDDjl5aYwKzci6Egr9e0uHQqLE53bolCf+CaWa IoM8yy5XJTWSRZuXz0KXGC1GyvRANpH7DRSQZXtfpiX3rbMnS5F3t6sc0gjTMaV/KthOUkjju0c c5/q0zydZjy8YiBhnHkujNS6NvVmS+GZ25pSJooiee62ChIhxjzo/M/hetYyCYMLC1Tisw6yAOE ywFleVYv8QEYHTS+5C4WJXo52aT+/9xNKVkQoia7bHvu9a2Torq4ihfZE6NLY= X-Received: by 2002:a05:6000:1a89:b0:43d:7125:e79f with SMTP id ffacd0b85a97d-43fe3e25c89mr21697002f8f.47.1776693870054; Mon, 20 Apr 2026 07:04:30 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:5f3e:f914:6f8c:72c3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43fe4e4d525sm28377778f8f.31.2026.04.20.07.04.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2026 07:04:29 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Greg Kroah-Hartman , Jiri Slaby Cc: Biju Das , Geert Uytterhoeven , Lad Prabhakar , Thierry Bultel , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH v3 1/3] serial: sh-sci: Avoid divide-by-zero fault Date: Mon, 20 Apr 2026 15:04:21 +0100 Message-ID: <20260420140426.237865-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> References: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das The expression (10000 * bits) / (baud / 100) can produce a divide-by-zero if baud is less than 100, since integer division yields zero before the outer divide occurs. Rewrite it as (10000 * bits) * 100 / baud, which is algebraically equivalent but eliminates the intermediate division, making a zero divisor impossible for any valid baud rate. Signed-off-by: Biju Das --- v3: * New patch. --- drivers/tty/serial/sh-sci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 6c819b6b2425..7473b26ce9cf 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2915,7 +2915,7 @@ static void sci_set_termios(struct uart_port *port, s= truct ktermios *termios, } =20 /* Calculate delay for 2 DMA buffers (4 FIFO). */ - s->rx_frame =3D (10000 * bits) / (baud / 100); + s->rx_frame =3D (10000 * bits) * 100 / baud; #ifdef CONFIG_SERIAL_SH_SCI_DMA s->rx_timeout =3D s->buf_len_rx * 2 * s->rx_frame; #endif --=20 2.43.0 From nobody Tue Jun 16 19:37:17 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBC2736309C for ; Mon, 20 Apr 2026 14:04:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693874; cv=none; b=g3yQ8GbfWjPIOGQVehqzG59bWJDKpbtGe+99tSvGGsU7RpVBYxVSwCyIKxcHSNF23HGHyZ6SjaNh5TW63LoZbl4ujsL0ddVkhSJCM+2GfzRn0pscbaPE/Ay47LmdNVxa3+ngkRHGLyvaHXMsU2vxXwVGE3fvk/HBvIcaTiP/jBo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693874; c=relaxed/simple; bh=yDUaC1/iNFVY6fhdVZI8/bN0lGWyeP+qc3u5oWUJa8Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kLrgs2ik4N2McegnnrNtV39SeFFWrV20SO7nAE19NRzmb6/yRilmNEUq3bW6C0LZrqGTi6/+SgnEdrjO7f82sgSmLWZhflE0UeTeg/MHt1ALmG4k9ImxSkZiyKEvEt7UKXyvrsKanQHdNHhm8jofLSe+uRawudctvAnvYBw1aic= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QAzlAvWW; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QAzlAvWW" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4891d7164ddso6328885e9.3 for ; Mon, 20 Apr 2026 07:04:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776693871; x=1777298671; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0UMhxU2rlH/zA2V/NdLqMV3kwXNHA2/stIZVA8XUKtU=; b=QAzlAvWWJxxZA2Mawq6YF9LMqIwES/EIGDAIQT6TLGuTGyu+lzny+d0qWnX/fNP7wv FEpopZ2uxcetgoL6JDn1/tAEKgIt/4KUZD84+S2a702QT5PJ1Y+Ieveh7OAHiIQcmzV+ 4yt1EIu3IF9CXl/h8lR4fcij3MPY77dEAYUogvJOwaU0b2YF7UglePcpqnj3IJsS2ISz tdGuFFaBmtR0/h7JLYZ7Pe03bX36wwX3iq58FaBI/GJ0hkslNLFNkJjEyPcSTfzjc+3Q kEFTX1ubFFb0n0BWuSAMZE+i5btudHXVxBdIRMqxf3u7ltqmN3DDzcYKaj5sBTrFRQLi UgQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776693871; x=1777298671; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=0UMhxU2rlH/zA2V/NdLqMV3kwXNHA2/stIZVA8XUKtU=; b=OfZgBvs1Jmj5QNqQFTnIquvb88WUq/hnchkI+tjeKEnrNaAPpwaG5w9FXfbv1NCJqg 05WyHeGM1+L3g2BHaXGQMJ6DsDFc7xwFzRYkgWzl5MvdGQ/8Aob/kZGxvYZVvZUyudcV ZVBkq2sidAW4bGSOto3CJoLtLWWpyxfrmk1VL1ImSL7fO9tsUjS+d9BHnKS5/rwl+xCH dGRAl9YSa1cj16NkUjZCKz7b69BEgRdJNFWJsnNV/PmBYdi+rLJK4Lh094M2L1x1DZIA Oq+EhZGVTEa2MYz48bz2YJlwF0Z1Drx37+JHbPLvEFK0pkBqBuT3FLMp0HnnAj0/azke 8Opw== X-Forwarded-Encrypted: i=1; AFNElJ8nbXKPR1gGZ4LkIc2Pvo7pi2+emcaqLHHQQ43vVqz1E+UtyAkSDc7RfBjLI1pDgN6sAA4RC0f/DvLPb7o=@vger.kernel.org X-Gm-Message-State: AOJu0YwVs/4rZ//To6mCNTTOeGY+qGbOSmtrNElObqslRFueQVxF0Lbf 1q9HehlAQVmV0Ae+WumLphuV89qaQ4O/ZLKC/Dsz8NXh/js/48HNzNS7 X-Gm-Gg: AeBDieto6ooJe8yu2xNL5CrBzNGhXG4zOGtvzDtlCJWJMW6Cb7b8u/flzpHdg5L21sk 8SFQW1SZO8WDT/mwfqk7bWG0V10rx7weJ/HvgT1t0E23XCcPBlOm4eSHBU8hTZfuMjVwAeBzsxL Nts56QSv77I53zoJBzVnRj526CIbRW4Lw/ORUwyVsY59U3f0pCBCJT0mSxNfMm1PEqTV5FEhlq/ 4A5EFYLqbjs/VFG44IadJPHKKpdAybjO6lsEUuQgV8YvtVGBN8VIIK/qUJYvcNYq4iK4B4vot5j bwx1v0H+5Zr/EcX73/LLgoNQNavboSsbj8ms/b+GnHtLxp5IAOWe+X0fszzOJPxsm1Z+qmZ4O/Y 6UQvY5x/OiQITt0B7uH1IJnX4xfnPCng2jDOGUx5zexSqIpmodPv5bO8SwLmJ/jNzo8Lag13evc xVUNTo59602WMMWZrSY/Wu92MWRwztyRoCQMx/Aqzt3Ol59cDKq7tUdTA//+M= X-Received: by 2002:a05:600c:4e4f:b0:488:ab37:b442 with SMTP id 5b1f17b1804b1-488fb793c6bmr201341385e9.28.1776693871037; Mon, 20 Apr 2026 07:04:31 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:5f3e:f914:6f8c:72c3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43fe4e4d525sm28377778f8f.31.2026.04.20.07.04.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2026 07:04:30 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Greg Kroah-Hartman , Jiri Slaby Cc: Biju Das , Geert Uytterhoeven , Lad Prabhakar , Thierry Bultel , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH v3 2/3] serial: sh-sci: Drop check for zero baud rate from uart_get_baud_rate() Date: Mon, 20 Apr 2026 15:04:22 +0100 Message-ID: <20260420140426.237865-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> References: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das On DT systems, a zero baud rate from uart_get_baud_rate() is not possible even earlycon derives its bit rate from chosen/stdout-path. The zero baud guard and its associated done label are therefore dead code. So remove it. Also drop the unused done label from rsci_set_termios(). Signed-off-by: Biju Das Acked-by: Hugo Villeneuve --- v3: * New patch --- drivers/tty/serial/rsci.c | 3 --- drivers/tty/serial/sh-sci.c | 2 -- 2 files changed, 5 deletions(-) diff --git a/drivers/tty/serial/rsci.c b/drivers/tty/serial/rsci.c index b00c9e385169..40db9daa4272 100644 --- a/drivers/tty/serial/rsci.c +++ b/drivers/tty/serial/rsci.c @@ -265,8 +265,6 @@ static void rsci_set_termios(struct uart_port *port, st= ruct ktermios *termios, } =20 baud =3D uart_get_baud_rate(port, termios, old, 0, max_freq); - if (!baud) - goto done; =20 /* Divided Functional Clock using standard Bit Rate Register */ err =3D sci_scbrr_calc(s, baud, &brr1, &srr1, &cks1); @@ -278,7 +276,6 @@ static void rsci_set_termios(struct uart_port *port, st= ruct ktermios *termios, cks =3D cks1; } =20 -done: if (best_clk >=3D 0) dev_dbg(port->dev, "Using clk %pC for %u%+d bps\n", s->clks[best_clk], baud, min_err); diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 7473b26ce9cf..9be359e04995 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2719,8 +2719,6 @@ static void sci_set_termios(struct uart_port *port, s= truct ktermios *termios, max_freq =3D max(max_freq, s->clk_rates[i]); =20 baud =3D uart_get_baud_rate(port, termios, old, 0, max_freq / min_sr(s)); - if (!baud) - goto done; =20 /* * There can be multiple sources for the sampling clock. Find the one --=20 2.43.0 From nobody Tue Jun 16 19:37:17 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3C09363C7F for ; Mon, 20 Apr 2026 14:04:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693875; cv=none; b=MDxvYG2ZU0Wg4hcosjUY3i6IPuG7q505DvRlf22tr0EmN14LTCEoB/3NbimY2XQsTmXTG+xwiJHsdgJHrx7y+vi5HJVg7Z0XfvDJjktf0ZKZ+b7PB49nLaXNteQeDuHFNSNpUq1m4zfNabumIrJmJ9bBdtxp564WWew9B5bFMcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776693875; c=relaxed/simple; bh=WhVlfvQ+oUYkxqpp/mJeaygvYrQ033hUNsGCTAFD55A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=E5FugXQg4bUZQ/avDfCJXa6Tokpzk9O9nJSitT7g0pD0ptcbS8ZKhiXWGzqB2KkIIaSMhN3iewBmE6qEY3IacWaljmcgmfs1dworaHbzAheMvI43Giaafzre/xyfd8jXyxWNBDTsTRxmvInuKUcgqTdOFeep2bDTT5lgsJVTZtg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EunOhYiy; arc=none smtp.client-ip=209.85.221.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EunOhYiy" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-43cfce3a195so1911038f8f.2 for ; Mon, 20 Apr 2026 07:04:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776693872; x=1777298672; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2xlUWWLG1M1rjcikyRUpJDrhDMsJpX4br6B8/dQ92cY=; b=EunOhYiyMSQjLBm5v5xhbAxdCCA0xi3+1DsqZfd1YqUsWURKfjyWnv/+hndysNpxnZ +UfBesEu1IbF3DadOCBbsIdUhyAcvGHfaeA77TNl0G7o1ik5vvUX5QMvHAYFzC9mDTw7 arhifiXdtAsXIiUgLniHIHYWkkQ+m5SO740okipcU2bs3Q9VbqQnsI0uUbWMFv/mdlRL ZBVIJhycT0r9inUUvIiyBW/ettLQTcX6Lj87y0yye0GOP3JMUZO9T4BPrxjmSOrTkFcq lBkZRPubX86b75cnVnMj+YZ6c4gt6OQdj9uiJv+0Cj+o772U9Fps1Fpj7zQLCMoVHwyA P0wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776693872; x=1777298672; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2xlUWWLG1M1rjcikyRUpJDrhDMsJpX4br6B8/dQ92cY=; b=PxVH9zz2rQJNZEXp19K06V5ctUxT0A90a2Z1T53RQOqEikGg+EmBw9V/jgdaAukFTG PZ0KHRTnhSAG8rRSkC8iDkOvs8gNXs3tBozt+DWr+GW0aZPq9THr28Bthunn8Lf4QtqL VOu2Q506+cY94fj2ybIg71rvD/4yklzUC8sB4s7X2sHBXS/iosmiN/l2RVdAf9CZF9U9 o6SyW2InjvJTrG2u396MVDkGoIztZRmUYskfuj/EVjpxl6S4Mqd8cAE4PPVSEfLegoDo waulPZxP9zAoaRliWc3LIxiXeTffEK/WHaqpSUyE4l9+9Ueviv9oSTEfYFJZOca8D4xg SEFA== X-Forwarded-Encrypted: i=1; AFNElJ884VY55elxVzuYxLmoxt1wtbnmnNUe6iT3CyYAFaGwZhWSLohkQLpr7uIdZvkqYeEmp5e9bBuPx2bCT6w=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8qRON3hfq54YdG84Z5K363hovF+6yrmtM6xAQ5B7rmXIaQk3t gYC0ns3sbmnx0UCXDEUcGVJHNL3/AMg9n3PD+BQmngKwQcpL8hnfbPrr X-Gm-Gg: AeBDieutmBSdEcp964HWJVUzM1mL7xbrWLG4qrjmLh11T2+SiJKWqBdRDm9cluJQ5lD eefdDMak8jCqHCp6VJKAz5e/O3Tzd8YRQmPPV9SyQkfyXRujJWEYc+9yyVStmCl9/y1f5kanO3Z 3NURSxqqEqdzHYCnSmgDF6fMKlBXH0tsVw8QHCCSYx7eiN6p4dV+QbMsu9ZC9gksNEb+oihDKAT 9jl8Tm9Pc1L7Gd68ADTxpeY5z1nR0WaDrSYqxje/f3AwY7k+zcCUHwAuelBMIShUcya+8E5/SiH TZhPHDXjiAplF8oe7YfHFzRaMQ7PD049TvfiPzZG8iMafLm6Xungeg86mH3OSe7m6qJDSgJ+Qgg H3DtzpKOPfYlVjon0FGolefA/vfaHbRJM4+/4+gHDBEVYHfU5ODrAYVJWAi9jBdIHk+BQJTcjNv ywDIlCuQKkAiEUsCQdaB9JRZj0rIclXD7B1MnGCYj8s2Sg1NioYQF+jmPq81nnjXXa82eJAg== X-Received: by 2002:a05:6000:18a3:b0:43d:7ba4:6b5a with SMTP id ffacd0b85a97d-43fe3df25a7mr19214923f8f.22.1776693871973; Mon, 20 Apr 2026 07:04:31 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:5f3e:f914:6f8c:72c3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43fe4e4d525sm28377778f8f.31.2026.04.20.07.04.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2026 07:04:31 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Greg Kroah-Hartman , Jiri Slaby Cc: Biju Das , Geert Uytterhoeven , Lad Prabhakar , Thierry Bultel , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH v3 3/3] serial: rsci: Refactor baud rate clock selection Date: Mon, 20 Apr 2026 15:04:23 +0100 Message-ID: <20260420140426.237865-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> References: <20260420140426.237865-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das Since RSCI only uses a single clock source (SCI_FCK), the multi-clock tracking variables (best_clk, min_err, brr1, srr1, cks1) are redundant and removed. ccr0_val and ccr4_val are likewise dropped, replaced with hardcoded 0 at their write sites, as they were never modified from their initial zero values. No functional change intended. Signed-off-by: Biju Das --- v2->v3: * Dropped reported by tag as the goto statement in rsci_set_termios() removed in the previous patch. * baud check removed by previous patch. * Added missing macro CCR0_RE while dropping ccr0_val variable. * Updated commit description. v1->v2: * Dropped the check (abs(err) < abs(min_err) as it is always true. * Dropped the check (abs(err) < abs(min_err) as it is always true. * Dropped variables best_clk and min_err as they are no longer needed. * Dropped intermediate variables brr1, cks1 and srr1; results are now written directly into brr, cks and srr. * Moved dev_dbg() inside the if (baud) block. * Dropped ccr0_val and ccr4_val, replaced with hardcoded 0 at their write sites, as they were never modified from their initial values. * Scoped variables err and srr locally within the if (baud) block. * Updated commit description. --- drivers/tty/serial/rsci.c | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/drivers/tty/serial/rsci.c b/drivers/tty/serial/rsci.c index 40db9daa4272..444e89696310 100644 --- a/drivers/tty/serial/rsci.c +++ b/drivers/tty/serial/rsci.c @@ -217,16 +217,15 @@ static void rsci_set_termios(struct uart_port *port, = struct ktermios *termios, const struct ktermios *old) { unsigned int ccr2_val =3D CCR2_INIT, ccr3_val =3D CCR3_INIT; - unsigned int ccr0_val =3D 0, ccr1_val =3D 0, ccr4_val =3D 0; - unsigned int brr1 =3D 255, cks1 =3D 0, srr1 =3D 15; struct sci_port *s =3D to_sci_port(port); unsigned int brr =3D 255, cks =3D 0; - int min_err =3D INT_MAX, err; - unsigned long max_freq =3D 0; + unsigned int ccr1_val =3D 0; + unsigned long max_freq; unsigned int baud, i; unsigned long flags; unsigned int ctrl; - int best_clk =3D -1; + unsigned int srr; + int err; =20 if ((termios->c_cflag & CSIZE) =3D=3D CS7) { ccr3_val |=3D CCR3_CHR0; @@ -267,25 +266,16 @@ static void rsci_set_termios(struct uart_port *port, = struct ktermios *termios, baud =3D uart_get_baud_rate(port, termios, old, 0, max_freq); =20 /* Divided Functional Clock using standard Bit Rate Register */ - err =3D sci_scbrr_calc(s, baud, &brr1, &srr1, &cks1); - if (abs(err) < abs(min_err)) { - best_clk =3D SCI_FCK; - ccr0_val =3D 0; - min_err =3D err; - brr =3D brr1; - cks =3D cks1; - } - - if (best_clk >=3D 0) - dev_dbg(port->dev, "Using clk %pC for %u%+d bps\n", - s->clks[best_clk], baud, min_err); + err =3D sci_scbrr_calc(s, baud, &brr, &srr, &cks); + dev_dbg(port->dev, "Using clk %pC for %u%+d bps\n", s->clks[SCI_FCK], + baud, err); =20 sci_port_enable(s); uart_port_lock_irqsave(port, &flags); =20 uart_update_timeout(port, termios->c_cflag, baud); =20 - rsci_serial_out(port, CCR0, ccr0_val); + rsci_serial_out(port, CCR0, 0); =20 ccr3_val |=3D CCR3_FM; rsci_serial_out(port, CCR3, ccr3_val); @@ -294,7 +284,7 @@ static void rsci_set_termios(struct uart_port *port, st= ruct ktermios *termios, rsci_serial_out(port, CCR2, ccr2_val); =20 rsci_serial_out(port, CCR1, ccr1_val); - rsci_serial_out(port, CCR4, ccr4_val); + rsci_serial_out(port, CCR4, 0); =20 ctrl =3D rsci_serial_in(port, FCR); ctrl |=3D (FCR_RFRST | FCR_TFRST); @@ -315,8 +305,7 @@ static void rsci_set_termios(struct uart_port *port, st= ruct ktermios *termios, rsci_serial_out(port, CFCLR, CFCLR_CLRFLAG); rsci_serial_out(port, FFCLR, FFCLR_DRC); =20 - ccr0_val |=3D CCR0_RE; - rsci_serial_out(port, CCR0, ccr0_val); + rsci_serial_out(port, CCR0, CCR0_RE); =20 if ((termios->c_cflag & CREAD) !=3D 0) rsci_start_rx(port); --=20 2.43.0