Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3190007pxu; Tue, 8 Dec 2020 06:00:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJzYPqNGRhm1vb8XZRtzMox5gtTrXzvMDkGEs3i/YhUtOxCcHHTn36FL4CdAVI8HfFMkmbdk X-Received: by 2002:aa7:ce94:: with SMTP id y20mr24415922edv.361.1607436016713; Tue, 08 Dec 2020 06:00:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607436016; cv=none; d=google.com; s=arc-20160816; b=lEKCixw+9SqscBU0E5yUwlfoUmpz8Q98aNrxwXLQcKWJX2HMi3C7efKKyKXi5QOVGe +xpzV/UA3zF8GO3ethX/TBV4vMvu5TxwpBiEIqljtWfeZ2bHh+nzLqTU/SBi+ok3bkip A3sSZ0MnmXGXScZ2G+MjyRuHskQhZ1+lLZY8zTcStz8Es7iIHRfnTZka9OLcHb8u95Mo jmzamfVLkib9pSh2m3d+YhFypQHO5YeB0dDWeg6jdzOsXxwlp/rT1o6hz8fX0M//SxSE MFd1ICWU5E7JwuuRAyimauoLn9SGiPbULMt9LIsxr+TdAcZEewyKxxGPMA19oXIXAE+v rYYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=M0BV1dLV1qunKEDVyn0tI9HfSsMeXkYYnjeTFx54k9A=; b=ubZfulB2dHd6ORwulGiE/NHeTw+6/yw3qaUoSk4eNYpMkBUibIbZcCmh5SUI5O4G+L aulV/XIEpeBFbrCjkQs14p05/BJPKXBAq+KAcTzZgXRptZNzRx8tu7P39rSXf75E6GGH 5GvnEQ6RD20IvuZ4P+LWRFU+Ig21gwmr6YNepVUzRqhnKzB7QoW9MUVIX1qQ2mg3NAMY U6BGlM6krHoV8gjC6TBt6n2UzzU6xBdH64kcjennG9v7gQDY23LTxIg1Fwr5LqPXsUVi eqvWSTBuwoDKrsAZbp1uJo2SUyEJpXgaWQmRzOxdPNOET3JLk1mseKr3r/CvierFIHoy N55w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a18si4908400ejr.512.2020.12.08.05.59.53; Tue, 08 Dec 2020 06:00:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729714AbgLHN5Y (ORCPT + 99 others); Tue, 8 Dec 2020 08:57:24 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:56236 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729025AbgLHN5Y (ORCPT ); Tue, 8 Dec 2020 08:57:24 -0500 X-UUID: 8ef993b99daa4830a6bd8b7b2228282c-20201208 X-UUID: 8ef993b99daa4830a6bd8b7b2228282c-20201208 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1497966473; Tue, 08 Dec 2020 21:56:37 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n1.mediatek.inc (172.21.101.77) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 8 Dec 2020 21:56:36 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 8 Dec 2020 21:56:34 +0800 From: Stanley Chu To: , , , , CC: , , , , , , , , , , , , , , , , , , Stanley Chu Subject: [PATCH v2 1/2] scsi: ufs: Re-enable WriteBooster after device reset Date: Tue, 8 Dec 2020 21:56:34 +0800 Message-ID: <20201208135635.15326-2-stanley.chu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20201208135635.15326-1-stanley.chu@mediatek.com> References: <20201208135635.15326-1-stanley.chu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org UFS 3.1 specification mentions that below WriteBooster flags will be set to default value, say disabled, after power cycle or any type of reset event. Thus we need to reset those flag variables kept in struct hba to align the device status and ensure WriteBooster related functions being configured properly after device reset. Without this fix, WriteBooster will not be enabled successfully after by ufshcd_wb_ctrl() after device reset because hba->wb_enabled remains true. Flags required to be reset to default values: - fWriteBoosterEn: hba->wb_enabled - fWriteBoosterBufferFlushEn: hba->wb_buf_flush_enabled - fWriteBoosterBufferFlushDuringHibernate: No variable mapped Fixes: 3d17b9b5ab11 ("scsi: ufs: Add write booster feature support") Signed-off-by: Stanley Chu --- drivers/scsi/ufs/ufshcd.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index 08c8a591e6b0..36d367eb8139 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -1221,8 +1221,13 @@ static inline void ufshcd_vops_device_reset(struct ufs_hba *hba) if (hba->vops && hba->vops->device_reset) { int err = hba->vops->device_reset(hba); - if (!err) + if (!err) { ufshcd_set_ufs_dev_active(hba); + if (ufshcd_is_wb_allowed(hba)) { + hba->wb_enabled = false; + hba->wb_buf_flush_enabled = false; + } + } if (err != -EOPNOTSUPP) ufshcd_update_evt_hist(hba, UFS_EVT_DEV_RESET, err); } -- 2.18.0