From: Bart Van Assche <bvanassche@acm.org>
To: Can Guo <can.guo@oss.qualcomm.com>,
avri.altman@wdc.com, beanhuo@micron.com,
martin.petersen@oracle.com
Cc: linux-scsi@vger.kernel.org, Alim Akhtar <alim.akhtar@samsung.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Peter Wang <peter.wang@mediatek.com>,
"Bao D. Nguyen" <quic_nguyenb@quicinc.com>,
Adrian Hunter <adrian.hunter@intel.com>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 06/11] scsi: ufs: core: Add support to retrain TX Equalization via debugfs
Date: Fri, 27 Feb 2026 13:55:36 -0800 [thread overview]
Message-ID: <a4f442ab-e58e-42ef-824e-c4e797f3bc33@acm.org> (raw)
In-Reply-To: <20260227160809.2620598-7-can.guo@oss.qualcomm.com>
On 2/27/26 8:08 AM, Can Guo wrote:
", 0200, hba->debugfs_root, hba,
> + &retrain_tx_eq_fops);
> for (attr = ufs_tx_eq_attrs; attr->name; attr++)
> debugfs_create_file(attr->name, attr->mode, root, (void *)attr,
> attr->fops);
Instead of creating one retrain_tx_eq attribute, please create one such
attribute in each gear directory.
> +static int ufshcd_retrain_tx_eq_prepare(struct ufs_hba *hba)
> +{
> + int ret = 0;
> +
> + mutex_lock(&hba->host->scan_mutex);
> + blk_mq_quiesce_tagset(&hba->host->tag_set);
> + down_write(&hba->clk_scaling_lock);
> +
> + if (ufshcd_wait_for_pending_cmds(hba, 1 * USEC_PER_SEC)) {
> + ret = -EBUSY;
> + up_write(&hba->clk_scaling_lock);
> + blk_mq_unquiesce_tagset(&hba->host->tag_set);
> + mutex_unlock(&hba->host->scan_mutex);
> + goto out;
> + }
> +
> + ufshcd_hold(hba);
> +
> +out:
> + return ret;
> +}
> +
> +static void ufshcd_retrain_tx_eq_unprepare(struct ufs_hba *hba)
> +{
> + up_write(&hba->clk_scaling_lock);
> + blk_mq_unquiesce_tagset(&hba->host->tag_set);
> + mutex_unlock(&hba->host->scan_mutex);
> + ufshcd_release(hba);
> +}
Instead of duplicating some of the ufshcd_clock_scaling_prepare() /
ufshcd_clock_scaling_unprepare() code, please extract helper functions
from these functions for pausing and resuming command processing.
Additionally, please keep all code related to command processing in
ufshcd.c.
Thanks,
Bart.
next prev parent reply other threads:[~2026-02-27 21:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 16:07 [PATCH 00/11] scsi: ufs: Add TX Equalization support for UFS 5.0 Can Guo
2026-02-27 16:07 ` [PATCH 01/11] scsi: ufs: core: Introduce a new ufshcd vops negotiate_pwr_mode() Can Guo
2026-02-27 19:31 ` Bart Van Assche
2026-03-01 14:26 ` Can Guo
2026-03-01 17:51 ` Bart Van Assche
2026-03-02 0:15 ` Can Guo
2026-02-27 16:07 ` [PATCH 02/11] scsi: ufs: core: Pass force_pmc to ufshcd_config_pwr_mode() as a parameter Can Guo
2026-02-27 20:46 ` Bart Van Assche
2026-03-02 0:52 ` Can Guo
2026-02-27 16:08 ` [PATCH 03/11] scsi: ufs: core: Add UFS_HS_G6 and UFS_HS_GEAR_MAX to enum ufs_hs_gear_tag Can Guo
2026-02-27 16:08 ` [PATCH 04/11] scsi: ufs: core: Add support for TX Equalization Can Guo
2026-02-27 21:39 ` Bart Van Assche
2026-03-02 3:46 ` Can Guo
2026-02-27 22:04 ` kernel test robot
2026-02-27 16:08 ` [PATCH 05/11] scsi: ufs: core: Add debugfs entries for TX Equalization params Can Guo
2026-02-27 21:49 ` Bart Van Assche
2026-03-02 5:46 ` Can Guo
2026-02-27 16:08 ` [PATCH 06/11] scsi: ufs: core: Add support to retrain TX Equalization via debugfs Can Guo
2026-02-27 21:55 ` Bart Van Assche [this message]
2026-02-27 16:08 ` [PATCH 07/11] scsi: ufs: ufs-qcom: Fixup PAM-4 TX L0_L1_L2_L3 adaptation pattern length Can Guo
2026-02-27 16:08 ` [PATCH 08/11] scsi: ufs: ufs-qcom: Implement vops tx_eqtr_notify() Can Guo
2026-02-27 16:08 ` [PATCH 09/11] scsi: ufs: ufs-qcom: Implement vops get_rx_fom() Can Guo
2026-02-27 16:08 ` [PATCH 10/11] scsi: ufs: ufs-qcom: Implement vops apply_tx_eqtr_settings() Can Guo
2026-02-27 16:08 ` [PATCH 11/11] scsi: ufs: ufs-qcom: Enable TX Equalization Can Guo
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=a4f442ab-e58e-42ef-824e-c4e797f3bc33@acm.org \
--to=bvanassche@acm.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=adrian.hunter@intel.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=can.guo@oss.qualcomm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=peter.wang@mediatek.com \
--cc=quic_nguyenb@quicinc.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