From nobody Thu Apr 9 10:47:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07D96ECAAA1 for ; Tue, 30 Aug 2022 08:50:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231705AbiH3IuO (ORCPT ); Tue, 30 Aug 2022 04:50:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231681AbiH3IuD (ORCPT ); Tue, 30 Aug 2022 04:50:03 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D2976389; Tue, 30 Aug 2022 01:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661849390; x=1693385390; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=QY5pcFaRk9Pil+zQdIFM0ph2NdnnrO8rptdre2dGddM=; b=YNDvWjNq5XGMft/wUqLv2Iwlx3iyRNEGwcCLZ9yR5criVEvrX5rrs/ji muQQKf2ljYRPpXuEe+8RvyDOQAyZsDS2lQKWyT9u1yyMCiN+ILjt62iD0 paIMfDli4BUr0GdLJbfPO1i0/25ugepfzhRg4YT0A8QhOXzMkigRmb7La gaQnNb8kzk5IkWzQTTDuHC5eVUapORDR+lmMxN4M+uTeCjoUTE19/0GPS 3JawpnoPaaXP8NBj78Vu6R1J1M7QpXutlCnxVXe3acxK8Q1hojG3Cvqbr OjeN2zAsCWAHcb6GH2uvL8HU0aNA2GoOd9WUWp88zFpEUg3TwvgD8ARNj A==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293866306" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="293866306" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:49 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="672761845" Received: from arnesgom-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.54.235]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:44 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Andy Shevchenko , Timur Tabi , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH v2 1/5] serial: ucc_uart: Remove custom frame size calculation Date: Tue, 30 Aug 2022 11:49:21 +0300 Message-Id: <20220830084925.5608-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> References: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The number of bits can be calculated using tty_get_frame_size(), no need for the driver to do it on its own. Also remove a comment on number of bits that doesn't match the code nor the comment on ucc_uart_pram's rx_length ("minus 1" part differs). That comment seems a verbatim copy of that in cpm_uart/cpm_uart_core.c anyway so perhaps it was just copied over w/o much thinking. Reviewed-by: Andy Shevchenko Signed-off-by: Ilpo J=C3=A4rvinen Acked-by: Timur Tabi --- drivers/tty/serial/ucc_uart.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c index 3cc9ef08455c..7331964163c5 100644 --- a/drivers/tty/serial/ucc_uart.c +++ b/drivers/tty/serial/ucc_uart.c @@ -853,13 +853,6 @@ static void qe_uart_set_termios(struct uart_port *port, u16 upsmr =3D ioread16be(&uccp->upsmr); struct ucc_uart_pram __iomem *uccup =3D qe_port->uccup; u16 supsmr =3D ioread16be(&uccup->supsmr); - u8 char_length =3D 2; /* 1 + CL + PEN + 1 + SL */ - - /* Character length programmed into the mode register is the - * sum of: 1 start bit, number of data bits, 0 or 1 parity bit, - * 1 or 2 stop bits, minus 1. - * The value 'bits' counts this for us. - */ =20 /* byte size */ upsmr &=3D UCC_UART_UPSMR_CL_MASK; @@ -869,22 +862,18 @@ static void qe_uart_set_termios(struct uart_port *por= t, case CS5: upsmr |=3D UCC_UART_UPSMR_CL_5; supsmr |=3D UCC_UART_SUPSMR_CL_5; - char_length +=3D 5; break; case CS6: upsmr |=3D UCC_UART_UPSMR_CL_6; supsmr |=3D UCC_UART_SUPSMR_CL_6; - char_length +=3D 6; break; case CS7: upsmr |=3D UCC_UART_UPSMR_CL_7; supsmr |=3D UCC_UART_SUPSMR_CL_7; - char_length +=3D 7; break; default: /* case CS8 */ upsmr |=3D UCC_UART_UPSMR_CL_8; supsmr |=3D UCC_UART_SUPSMR_CL_8; - char_length +=3D 8; break; } =20 @@ -892,13 +881,11 @@ static void qe_uart_set_termios(struct uart_port *por= t, if (termios->c_cflag & CSTOPB) { upsmr |=3D UCC_UART_UPSMR_SL; supsmr |=3D UCC_UART_SUPSMR_SL; - char_length++; /* + SL */ } =20 if (termios->c_cflag & PARENB) { upsmr |=3D UCC_UART_UPSMR_PEN; supsmr |=3D UCC_UART_SUPSMR_PEN; - char_length++; /* + PEN */ =20 if (!(termios->c_cflag & PARODD)) { upsmr &=3D ~(UCC_UART_UPSMR_RPM_MASK | @@ -953,7 +940,7 @@ static void qe_uart_set_termios(struct uart_port *port, iowrite16be(upsmr, &uccp->upsmr); if (soft_uart) { iowrite16be(supsmr, &uccup->supsmr); - iowrite8(char_length, &uccup->rx_length); + iowrite8(tty_get_frame_size(termios->c_cflag), &uccup->rx_length); =20 /* Soft-UART requires a 1X multiplier for TX */ qe_setbrg(qe_port->us_info.rx_clock, baud, 16); --=20 2.30.2 From nobody Thu Apr 9 10:47:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 673A2ECAAA1 for ; Tue, 30 Aug 2022 08:50:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230422AbiH3Iua (ORCPT ); Tue, 30 Aug 2022 04:50:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231717AbiH3IuI (ORCPT ); Tue, 30 Aug 2022 04:50:08 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B59F9FCB; Tue, 30 Aug 2022 01:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661849395; x=1693385395; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tp8AdUXc/CyFpAtBRv1FRHZ47fXqPlu3sywMVyMvX4w=; b=ma41IJYTagrVRN3J6+HhPQEfCImzD/9G+8klJLl9img1l7QPqXgjYZY9 UCeJztvWOjkYw6YfvaS2VZYznOX22yg3rqcpQs29AiiPYslG542DDSUSP MH25SiZ82J3TXu/9gI3uBMCdiLPoVZr26eY8vLB6I2JSXoQUa91gs0ubo iduq+QoNa3Pw6sAx/eQTayFdnomYzpFeygGXqoyhWrdWH7CdIG1vcJO7u cJW4Hs8zRagFbgRRhfvMcIBCmZafSOxUS3ncy2lGO+/z2owjHAemabHcU vD7s2BWi9PBb3RsIPLeTEJ7W1u18CEB3ifyQEpMx2d3YMGzCg10IuKX91 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293866316" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="293866316" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:52 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="672761862" Received: from arnesgom-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.54.235]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:49 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Andy Shevchenko , linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH v2 2/5] serial: cpm_uart: Remove custom frame size calculation Date: Tue, 30 Aug 2022 11:49:22 +0300 Message-Id: <20220830084925.5608-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> References: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The number of bits can be calculated using helpers in core, no need for the driver to do it on its own. The mode register is programmed with frame bits minus 1, rearrange the comments related to that "feature" closer to the actual write. Reviewed-by: Andy Shevchenko Signed-off-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/cpm_uart/cpm_uart_core.c | 31 +++++++-------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/drivers/tty/serial/cpm_uart/cpm_uart_core.c b/drivers/tty/seri= al/cpm_uart/cpm_uart_core.c index db07d6a5d764..28c73c28f0c5 100644 --- a/drivers/tty/serial/cpm_uart/cpm_uart_core.c +++ b/drivers/tty/serial/cpm_uart/cpm_uart_core.c @@ -489,7 +489,6 @@ static void cpm_uart_set_termios(struct uart_port *port, int baud; unsigned long flags; u16 cval, scval, prev_mode; - int bits, sbits; struct uart_cpm_port *pinfo =3D container_of(port, struct uart_cpm_port, port); smc_t __iomem *smcp =3D pinfo->smcp; @@ -515,28 +514,17 @@ static void cpm_uart_set_termios(struct uart_port *po= rt, if (maxidl > 0x10) maxidl =3D 0x10; =20 - /* Character length programmed into the mode register is the - * sum of: 1 start bit, number of data bits, 0 or 1 parity bit, - * 1 or 2 stop bits, minus 1. - * The value 'bits' counts this for us. - */ cval =3D 0; scval =3D 0; =20 - /* byte size */ - bits =3D tty_get_char_size(termios->c_cflag); - sbits =3D bits - 5; - if (termios->c_cflag & CSTOPB) { cval |=3D SMCMR_SL; /* Two stops */ scval |=3D SCU_PSMR_SL; - bits++; } =20 if (termios->c_cflag & PARENB) { cval |=3D SMCMR_PEN; scval |=3D SCU_PSMR_PEN; - bits++; if (!(termios->c_cflag & PARODD)) { cval |=3D SMCMR_PM_EVEN; scval |=3D (SCU_PSMR_REVP | SCU_PSMR_TEVP); @@ -580,12 +568,9 @@ static void cpm_uart_set_termios(struct uart_port *por= t, =20 spin_lock_irqsave(&port->lock, flags); =20 - /* Start bit has not been added (so don't, because we would just - * subtract it later), and we need to add one for the number of - * stops bits (there is always at least one). - */ - bits++; if (IS_SMC(pinfo)) { + unsigned int bits =3D tty_get_frame_size(termios->c_cflag); + /* * MRBLR can be changed while an SMC/SCC is operating only * if it is done in a single bus cycle with one 16-bit move @@ -604,13 +589,17 @@ static void cpm_uart_set_termios(struct uart_port *po= rt, */ prev_mode =3D in_be16(&smcp->smc_smcmr) & (SMCMR_REN | SMCMR_TEN); /* Output in *one* operation, so we don't interrupt RX/TX if they - * were already enabled. */ - out_be16(&smcp->smc_smcmr, smcr_mk_clen(bits) | cval | - SMCMR_SM_UART | prev_mode); + * were already enabled. + * Character length programmed into the register is frame bits minus 1. + */ + out_be16(&smcp->smc_smcmr, smcr_mk_clen(bits - 1) | cval | + SMCMR_SM_UART | prev_mode); } else { + unsigned int bits =3D tty_get_char_size(termios->c_cflag); + out_be16(&pinfo->sccup->scc_genscc.scc_mrblr, pinfo->rx_fifosize); out_be16(&pinfo->sccup->scc_maxidl, maxidl); - out_be16(&sccp->scc_psmr, (sbits << 12) | scval); + out_be16(&sccp->scc_psmr, (UART_LCR_WLEN(bits) << 12) | scval); } =20 if (pinfo->clk) --=20 2.30.2 From nobody Thu Apr 9 10:47:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86362ECAAA1 for ; Tue, 30 Aug 2022 08:50:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231187AbiH3IuZ (ORCPT ); Tue, 30 Aug 2022 04:50:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231718AbiH3IuI (ORCPT ); Tue, 30 Aug 2022 04:50:08 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FEFC1116D; Tue, 30 Aug 2022 01:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661849396; x=1693385396; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7tobZ5SnMmu7atea54D1+8bNrJpPf5EPxFoyVmNne08=; b=bIbYO8E7Q5WAjtSg5TmOOhnWMvoUVKv87Tl43+sw0m+Dt1nzpJO4H3cN 82deaUbfPrfWrRA/39jxbx02No4f1P1wQ0vv7FFX7ziJHAdBwdafis4M4 t9DpCQcdUDhM7bGtKka4G7A/H0N3DkjyeIWXvmNR/LPy+QP5rZKdxyT0y gkS1XCdFYoEDkmokHjQECvP/s3LZOL/WtCvrWu4gi6o4u/MVN05isjg6y 8o3keThBGnmjjl48IR/OpJI/EA7NfGcnEWjR9xVfcpsIoDYqlDwBJasU0 /FzWu/soRr9JYWvWKmp3FtsEgB63Jl11cBv+Yrx+TIiNRY6Yo1/VczxhZ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293866325" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="293866325" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:55 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="672761871" Received: from arnesgom-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.54.235]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:53 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Andy Shevchenko , linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH v2 3/5] serial: fsl_lpuart: Remove custom frame size calculation Date: Tue, 30 Aug 2022 11:49:23 +0300 Message-Id: <20220830084925.5608-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> References: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The number of bits can be calculated using tty_get_frame_size(), no need for the driver to do it on its own. Change bits to unsigned and baud too since we're touching the declarations line anyway (the respective core functions are typed unsigned). Reviewed-by: Andy Shevchenko Signed-off-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/fsl_lpuart.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuar= t.c index f6c33cd228c8..7fef653e7265 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -1284,17 +1284,12 @@ static inline int lpuart_start_rx_dma(struct lpuart= _port *sport) struct dma_slave_config dma_rx_sconfig =3D {}; struct circ_buf *ring =3D &sport->rx_ring; int ret, nent; - int bits, baud; struct tty_port *port =3D &sport->port.state->port; struct tty_struct *tty =3D port->tty; struct ktermios *termios =3D &tty->termios; struct dma_chan *chan =3D sport->dma_rx_chan; - - baud =3D tty_get_baud_rate(tty); - - bits =3D (termios->c_cflag & CSIZE) =3D=3D CS7 ? 9 : 10; - if (termios->c_cflag & PARENB) - bits++; + unsigned int bits =3D tty_get_frame_size(termios->c_cflag); + unsigned int baud =3D tty_get_baud_rate(tty); =20 /* * Calculate length of one DMA buffer size to keep latency below --=20 2.30.2 From nobody Thu Apr 9 10:47:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7A74ECAAA1 for ; Tue, 30 Aug 2022 08:50:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230496AbiH3Iun (ORCPT ); Tue, 30 Aug 2022 04:50:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230212AbiH3IuP (ORCPT ); Tue, 30 Aug 2022 04:50:15 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5656713DE7; Tue, 30 Aug 2022 01:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661849403; x=1693385403; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Za5+X7kMFfgQipPzg09qI4UY1X9yueHmr3J4bzHEXuw=; b=kPGKT8YlbsxgYDFJSxMj8DKYLbfOYb1WNzr2vOuxa9rE2tXeCLaxfeMT lN2N4AXQjVhdWqPJ6QwvMdvatj04sv9Jx5pKN4Inpfh6MfHsKlIuMbe27 HyVr0DFpzKovanLdKZnz0IuEgW3+fZQQYaUqWZ5QpyOMX7z51JgYjakDS w2gPmAymjLhNtRVBMERX8QDXeBObkrEfhPFlMPxdLexj1w8etJ2KlQ5Il 3Z9lZ2GwjMq67f1BxBXenpwaz72KjYGXcnXXWr80ayJGbesTq8vlXNE6D EZ5ccUNKRnQiEF5F7JJWHPZj2NqIszS1r6UowtjvNdtRENTmsGUWpiex2 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293866338" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="293866338" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:59 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="672761892" Received: from arnesgom-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.54.235]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:49:56 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Andy Shevchenko , "David S. Miller" , sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH v2 4/5] serial: sunsab: Remove frame size calculation dead-code Date: Tue, 30 Aug 2022 11:49:24 +0300 Message-Id: <20220830084925.5608-5-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> References: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The driver features a custom frame length calculation but the result is never used. Remove it. Reviewed-by: Andy Shevchenko Signed-off-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/sunsab.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/sunsab.c b/drivers/tty/serial/sunsab.c index 6ea52293d9f3..f7968f73753d 100644 --- a/drivers/tty/serial/sunsab.c +++ b/drivers/tty/serial/sunsab.c @@ -681,27 +681,23 @@ static void sunsab_convert_to_sab(struct uart_sunsab_= port *up, unsigned int cfla unsigned int quot) { unsigned char dafo; - int bits, n, m; + int n, m; =20 /* Byte size and parity */ switch (cflag & CSIZE) { - case CS5: dafo =3D SAB82532_DAFO_CHL5; bits =3D 7; break; - case CS6: dafo =3D SAB82532_DAFO_CHL6; bits =3D 8; break; - case CS7: dafo =3D SAB82532_DAFO_CHL7; bits =3D 9; break; - case CS8: dafo =3D SAB82532_DAFO_CHL8; bits =3D 10; break; + case CS5: dafo =3D SAB82532_DAFO_CHL5; break; + case CS6: dafo =3D SAB82532_DAFO_CHL6; break; + case CS7: dafo =3D SAB82532_DAFO_CHL7; break; + case CS8: dafo =3D SAB82532_DAFO_CHL8; break; /* Never happens, but GCC is too dumb to figure it out */ - default: dafo =3D SAB82532_DAFO_CHL5; bits =3D 7; break; + default: dafo =3D SAB82532_DAFO_CHL5; break; } =20 - if (cflag & CSTOPB) { + if (cflag & CSTOPB) dafo |=3D SAB82532_DAFO_STOP; - bits++; - } =20 - if (cflag & PARENB) { + if (cflag & PARENB) dafo |=3D SAB82532_DAFO_PARE; - bits++; - } =20 if (cflag & PARODD) { dafo |=3D SAB82532_DAFO_PAR_ODD; --=20 2.30.2 From nobody Thu Apr 9 10:47:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25578ECAAA1 for ; Tue, 30 Aug 2022 08:51:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230252AbiH3IvD (ORCPT ); Tue, 30 Aug 2022 04:51:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231764AbiH3IuZ (ORCPT ); Tue, 30 Aug 2022 04:50:25 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65A615F4D; Tue, 30 Aug 2022 01:50:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661849407; x=1693385407; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+zvycWgHswi1PPV0RnXSYc/K43LbVY11y+f+/3GNfko=; b=DrF8CrfrKWH2GYBJJKgEpms4Q8xRoMgM81F6lSwDFdpYMjOEWulUzv19 yZuGLCnUGTGvrNLSpSviZjep2S6sKb5hSyMI0pLdYGg+KqAIPc+O/p/vh O5G7ub1NkkgPGwqQdu0wSD8Hf3MCYIhNEGFZyxMN/d5frib6wg7tAfA2T 7z6qP8cJeRQqV+cOG9Otcl8fX1NFgM78ffLx2lDN/IWwfF4ab7FQW2q3I W+5geqxhB8gTqItiBXrcdmDPMfeXWeWAUwRxEDxtTB6/x9aZ3sV503fzh N7Kc5BIRLGTJX4RL660HldqI90cSSSu8A218nEfXUPL/nj/FRA8PBcOTQ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293866357" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="293866357" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:50:03 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="672761927" Received: from arnesgom-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.54.235]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 01:50:00 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Andy Shevchenko , Laxman Dewangan , Thierry Reding , Jonathan Hunter , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH v2 5/5] serial: tegra: Remove custom frame size calculation Date: Tue, 30 Aug 2022 11:49:25 +0300 Message-Id: <20220830084925.5608-6-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> References: <20220830084925.5608-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The number of bits can be calculated using tty_get_frame_size(), no need for the driver to do it on its own. Reviewed-by: Andy Shevchenko Signed-off-by: Ilpo J=C3=A4rvinen Acked-by: Thierry Reding --- drivers/tty/serial/serial-tegra.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-= tegra.c index ad4f3567ff90..5a56bd20abcd 100644 --- a/drivers/tty/serial/serial-tegra.c +++ b/drivers/tty/serial/serial-tegra.c @@ -1278,7 +1278,6 @@ static void tegra_uart_set_termios(struct uart_port *= u, unsigned long flags; unsigned int lcr; unsigned char char_bits; - int symb_bit =3D 1; struct clk *parent_clk =3D clk_get_parent(tup->uart_clk); unsigned long parent_clk_rate =3D clk_get_rate(parent_clk); int max_divider =3D (tup->cdata->support_clk_src_div) ? 0x7FFF : 0xFFFF; @@ -1305,7 +1304,6 @@ static void tegra_uart_set_termios(struct uart_port *= u, termios->c_cflag &=3D ~CMSPAR; =20 if ((termios->c_cflag & PARENB) =3D=3D PARENB) { - symb_bit++; if (termios->c_cflag & PARODD) { lcr |=3D UART_LCR_PARITY; lcr &=3D ~UART_LCR_EPAR; @@ -1318,22 +1316,18 @@ static void tegra_uart_set_termios(struct uart_port= *u, } =20 char_bits =3D tty_get_char_size(termios->c_cflag); - symb_bit +=3D char_bits; lcr &=3D ~UART_LCR_WLEN8; lcr |=3D UART_LCR_WLEN(char_bits); =20 /* Stop bits */ - if (termios->c_cflag & CSTOPB) { + if (termios->c_cflag & CSTOPB) lcr |=3D UART_LCR_STOP; - symb_bit +=3D 2; - } else { + else lcr &=3D ~UART_LCR_STOP; - symb_bit++; - } =20 tegra_uart_write(tup, lcr, UART_LCR); tup->lcr_shadow =3D lcr; - tup->symb_bit =3D symb_bit; + tup->symb_bit =3D tty_get_frame_size(termios->c_cflag); =20 /* Baud rate. */ baud =3D uart_get_baud_rate(u, termios, oldtermios, --=20 2.30.2