Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp429766rwb; Wed, 9 Nov 2022 04:33:46 -0800 (PST) X-Google-Smtp-Source: AMsMyM6u+fZwwjj6bDXBCAOGQnMCTWiRWirCMi3FUR7ECemuR2ovF2KDOaOnKjyLJK/RV+wC9azJ X-Received: by 2002:aa7:c14b:0:b0:461:c47d:48cf with SMTP id r11-20020aa7c14b000000b00461c47d48cfmr58103890edp.83.1667997225774; Wed, 09 Nov 2022 04:33:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667997225; cv=none; d=google.com; s=arc-20160816; b=NTm9HDIk2uyy8fZdHPSNbTpqW0LSLaTZqwmXUnHTWhW+p2hnzWxHM70NXva4fsS8xo A1uhoY5RWbxpHF/kP9UTT0wHpw4eDdlXnLiGQ5BPwugqfWVtBzbDjqchaCat6VKecW31 KM7DFYqwJksu3JnQbRdQRn63CApvdWEzvCUw6sGprpikM0ojT7egvG6kIavdj/giTGdd hNowk/PgirGr/K7uxHJsFri6AJtDToOz/eW6oVcvBA4MTAG9Nz81Pe4XpW1ElgNClpKf 91aWw+Qt/zSXc56Yl95KkhzJPa3wP6w4dXD9P8wm3fzXNgbm2/2QajqxRbZQ7c5wsIO+ BgWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:message-id:in-reply-to :subject:cc:to:from:date:dkim-signature; bh=8m07t9s0PPjvq8IX+N7urzKvuUy5oGARbL3tQRiTd7w=; b=BAr8JGBLbE/TsE5LdvMXYzyozLroBFR/0DlzD5yhX6W0MMNraNwAoOyn9gEBHdxBxQ pJ2bl2fLJjU8/31pcWmBTWa1R8k3xpn8ZkI5a3vLiQVlEjydqSoJ1aXK1uvwZNH2/WsK Yts02Ak3F47BdtYknypIci4GhEQKKtG50XGUsGhEd6oPVk5Hq9CEQOd86JsRlBijRwBY HTTVEzGRnt5I2/tkCH20u0yNTVR05Ev6dIkL1xoJ8D9kEgEf0u1RLvsy4a6T1zRKpnLG vUKL3aasPOMcDYyYmvDzZE/qXm1v9abtRFvZajLiyHxGJJPpzhU/if1NIuD13CcvOodk tcsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k8cctlNh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g17-20020a056402321100b00461cb25bdefsi15689469eda.254.2022.11.09.04.33.17; Wed, 09 Nov 2022 04:33:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k8cctlNh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229877AbiKIMTl (ORCPT + 93 others); Wed, 9 Nov 2022 07:19:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229896AbiKIMTh (ORCPT ); Wed, 9 Nov 2022 07:19:37 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF0A02612E; Wed, 9 Nov 2022 04:19:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667996374; x=1699532374; h=date:from:to:cc:subject:in-reply-to:message-id: references:mime-version; bh=bCkzJnJGlqi2Ptd+wmfFB6aY/2jG6IDmsgal7Led+7Q=; b=k8cctlNhz6shQhnGSiOBlWPYWgohVe1CuxXkIPReg56FEZVQwFCyhQcN L8tYU8jCc5CIvUVE9SKh6VvnhM+JuQVYRIvPw1v8DqqJQ+yzX9HoEnLvL 7xBHyg0D7tz3JLeLgzQs2GgoTWqWFj/rNWASY1lnfc36/OT3o3SFHTA5k NIeTwBrdN4aBqhILQoWX61fUzzRbW8fvUqDkq+hnxX0oO0uPidgdBIgsL 53XCYnr6UsehsFEL0cicaiVL1o+fsVkRUf7pQ47XdxKpZbRqYxKsjtm+0 YPnBs0AuRGNlYQPjGP5qx3wd5d1BnRlUISRGcVLGwxqzD7o2oKqRmCwlK g==; X-IronPort-AV: E=McAfee;i="6500,9779,10525"; a="312123326" X-IronPort-AV: E=Sophos;i="5.96,150,1665471600"; d="scan'208";a="312123326" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2022 04:19:27 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10525"; a="881911295" X-IronPort-AV: E=Sophos;i="5.96,150,1665471600"; d="scan'208";a="881911295" Received: from jsanche3-mobl1.ger.corp.intel.com ([10.251.219.48]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2022 04:19:25 -0800 Date: Wed, 9 Nov 2022 14:19:21 +0200 (EET) From: =?ISO-8859-15?Q?Ilpo_J=E4rvinen?= To: Sherry Sun cc: Greg Kroah-Hartman , Jiri Slaby , linux-serial , LKML , linux-imx@nxp.com Subject: Re: [PATCH 2/2] tty: serial: fsl_lpuart: improve lpuart32 registers clearing when shutdown In-Reply-To: <20221109104515.17266-3-sherry.sun@nxp.com> Message-ID: <9e682825-3420-fbe3-eb9d-8e864430363a@linux.intel.com> References: <20221109104515.17266-1-sherry.sun@nxp.com> <20221109104515.17266-3-sherry.sun@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 9 Nov 2022, Sherry Sun wrote: > Need to clear the UARTSTAT and UARTMODIR registers when shutdown the > uart port, also clear the Rx/Tx DMA enable bits and loopback > configuration bit. This lacks answer to "Why?" question. Think about somebody not as familiar with the HW as you are looking back to this very commit message like 5 years from now and wondering why this change was made. Preferrably make a separate change out of all these four changes if the answers to why question are different. It would also help in deciding whether Fixes tag is necessary or not since you didn't seem to include. -- i. > Signed-off-by: Sherry Sun > --- > drivers/tty/serial/fsl_lpuart.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c > index f5a0a14fa366..43d9d6a6e94a 100644 > --- a/drivers/tty/serial/fsl_lpuart.c > +++ b/drivers/tty/serial/fsl_lpuart.c > @@ -1771,11 +1771,22 @@ static void lpuart32_shutdown(struct uart_port *port) > > spin_lock_irqsave(&port->lock, flags); > > + /* clear statue */ > + temp = lpuart32_read(&sport->port, UARTSTAT); > + lpuart32_write(&sport->port, temp, UARTSTAT); > + > + /* disable Rx/Tx DMA */ > + temp = lpuart32_read(port, UARTBAUD); > + temp &= ~(UARTBAUD_TDMAE | UARTBAUD_RDMAE); > + lpuart32_write(port, temp, UARTBAUD); > + > /* disable Rx/Tx and interrupts */ > temp = lpuart32_read(port, UARTCTRL); > temp &= ~(UARTCTRL_TE | UARTCTRL_RE | UARTCTRL_ILIE | > - UARTCTRL_TIE | UARTCTRL_TCIE | UARTCTRL_RIE); > + UARTCTRL_TIE | UARTCTRL_TCIE | UARTCTRL_RIE | > + UARTCTRL_LOOPS); > lpuart32_write(port, temp, UARTCTRL); > + lpuart32_write(port, 0, UARTMODIR); > > spin_unlock_irqrestore(&port->lock, flags); > >