From patchwork Thu Dec 21 18:25:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Halaney X-Patchwork-Id: 182396 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp606760dyi; Thu, 21 Dec 2023 10:28:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IGoWR/cJqnWfkyeD+iwZ44htrKEhJrYbiXk21904PVlM+Uaii4y5+HSz7TujpAXQezm6JI3 X-Received: by 2002:a05:6a20:1582:b0:194:8281:e64c with SMTP id h2-20020a056a20158200b001948281e64cmr98441pzj.79.1703183322907; Thu, 21 Dec 2023 10:28:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703183322; cv=none; d=google.com; s=arc-20160816; b=r/mCoEQidIa8nyhNLfwipN3yZLPoNe//OLvdB2ApIztUgD78KLcsdfDdA21vH05ATv 9lPUGaLzhlZtSfVNzv8i7fX0HYCjzqCSsbxV+AJZg9Lma5oStpAXByDHEA+A8016rWfY nxAIRPM2tmr05+49luTGvFQuoN6kDvxBPMV1r+zvltKEW0zPPGmYWoxE2N7djRjaSkuZ sNX8oKdA4ZC70ayVDRY28AjI9BOOe/ejSnhNeL2dp4PSv+6fYEVuC+JAp3+fmJAfrx/9 GNcaFTlj6mBWqt3OA6bIj707xAQucph+a7w1jHrVmXpb9rlr83KZAj+vj5srupe1MO+7 YyxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=oX0CWwSSb/xcfXKSUEFguRgCx8LqXafuU1W5XbBtf6I=; fh=04D4Yk3yOxJShnjvHS+/hsfQo1XzUk2+baHXEOLZllI=; b=acRcY9jtlrc9rEEKEMeJOD/8gazKXkKIuScc+jj79rNjapAZkruJ2f5wCNwMGeNkjb +VFgPLedHOh72W//Y1o9NsiEoy6FfOZIsIu/9G2vnBePvDq3oS5UlorMpo7nqdq6G1b9 ZDpp3Kgl+9aM1m0dgBS8Y6p8yXD/IfWFnKG1VOfwdHpcI5cVaRqV021Fr8Ygl7pm9Dyj lfMhzW7ZYBFd3jdC/i1QrbvqZmnmknQSNEYIf32s6bClfWVsTsNyTG37QbL3VJ7gzBMU FpoXqTdq9DBnN8qFW9Ghcp98iLjDXzvwUKIfAwFJD4qZrxQ1S4jGNpGu4eCdZlOE2uOT 9BiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="O/FX71AV"; spf=pass (google.com: domain of linux-kernel+bounces-8916-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8916-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id y73-20020a638a4c000000b005cda0eb0890si1956338pgd.477.2023.12.21.10.28.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 10:28:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8916-ouuuleilei=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=@redhat.com header.s=mimecast20190719 header.b="O/FX71AV"; spf=pass (google.com: domain of linux-kernel+bounces-8916-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8916-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com 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 2B8DEB24447 for ; Thu, 21 Dec 2023 18:27:15 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 32F46760A5; Thu, 21 Dec 2023 18:25:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="O/FX71AV" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 5920B5990A for ; Thu, 21 Dec 2023 18:25:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703183143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oX0CWwSSb/xcfXKSUEFguRgCx8LqXafuU1W5XbBtf6I=; b=O/FX71AVb5nVc4R4SzW2qCSlI1JfFtEViu75wb+ENyO10+Zu6gCUKA1p2funQQ7Q6lLyTp hCiy0dDk9s2E1S5e8T/+bfJ6rjt7Zs85sIkzmr/KZv3nWkP5s5YpROSGVkDF5GjdUlj7zA bg0PJepFw5ZMSoW8GWkKs+AtMkuNndw= Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-532-9Yk4IXSlM8uf9EoQYUFpmw-1; Thu, 21 Dec 2023 13:25:41 -0500 X-MC-Unique: 9Yk4IXSlM8uf9EoQYUFpmw-1 Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-3b9e358994fso1140629b6e.0 for ; Thu, 21 Dec 2023 10:25:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703183141; x=1703787941; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oX0CWwSSb/xcfXKSUEFguRgCx8LqXafuU1W5XbBtf6I=; b=fGYDFtvH6j7Joup2OaHY0MTOs/Ef7m47XmYk5Zp6PFm6sTB61RBSonqZh6Qs7d9aV7 XfEpCPS2PCKaTW6POecALAsO29cL+jyh72BJEq/wSzcPMFxdT1J7QptaQitV84UTD0gN +1xgeXtmmUBXQ6tHvUzWg19oDmWR7TZksYfMgiVKcOfyxJZTYzk2bbz64HTr3uLQf3Uy jdKBDoNl0yfo4Lr34ileIIGHNJQ/RRkcfaTwwvi3kHFKxo6e1SOYDjVq7WCUSq4Mngxs CDsY273dIt3kqMUUZsvaQff7/QrEOTtHlVCFb7CCgsLovohOW5ERksc4/dQpG6I/3jTS hzBw== X-Gm-Message-State: AOJu0Yyj2e2ssm0UkeczpHe4sMhdAvjvOT0Sqqphi+osRet6w0tDkpE5 VkEtYr5c84hwQ67kNit/cBETY/whPHxJwPBDl10BDy+h+uCx7CZFsJsP7sy3WBKC2U6/iZ+zB6p DtNklIVivEZOzpnxxDkBubKSby4LpJlRF X-Received: by 2002:a05:6808:e8a:b0:3b9:e47d:631d with SMTP id k10-20020a0568080e8a00b003b9e47d631dmr90702oil.96.1703183141144; Thu, 21 Dec 2023 10:25:41 -0800 (PST) X-Received: by 2002:a05:6808:e8a:b0:3b9:e47d:631d with SMTP id k10-20020a0568080e8a00b003b9e47d631dmr90675oil.96.1703183140902; Thu, 21 Dec 2023 10:25:40 -0800 (PST) Received: from [192.168.1.163] ([2600:1700:1ff0:d0e0::37]) by smtp.gmail.com with ESMTPSA id da7-20020a05621408c700b0067f2c03d4adsm779605qvb.100.2023.12.21.10.25.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 10:25:40 -0800 (PST) From: Andrew Halaney Date: Thu, 21 Dec 2023 12:25:22 -0600 Subject: [PATCH RFC v2 05/11] scsi: ufs: qcom: Perform read back after writing CGC enable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20231221-ufs-reset-ensure-effect-before-delay-v2-5-75af2a9bae51@redhat.com> References: <20231221-ufs-reset-ensure-effect-before-delay-v2-0-75af2a9bae51@redhat.com> In-Reply-To: <20231221-ufs-reset-ensure-effect-before-delay-v2-0-75af2a9bae51@redhat.com> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Yaniv Gardi , Dov Levenglick , Hannes Reinecke , Subhash Jadavani , Gilad Broner , Venkat Gopalakrishnan , Janek Kotas , Alim Akhtar , Avri Altman , Bart Van Assche , Anjana Hari , Dolev Raviv , Can Guo Cc: Will Deacon , linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Halaney X-Mailer: b4 0.12.3 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785917155957174370 X-GMAIL-MSGID: 1785917155957174370 Currently, the CGC enable bit is written and then an mb() is used to ensure that completes before continuing. mb() ensure that the write completes, 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 mb()'s purpose wasn't to add extra ordering (on top of the ordering guaranteed by writel()/readl()), it can safely be removed. Fixes: 81c0fc51b7a7 ("ufs-qcom: add support for Qualcomm Technologies Inc platforms") Signed-off-by: Andrew Halaney Reviewed-by: Manivannan Sadhasivam --- drivers/ufs/host/ufs-qcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index ab1ff7432d11..3db19591d008 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -409,7 +409,7 @@ static void ufs_qcom_enable_hw_clk_gating(struct ufs_hba *hba) REG_UFS_CFG2); /* Ensure that HW clock gating is enabled before next operations */ - mb(); + ufshcd_readl(hba, REG_UFS_CFG2); } static int ufs_qcom_hce_enable_notify(struct ufs_hba *hba,