From: "정요한(JOUNG YOHAN) Mobile SE" <yohan.joung@sk.com>
To: "daejun7.park@samsung.com" <daejun7.park@samsung.com>,
"bvanassche@acm.org" <bvanassche@acm.org>,
"avri.altman@wdc.com" <avri.altman@wdc.com>,
"asutoshd@codeaurora.org" <asutoshd@codeaurora.org>,
"stanley.chu@mediatek.com" <stanley.chu@mediatek.com>,
"beanhuo@micron.com" <beanhuo@micron.com>,
"cang@codeaurora.org" <cang@codeaurora.org>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"최재영(CHOI JAE YOUNG) Mobile SE" <jaeyoung21.choi@sk.com>,
"곽태수(KWAK TAESU) Mobile SE" <taesu.kwak@sk.com>
Subject: Please check ufshpb init flow
Date: Fri, 19 Nov 2021 02:31:47 +0000 [thread overview]
Message-ID: <e092e35414844175bf76868b820d907f@sk.com> (raw)
Hi daejun
Please check ufshpb init flow.
sending write buffer(0x03) seems spec violation (JESD220 Commands for exceptional behavior on UAC, SAM 5r05) before UAC clear (sd_probe).
Anyway hpb reset query(ufshpb_check_hpb_reset_query) seems sufficient.
Why do we need to send write buffer?
void ufshpb_init_hpb_lu(struct ufs_hba *hba, struct scsi_device *sdev)
{
out:
/* All LUs are initialized */
if (atomic_dec_and_test(&hba->ufshpb_dev.slave_conf_cnt))
There seems to be a problem with this logic.
If hpb is set on the last LUN, write buffer command is sent before sd_probe completes.
ufshpb_hpb_lu_prepared(hba);
}
static void ufshpb_hpb_lu_prepared(struct ufs_hba *hba)
{
init_success = !ufshpb_check_hpb_reset_query(hba);
shost_for_each_device(sdev, hba->host) {
hpb = ufshpb_get_hpb_data(sdev);
if (!hpb)
continue;
if (init_success) {
ufshpb_set_state(hpb, HPB_PRESENT);
if ((hpb->lu_pinned_end - hpb->lu_pinned_start) > 0)
queue_work(ufshpb_wq, &hpb->map_work);
if (!hpb->is_hcm)
ufshpb_issue_umap_all_req(hpb);
This seems unnecessary.
} else {
Thanks
yohan
next reply other threads:[~2021-11-19 2:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-19 2:31 정요한(JOUNG YOHAN) Mobile SE [this message]
2021-11-19 9:59 ` Please check ufshpb init flow Bean Huo
2021-11-23 5:19 ` 정요한(JOUNG YOHAN) Mobile SE
2022-04-12 7:50 ` Po-Wen Kao
2022-04-12 7:51 ` Po-Wen Kao
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=e092e35414844175bf76868b820d907f@sk.com \
--to=yohan.joung@sk.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=cang@codeaurora.org \
--cc=daejun7.park@samsung.com \
--cc=jaeyoung21.choi@sk.com \
--cc=linux-scsi@vger.kernel.org \
--cc=stanley.chu@mediatek.com \
--cc=taesu.kwak@sk.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox