Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp3200693rdb; Tue, 26 Dec 2023 22:19:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IFLgFLPApGD/lPcwZ3TiG3oYtSwRbTbLZ2JNHGAxqMxSCkJBNpwo8rN6alkEb563tD7DNrJ X-Received: by 2002:a17:902:d2cf:b0:1d4:5b68:8fbb with SMTP id n15-20020a170902d2cf00b001d45b688fbbmr1279398plc.44.1703657950217; Tue, 26 Dec 2023 22:19:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703657950; cv=none; d=google.com; s=arc-20160816; b=unB8OOqZz+wJn+YXlWIQDfvjhvQ+3cGzPOLpfIMll7496ELU3Mpdn6gf+dX8NCnJvR +f1iU5XeSZizHBT9bPCypzqf0oUNQah3VVWfpakYsCoZGoRV95mn5XRwxwC89QEUIfHO jasQOspBWtimWqudfZ0fsuBVRr5kScouxF5f2jF0xQ5DITpejKENrKbzKQMqZT0Z1Rsq SRaB/6eRGGy0I/USbppUYG+E3cFJ76LTG5R+vQE8RAer4MIXty8X2c1pXDUuxve/+HLa w0UgVCXFGkDxhSpc0HVhgDiypwBpmmtBJt3Zyhyogu9ZOcgp4q8jLKKC17E/11m0o5uL kf/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:subject:cc:to:from:date:dkim-signature; bh=+ZzErXpSK6b7FNWblakYIp7CWRsCs4BkJ+oe6mh/VeI=; fh=DKfwOHZjdzJuxY5p63+Z+ZKUFwi6cwq1slHifKpbfqA=; b=q5/eMGUJiwBcb84gn4JQ3ltyYb5tiDIvN4DtV/MlmXgDSNdsocEA4so9r6ltsd7lqK Cllyvf3txGtXcTmoR19RrQHDJkYcx6CUpaMEYxymvsoBfa1SZY8i9Au48bh5SMovbBh9 97FOzOhcMh8oviO+L+wX2J37AFgnNt0vBfTCRP57zofU8vRw9olZefj+c1H+YvyjjiDo X42+pnsP25TjsmKWqrfVVAMaf1txESUlpfbdRIpA7u76XXmtDXrzyYRjjqVIstcK24zQ xvDVw3QW52sYc29AZLB1deLPBdt9eQzHBMtNPyARaGIl4H1toUjYeuPZBfkRN3gY66iz jkiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=m+llo1X9; spf=pass (google.com: domain of linux-kernel+bounces-11853-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-11853-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id x5-20020a170902ec8500b001d348572011si10915203plg.231.2023.12.26.22.19.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Dec 2023 22:19:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-11853-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=m+llo1X9; spf=pass (google.com: domain of linux-kernel+bounces-11853-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-11853-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 697F7B22545 for ; Wed, 27 Dec 2023 06:19:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 50BCC539C; Wed, 27 Dec 2023 06:18:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="m+llo1X9" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 7538D5228; Wed, 27 Dec 2023 06:18:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B170EC433C7; Wed, 27 Dec 2023 06:18:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1703657927; bh=f12A6QbCQVUZfP169hKVQL7gHb1oq0RYqXw5nplJHNY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=m+llo1X9SNv2aJzA5txMtfEhY3Fkia9Pm/Zwr96hdH3lt+tuFl+JqYzSIeMD25PbD GeB4gyGUquDV2Vk9yEN3KE2jxkeY8kCp6g2VMNZjMuhV9qVWFjk4o1wDIDHYqNnbtX 8dUxEMwuNxiK6BU6Yvfh1ONbl0bY2GcJqRcYZ6vy5X4GnKNEM+INpF31TIRH320YjT PAlfmfqMR9kWK1vppqszh6nG0c/1f9feopI2vi5MT4p5NaQiRQ6CWMaZf9B1NeBgRR 4i4jh76GazY0fKnGcL5JtrNNf1vXZuf3vmNdnEjUr/zEXxHvIxJK9vcTfeOKXB/ReX h3UPKA0S/xGGg== Date: Wed, 27 Dec 2023 11:48:37 +0530 From: Manivannan Sadhasivam To: Andrew Halaney Cc: Andy Gross , Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Hannes Reinecke , Janek Kotas , Alim Akhtar , Avri Altman , Bart Van Assche , Can Guo , Will Deacon , linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC v3 10/11] scsi: ufs: core: Perform read back to commit doorbell Message-ID: <20231227061837.GH2814@thinkpad> References: <20231221-ufs-reset-ensure-effect-before-delay-v3-0-2195a1b66d2e@redhat.com> <20231221-ufs-reset-ensure-effect-before-delay-v3-10-2195a1b66d2e@redhat.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-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20231221-ufs-reset-ensure-effect-before-delay-v3-10-2195a1b66d2e@redhat.com> On Thu, Dec 21, 2023 at 01:09:56PM -0600, Andrew Halaney wrote: > Currently, the doorbell is written to and a wmb() is used to commit it > immediately. > > wmb() ensures that the write completes before following writes occur, > but completion doesn't mean that it isn't stored in a buffer somewhere. > The recommendation for ensuring this bit has taken effect on the device > is to perform a read back to force it to make it all the way to the > device. This is documented in device-io.rst and a talk by Will Deacon on > this can be seen over here: > > https://youtu.be/i6DayghhA8Q?si=MiyxB5cKJXSaoc01&t=1678 > > Let's do that to ensure the bit hits the device. Because the wmb()'s > purpose wasn't to add extra ordering (on top of the ordering guaranteed > by writel()/readl()), it can safely be removed. > > Fixes: ad1a1b9cd67a ("scsi: ufs: commit descriptors before setting the doorbell") > Signed-off-by: Andrew Halaney Reviewed-by: Manivannan Sadhasivam - Mani > --- > drivers/ufs/core/ufshcd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c > index 75a03ee9a1ba..caebd589e08c 100644 > --- a/drivers/ufs/core/ufshcd.c > +++ b/drivers/ufs/core/ufshcd.c > @@ -7050,7 +7050,7 @@ static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba, > > ufshcd_writel(hba, 1 << task_tag, REG_UTP_TASK_REQ_DOOR_BELL); > /* Make sure that doorbell is committed immediately */ > - wmb(); > + ufshcd_readl(hba, REG_UTP_TASK_REQ_DOOR_BELL); > > spin_unlock_irqrestore(host->host_lock, flags); > > > -- > 2.43.0 > -- மணிவண்ணன் சதாசிவம்