All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Bart Van Assche <bvanassche@acm.org>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>,
	linux-scsi@vger.kernel.org, peter.wang@mediatek.com,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Avri Altman <avri.altman@wdc.com>, Bean Huo <beanhuo@micron.com>,
	Minwoo Im <minwoo.im@samsung.com>,
	Maramaina Naresh <quic_mnaresh@quicinc.com>,
	Akinobu Mita <akinobu.mita@gmail.com>
Subject: Re: [PATCH v5 06/10] scsi: ufs: Inline is_mcq_enabled()
Date: Tue, 9 Jul 2024 10:36:49 +0530	[thread overview]
Message-ID: <20240709050649.GB3820@thinkpad> (raw)
In-Reply-To: <20240708211716.2827751-7-bvanassche@acm.org>

On Mon, Jul 08, 2024 at 02:16:01PM -0700, Bart Van Assche wrote:
> Improve code readability by inlining is_mcq_enabled().
> 
> Cc: Peter Wang <peter.wang@mediatek.com>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  drivers/ufs/core/ufshcd.c       | 28 ++++++++++++++--------------
>  drivers/ufs/host/ufs-mediatek.c |  6 +++---
>  include/ufs/ufshcd.h            |  5 -----
>  3 files changed, 17 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 3d452aa923dc..255d55e15b73 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -453,7 +453,7 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag,
>  
>  	intr = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		struct ufs_hw_queue *hwq = ufshcd_mcq_req_to_hwq(hba, rq);
>  
>  		hwq_id = hwq->id;
> @@ -2302,7 +2302,7 @@ void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag,
>  	if (unlikely(ufshcd_should_inform_monitor(hba, lrbp)))
>  		ufshcd_start_monitor(hba, lrbp);
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		int utrd_size = sizeof(struct utp_transfer_req_desc);
>  		struct utp_transfer_req_desc *src = lrbp->utr_descriptor_ptr;
>  		struct utp_transfer_req_desc *dest;
> @@ -3001,7 +3001,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
>  		goto out;
>  	}
>  
> -	if (is_mcq_enabled(hba))
> +	if (hba->mcq_enabled)
>  		hwq = ufshcd_mcq_req_to_hwq(hba, scsi_cmd_to_rq(cmd));
>  
>  	ufshcd_send_command(hba, tag, hwq);
> @@ -3060,7 +3060,7 @@ static int ufshcd_clear_cmd(struct ufs_hba *hba, u32 task_tag)
>  	unsigned long flags;
>  	int err;
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		/*
>  		 * MCQ mode. Clean up the MCQ resources similar to
>  		 * what the ufshcd_utrl_clear() does for SDB mode.
> @@ -3170,7 +3170,7 @@ static int ufshcd_wait_for_dev_cmd(struct ufs_hba *hba,
>  			__func__, lrbp->task_tag);
>  
>  		/* MCQ mode */
> -		if (is_mcq_enabled(hba)) {
> +		if (hba->mcq_enabled) {
>  			/* successfully cleared the command, retry if needed */
>  			if (ufshcd_clear_cmd(hba, lrbp->task_tag) == 0)
>  				err = -EAGAIN;
> @@ -5561,7 +5561,7 @@ static int ufshcd_poll(struct Scsi_Host *shost, unsigned int queue_num)
>  	u32 tr_doorbell;
>  	struct ufs_hw_queue *hwq;
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		hwq = &hba->uhq[queue_num];
>  
>  		return ufshcd_mcq_poll_cqe_lock(hba, hwq);
> @@ -6202,7 +6202,7 @@ static void ufshcd_exception_event_handler(struct work_struct *work)
>  /* Complete requests that have door-bell cleared */
>  static void ufshcd_complete_requests(struct ufs_hba *hba, bool force_compl)
>  {
> -	if (is_mcq_enabled(hba))
> +	if (hba->mcq_enabled)
>  		ufshcd_mcq_compl_pending_transfer(hba, force_compl);
>  	else
>  		ufshcd_transfer_req_compl(hba);
> @@ -6459,7 +6459,7 @@ static bool ufshcd_abort_one(struct request *rq, void *priv)
>  		*ret ? "failed" : "succeeded");
>  
>  	/* Release cmd in MCQ mode if abort succeeds */
> -	if (is_mcq_enabled(hba) && (*ret == 0)) {
> +	if (hba->mcq_enabled && (*ret == 0)) {
>  		hwq = ufshcd_mcq_req_to_hwq(hba, scsi_cmd_to_rq(lrbp->cmd));
>  		spin_lock_irqsave(&hwq->cq_lock, flags);
>  		if (ufshcd_cmd_inflight(lrbp->cmd))
> @@ -7390,7 +7390,7 @@ static int ufshcd_eh_device_reset_handler(struct scsi_cmnd *cmd)
>  		goto out;
>  	}
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		for (pos = 0; pos < hba->nutrs; pos++) {
>  			lrbp = &hba->lrb[pos];
>  			if (ufshcd_cmd_inflight(lrbp->cmd) &&
> @@ -7486,7 +7486,7 @@ int ufshcd_try_to_abort_task(struct ufs_hba *hba, int tag)
>  			 */
>  			dev_err(hba->dev, "%s: cmd at tag %d not pending in the device.\n",
>  				__func__, tag);
> -			if (is_mcq_enabled(hba)) {
> +			if (hba->mcq_enabled) {
>  				/* MCQ mode */
>  				if (ufshcd_cmd_inflight(lrbp->cmd)) {
>  					/* sleep for max. 200us same delay as in SDB mode */
> @@ -7564,7 +7564,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
>  
>  	ufshcd_hold(hba);
>  
> -	if (!is_mcq_enabled(hba)) {
> +	if (!hba->mcq_enabled) {
>  		reg = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL);
>  		if (!test_bit(tag, &hba->outstanding_reqs)) {
>  			/* If command is already aborted/completed, return FAILED. */
> @@ -7597,7 +7597,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
>  	}
>  	hba->req_abort_count++;
>  
> -	if (!is_mcq_enabled(hba) && !(reg & (1 << tag))) {
> +	if (!hba->mcq_enabled && !(reg & (1 << tag))) {
>  		/* only execute this code in single doorbell mode */
>  		dev_err(hba->dev,
>  		"%s: cmd was completed, but without a notifying intr, tag = %d",
> @@ -7624,7 +7624,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
>  		goto release;
>  	}
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		/* MCQ mode. Branch off to handle abort for mcq mode */
>  		err = ufshcd_mcq_abort(cmd);
>  		goto release;
> @@ -8733,7 +8733,7 @@ static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
>  	ufshcd_set_link_active(hba);
>  
>  	/* Reconfigure MCQ upon reset */
> -	if (is_mcq_enabled(hba) && !init_dev_params)
> +	if (hba->mcq_enabled && !init_dev_params)
>  		ufshcd_config_mcq(hba);
>  
>  	/* Verify device initialization by sending NOP OUT UPIU */
> diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
> index c7a0ab9b1f59..02c9064284e1 100644
> --- a/drivers/ufs/host/ufs-mediatek.c
> +++ b/drivers/ufs/host/ufs-mediatek.c
> @@ -693,7 +693,7 @@ static void ufs_mtk_mcq_disable_irq(struct ufs_hba *hba)
>  	struct ufs_mtk_host *host = ufshcd_get_variant(hba);
>  	u32 irq, i;
>  
> -	if (!is_mcq_enabled(hba))
> +	if (!hba->mcq_enabled)
>  		return;
>  
>  	if (host->mcq_nr_intr == 0)
> @@ -711,7 +711,7 @@ static void ufs_mtk_mcq_enable_irq(struct ufs_hba *hba)
>  	struct ufs_mtk_host *host = ufshcd_get_variant(hba);
>  	u32 irq, i;
>  
> -	if (!is_mcq_enabled(hba))
> +	if (!hba->mcq_enabled)
>  		return;
>  
>  	if (host->mcq_nr_intr == 0)
> @@ -1308,7 +1308,7 @@ static int ufs_mtk_link_set_hpm(struct ufs_hba *hba)
>  	if (err)
>  		return err;
>  
> -	if (is_mcq_enabled(hba)) {
> +	if (hba->mcq_enabled) {
>  		ufs_mtk_config_mcq(hba, false);
>  		ufshcd_mcq_make_queues_operational(hba);
>  		ufshcd_mcq_config_mac(hba, hba->nutrs);
> diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
> index 42d1bd2120ea..3eaa8bc7eaea 100644
> --- a/include/ufs/ufshcd.h
> +++ b/include/ufs/ufshcd.h
> @@ -1133,11 +1133,6 @@ struct ufs_hw_queue {
>  
>  #define MCQ_QCFG_SIZE		0x40
>  
> -static inline bool is_mcq_enabled(struct ufs_hba *hba)
> -{
> -	return hba->mcq_enabled;
> -}
> -
>  static inline unsigned int ufshcd_mcq_opr_offset(struct ufs_hba *hba,
>  		enum ufshcd_mcq_opr opr, int idx)
>  {

-- 
மணிவண்ணன் சதாசிவம்

  reply	other threads:[~2024-07-09  5:07 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-08 21:15 [PATCH v5 00/10] UFS patches for kernel 6.11 Bart Van Assche
2024-07-08 21:15 ` [PATCH v5 01/10] scsi: ufs: Declare functions once Bart Van Assche
2024-07-09  5:02   ` Manivannan Sadhasivam
2024-07-08 21:15 ` [PATCH v5 02/10] scsi: ufs: Initialize struct uic_command once Bart Van Assche
2024-07-08 21:15 ` [PATCH v5 03/10] scsi: ufs: Remove two constants Bart Van Assche
2024-07-08 21:15 ` [PATCH v5 04/10] scsi: ufs: Rename the MASK_TRANSFER_REQUESTS_SLOTS constant Bart Van Assche
2024-07-08 21:16 ` [PATCH v5 05/10] scsi: ufs: Initialize hba->reserved_slot earlier Bart Van Assche
2024-07-08 21:16 ` [PATCH v5 06/10] scsi: ufs: Inline is_mcq_enabled() Bart Van Assche
2024-07-09  5:06   ` Manivannan Sadhasivam [this message]
2024-07-15 12:22   ` Peter Wang (王信友)
2024-07-08 21:16 ` [PATCH v5 07/10] scsi: ufs: Move the "hba->mcq_enabled = true" assignment Bart Van Assche
2024-07-09  5:07   ` Manivannan Sadhasivam
2024-07-15 12:32   ` Peter Wang (王信友)
2024-07-08 21:16 ` [PATCH v5 08/10] scsi: ufs: Move the ufshcd_mcq_enable() call Bart Van Assche
2024-07-09  5:08   ` Manivannan Sadhasivam
2024-07-15 12:33   ` Peter Wang (王信友)
2024-07-08 21:16 ` [PATCH v5 09/10] scsi: ufs: Inline ufshcd_mcq_vops_get_hba_mac() Bart Van Assche
2024-07-09  5:09   ` Manivannan Sadhasivam
2024-07-08 21:16 ` [PATCH v5 10/10] scsi: ufs: Make .get_hba_mac() optional Bart Van Assche
2024-07-09  5:10   ` Manivannan Sadhasivam
2024-07-11  2:28 ` [PATCH v5 00/10] UFS patches for kernel 6.11 Martin K. Petersen
2024-07-16  2:29 ` Martin K. Petersen

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=20240709050649.GB3820@thinkpad \
    --to=manivannan.sadhasivam@linaro.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akinobu.mita@gmail.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=matthias.bgg@gmail.com \
    --cc=minwoo.im@samsung.com \
    --cc=peter.wang@mediatek.com \
    --cc=quic_mnaresh@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 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.