All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keoseong Park <keosung.park@samsung.com>
To: Bean Huo <huobean@gmail.com>,
	ALIM AKHTAR <alim.akhtar@samsung.com>,
	"avri.altman@wdc.com" <avri.altman@wdc.com>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"stanley.chu@mediatek.com" <stanley.chu@mediatek.com>,
	"beanhuo@micron.com" <beanhuo@micron.com>,
	"bvanassche@acm.org" <bvanassche@acm.org>,
	"tomas.winkler@intel.com" <tomas.winkler@intel.com>,
	Daejun Park <daejun7.park@samsung.com>,
	Keoseong Park <keosung.park@samsung.com>,
	"peter.wang@mediatek.com" <peter.wang@mediatek.com>,
	"powen.kao@mediatek.com" <powen.kao@mediatek.com>,
	cpgsproxy3 <cpgsproxy3@samsung.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH v3 3/6] scsi: ufshpb: Cleanup the handler when device reset HPB information
Date: Mon, 25 Apr 2022 12:23:46 +0900	[thread overview]
Message-ID: <1889248251.21650857882164.JavaMail.epsvc@epcpadp4> (raw)
In-Reply-To: <20220424220713.1253049-4-huobean@gmail.com>

>From: Bean Huo <beanhuo@micron.com>
> 
>"When the device is powered off by the host, the device may restore L2P map data
>upon power up or build from the host’s HPB READ command. In case device powered
>up and lost HPB information, device can signal to the host through HPB Sense data,
>by setting HPB Operation as ‘2’ which will inform the host that device reset HPB
>information."
> 
>This patch is to clean up the handler and make the intent of this handler more
>readable, no functional change.
> 
>Signed-off-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Keoseong Park <keosung.park@samsung.com>

Best Regards,
Keoseong Park

>---
> drivers/scsi/ufs/ufshpb.c | 35 +++++++++++++++++++++++------------
> 1 file changed, 23 insertions(+), 12 deletions(-)
> 
>diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c
>index 167643969165..f1f30d4c3d65 100644
>--- a/drivers/scsi/ufs/ufshpb.c
>+++ b/drivers/scsi/ufs/ufshpb.c
>@@ -1225,7 +1225,10 @@ static void ufshpb_rsp_req_region_update(struct ufshpb_lu *hpb,
>                 queue_work(ufshpb_wq, &hpb->map_work);
> }
> 
>-static void ufshpb_dev_reset_handler(struct ufshpb_lu *hpb)
>+/*
>+ * Set the flags of all active regions to RGN_FLAG_UPDATE to let host side reload L2P entries later
>+ */
>+static void ufshpb_set_regions_update(struct ufshpb_lu *hpb)
> {
>         struct victim_select_info *lru_info = &hpb->lru_info;
>         struct ufshpb_region *rgn;
>@@ -1239,6 +1242,24 @@ static void ufshpb_dev_reset_handler(struct ufshpb_lu *hpb)
>         spin_unlock_irqrestore(&hpb->rgn_state_lock, flags);
> }
> 
>+static void ufshpb_dev_reset_handler(struct ufs_hba *hba)
>+{
>+        struct scsi_device *sdev;
>+        struct ufshpb_lu *hpb;
>+
>+        __shost_for_each_device(sdev, hba->host) {
>+                hpb = ufshpb_get_hpb_data(sdev);
>+                if (hpb && hpb->is_hcm)
>+                        /*
>+                         * For the HPB host mode, in case device powered up and lost HPB
>+                         * information, we will set the region flag to be RGN_FLAG_UPDATE,
>+                         * it will let host reload its L2P entries(re-activate the region
>+                         * in the UFS device).
>+                         */
>+                        ufshpb_set_regions_update(hpb);
>+        }
>+}
>+
> /*
>  * This function will parse recommended active subregion information in sense
>  * data field of response UPIU with SAM_STAT_GOOD state.
>@@ -1313,17 +1334,7 @@ void ufshpb_rsp_upiu(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
>         case HPB_RSP_DEV_RESET:
>                 dev_warn(&hpb->sdev_ufs_lu->sdev_dev,
>                          "UFS device lost HPB information during PM.\n");
>-
>-                if (hpb->is_hcm) {
>-                        struct scsi_device *sdev;
>-
>-                        __shost_for_each_device(sdev, hba->host) {
>-                                struct ufshpb_lu *h = sdev->hostdata;
>-
>-                                if (h)
>-                                        ufshpb_dev_reset_handler(h);
>-                        }
>-                }
>+                ufshpb_dev_reset_handler(hba);
> 
>                 break;
>         default:
>-- 
>2.34.1
> 
>

  reply	other threads:[~2022-04-25  3:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-24 22:07 [PATCH v3 0/6] Several changes for UFSHPB Bean Huo
2022-04-24 22:07 ` [PATCH v3 1/6] scsi: ufshpb: Merge ufshpb_reset() and ufshpb_reset_host() Bean Huo
2022-04-25  2:00   ` Keoseong Park
2022-04-24 22:07 ` [PATCH v3 2/6] scsi: ufshpb: Remove 0 assignment for enum value Bean Huo
2022-04-24 22:07 ` [PATCH v3 3/6] scsi: ufshpb: Cleanup the handler when device reset HPB information Bean Huo
2022-04-25  3:23   ` Keoseong Park [this message]
2022-04-24 22:07 ` [PATCH v3 4/6] scsi: ufshpb: Change sysfs node hpb_stats/rb_* prefix to start with rcmd_* Bean Huo
2022-04-25  3:43   ` Keoseong Park
2022-04-26 21:56     ` Bean Huo
2022-04-25  6:19   ` Avri Altman
2022-04-26 21:44     ` Bean Huo
2022-04-24 22:07 ` [PATCH v3 5/6] scsi: ufshpb: Add handing of device reset HPB regions Infos in HPB device mode Bean Huo
2022-04-25  3:54   ` Keoseong Park
2022-04-25  6:43   ` Avri Altman
2022-04-26 21:54     ` Bean Huo
2022-04-24 22:07 ` [PATCH v3 6/6] scsi: ufshpb: Cleanup ufshpb_suspend/resume Bean Huo
2022-04-25  2:25   ` Keoseong Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1889248251.21650857882164.JavaMail.epsvc@epcpadp4 \
    --to=keosung.park@samsung.com \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=cpgsproxy3@samsung.com \
    --cc=daejun7.park@samsung.com \
    --cc=huobean@gmail.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=peter.wang@mediatek.com \
    --cc=powen.kao@mediatek.com \
    --cc=stanley.chu@mediatek.com \
    --cc=tomas.winkler@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.