Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp336813rdb; Thu, 21 Dec 2023 10:26:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHduaNgJvPXwug0vWJklTTHmNf9XbDZNQka2085i7dLvGMpU2n5DGi8WiVwkqvd88bfYnBP X-Received: by 2002:ac8:5947:0:b0:427:8376:a2a with SMTP id 7-20020ac85947000000b0042783760a2amr185972qtz.53.1703183216145; Thu, 21 Dec 2023 10:26:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703183216; cv=none; d=google.com; s=arc-20160816; b=JOFlsJJbrY7OAyHNPazxyxJZ5NjIPUtRlH0AYLXqCpbGhmf1QxY6Xb9A98LFn+rMan hJEymUbopqrg0f23Yb/5q6hBrXy9PyXEIRMVaZ3kAhk/O3z7Jy8zHxdNQSSnroiw1/kD p8Tdtk2zh5hiwdZB6AwSuFvvCC0H+ZgDsAz1bKRKenVqHSzVgOjFVIyxai3/Z3NfJLpk tifhjM0t1eAyAswFH38rmk99tlhjfE199OHAlP4Dj49IrQaw23zQn2gjNwmrZqQpReGj BYw7a0SmDl9tl+ETMWYgeGEO7gYbCN2wUadQNyJQfa15Eci8yCVvd7TNtErc168fsHSs wC8w== 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-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8916-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id y15-20020a05622a004f00b00423b9bac0f5si2687862qtw.453.2023.12.21.10.26.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 10:26:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8916-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; 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-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8916-linux.lists.archive=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 ny.mirrors.kernel.org (Postfix) with ESMTPS id D42C71C23CF4 for ; Thu, 21 Dec 2023 18:26:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 69BDF745EC; Thu, 21 Dec 2023 18:25:46 +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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit 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 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 --- 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, -- 2.43.0