Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp1446744pxb; Fri, 1 Oct 2021 10:45:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxC9ZB+ac7gYqsPAcCzRzSf1YwHd8L2F+mGkxx8z9sdsa2vsklMaVVJex2nslEYHFjcw9yU X-Received: by 2002:a63:be4e:: with SMTP id g14mr10935250pgo.194.1633110307632; Fri, 01 Oct 2021 10:45:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633110307; cv=none; d=google.com; s=arc-20160816; b=Cib1OzRb8Xwm+BequX8t5+rhlKFLYc1cATdGty5PdCtkFoWdwreXw6aE/4kDtgsnfZ vH0uTqmu55fLzANWqfKqhhXdyrPS+WoSLtxvEcE/rzYZqBOQNlnj3Z4oQf0tKCCyqUe3 u4czbPOotOygaHqGLeoNWnokBY/iDJ6eNYWHv7/weSLJPdk3xBqI+eqKcro5OJL06qtT Z/8BDUK2YbzR30g3wnxjIe8zATCQzVOaOk+FEHm9u+x+msb+3mO2ixf8DYZoDFuvdZxF SK8g97krS5/zYDuWSrdv9FmAlVEgI4XF5iQQq8TUPHpzAZ7Ha2E9FY1HvqCaMmwEzEFL QzNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:reply-to; bh=/A9Vdz326k2BsrN1ttJqT48Ab2YXy2WVquZHfURxA+E=; b=oRjSLXDu0ynWx+mOPw4tI1qY6zUoVQoLxZ41+qFQsgDLy3e5wfTmO/UU6g4+QXvtUW cCYKLBF6+7xJ0gRHt1PWWSxv2mMpZmFKHwk88KMb72F8QbqMNZqgx2BGfij/Z7hwl2nI CcYjQ3N3WWiwP4CL7YiBL8GTJ7DcX8ID9nzGKgSByOpbiEbudJwLcyyzEdUoBxRkmt7h M97DmCsQE9VUGDZ8VJobAA44TZeru6uMZM9nZFndi+srQh7X4k8M1HNDpCb9DHM8Vbor TIDjEsR01DM0VN2LVSIvjH/+huZUfuNwt1ZGmG5eIkDV9F3fgfL/Z+njzwlh+Go+E+7F oASA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l4si7631308pjh.168.2021.10.01.10.44.51; Fri, 01 Oct 2021 10:45:07 -0700 (PDT) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355321AbhJARX2 (ORCPT + 99 others); Fri, 1 Oct 2021 13:23:28 -0400 Received: from mail-1.ca.inter.net ([208.85.220.69]:47196 "EHLO mail-1.ca.inter.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354507AbhJARXO (ORCPT ); Fri, 1 Oct 2021 13:23:14 -0400 Received: from mp-mx11.ca.inter.net (mp-mx11.ca.inter.net [208.85.217.19]) by mail-1.ca.inter.net (Postfix) with ESMTP id BB4A82EA9EC; Fri, 1 Oct 2021 13:21:26 -0400 (EDT) Received: from mail-1.ca.inter.net ([208.85.220.69]) by mp-mx11.ca.inter.net (mp-mx11.ca.inter.net [208.85.217.19]) (amavisd-new, port 10024) with ESMTP id LjGWOt4lj-jX; Fri, 1 Oct 2021 13:21:26 -0400 (EDT) Received: from [192.168.48.23] (host-23-91-187-47.dyn.295.ca [23.91.187.47]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: dgilbert@interlog.com) by mail-1.ca.inter.net (Postfix) with ESMTPSA id EA0922EA7B3; Fri, 1 Oct 2021 13:21:25 -0400 (EDT) Reply-To: dgilbert@interlog.com Subject: Re: [PATCH 2/2] scsi: ufs: Stop clearing unit attentions To: Bart Van Assche , Adrian Hunter , Jaegeuk Kim , linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, martin.petersen@oracle.com Cc: Bart Van Assche References: <20210930195237.1521436-1-jaegeuk@kernel.org> <20210930195237.1521436-2-jaegeuk@kernel.org> <12ba3462-ac6b-ef35-4b5e-e0de6086ab51@intel.com> <5e087a0f-7ae0-41d1-c1f1-e5cc0ad2d38f@acm.org> From: Douglas Gilbert Message-ID: Date: Fri, 1 Oct 2021 13:21:39 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <5e087a0f-7ae0-41d1-c1f1-e5cc0ad2d38f@acm.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-CA Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021-10-01 12:59 p.m., Bart Van Assche wrote: > On 9/30/21 11:52 PM, Adrian Hunter wrote: >> Finally, there is another thing to change.  The reason >> ufshcd_suspend_prepare() does a runtime resume of sdev_rpmb is because the >> UAC clear would wait for an async runtime resume, which will never happen >> during system suspend because the PM workqueue gets frozen.  So with the >> removal of UAC clear, ufshcd_suspend_prepare() and ufshcd_resume_complete() >> should be updated also, to leave rpmb alone. Somewhat related ... Since there was some confusion among the members of T10 of what precisely the RPM bit meant, in SPC-6 revision (draft), a new "HOT PLUGGABLE" two bit field was introduced into the standard INQUIRY response: Table 151 — HOT PLUGGABLE field Code Description 00b No information is provided regarding whether SCSI target device is hot pluggable. 01b The SCSI target device is designed to be removed from a SCSI domain as a single object (i.e., concurrent removal of the SCSI target ports, logical units, and all other objects contained in that SCSI target device (see SAM-6)) while that SCSI domain continues to operate for all other SCSI target devices, if any, in that SCSI domain. 10b The SCSI target device is not designed to be removed from a SCSI domain while that SCSI domain continues to operate. 11b Reserved That field is bits 5 and 4 of byte 1 of the response. Perhaps we should be adding provision for this new field. Doug Gilbert > > Is the following change what you have in mind? > > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 0a28cc4c09d8..0743f54e55f9 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -9648,10 +9648,6 @@ void ufshcd_resume_complete(struct device *dev) >          ufshcd_rpm_put(hba); >          hba->complete_put = false; >      } > -    if (hba->rpmb_complete_put) { > -        ufshcd_rpmb_rpm_put(hba); > -        hba->rpmb_complete_put = false; > -    } >  } >  EXPORT_SYMBOL_GPL(ufshcd_resume_complete); > > @@ -9674,10 +9670,6 @@ int ufshcd_suspend_prepare(struct device *dev) >          } >          hba->complete_put = true; >      } > -    if (hba->sdev_rpmb) { > -        ufshcd_rpmb_rpm_get_sync(hba); > -        hba->rpmb_complete_put = true; > -    } >      return 0; >  } >  EXPORT_SYMBOL_GPL(ufshcd_suspend_prepare); > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index 86b615023ecb..5ecfcd8cae0a 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -921,7 +921,6 @@ struct ufs_hba { >  #endif >      u32 luns_avail; >      bool complete_put; > -    bool rpmb_complete_put; >  }; > >  /* Returns true if clocks can be gated. Otherwise false */ > > > > Thanks, > > Bart.