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,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Avri Altman <avri.altman@wdc.com>,
Peter Wang <peter.wang@mediatek.com>,
Andrew Halaney <ahalaney@redhat.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 v4 6/9] scsi: ufs: Inline is_mcq_enabled()
Date: Wed, 3 Jul 2024 18:33:09 +0530 [thread overview]
Message-ID: <20240703130309.GC3498@thinkpad> (raw)
In-Reply-To: <20240702204020.2489324-7-bvanassche@acm.org>
On Tue, Jul 02, 2024 at 01:39:14PM -0700, Bart Van Assche wrote:
> Improve code readability by inlining is_mcq_enabled().
>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> drivers/ufs/core/ufshcd.c | 28 ++++++++++++++--------------
> include/ufs/ufshcd.h | 5 -----
> 2 files changed, 14 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 178b0abaeb30..4c138f42a802 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;
> @@ -2301,7 +2301,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;
> @@ -3000,7 +3000,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);
> @@ -3059,7 +3059,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.
> @@ -3169,7 +3169,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;
> @@ -5560,7 +5560,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);
> @@ -6201,7 +6201,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);
> @@ -6458,7 +6458,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))
> @@ -7389,7 +7389,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) &&
> @@ -7485,7 +7485,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 */
> @@ -7563,7 +7563,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. */
> @@ -7596,7 +7596,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",
> @@ -7623,7 +7623,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;
> @@ -8732,7 +8732,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/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
> index d4d63507d090..c0e28a512b3c 100644
> --- a/include/ufs/ufshcd.h
> +++ b/include/ufs/ufshcd.h
> @@ -1132,11 +1132,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)
> {
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2024-07-03 13:03 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 20:39 [PATCH v4 0/9] UFS patches for kernel 6.11 Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 1/9] scsi: ufs: Declare functions once Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 2/9] scsi: ufs: Initialize struct uic_command once Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 3/9] scsi: ufs: Remove two constants Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 4/9] scsi: ufs: Rename the MASK_TRANSFER_REQUESTS_SLOTS constant Bart Van Assche
2024-07-03 12:59 ` Manivannan Sadhasivam
2024-07-02 20:39 ` [PATCH v4 5/9] scsi: ufs: Initialize hba->reserved_slot earlier Bart Van Assche
2024-07-03 13:01 ` Manivannan Sadhasivam
2024-07-02 20:39 ` [PATCH v4 6/9] scsi: ufs: Inline is_mcq_enabled() Bart Van Assche
2024-07-03 8:58 ` Peter Wang (王信友)
2024-07-03 13:03 ` Manivannan Sadhasivam [this message]
2024-07-02 20:39 ` [PATCH v4 7/9] scsi: ufs: Move the ufshcd_mcq_enable() call Bart Van Assche
2024-07-03 8:59 ` Peter Wang (王信友)
2024-07-03 13:10 ` Manivannan Sadhasivam
2024-07-03 20:32 ` Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 8/9] scsi: ufs: Inline ufshcd_mcq_vops_get_hba_mac() Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 9/9] scsi: ufs: Make .get_hba_mac() optional Bart Van Assche
2024-07-03 9:00 ` Peter Wang (王信友)
2024-07-03 13:22 ` Manivannan Sadhasivam
2024-07-03 20:36 ` Bart Van Assche
2024-07-06 16:33 ` Manivannan Sadhasivam
2024-07-07 3:24 ` Bart Van Assche
2024-07-08 10:44 ` Manivannan Sadhasivam
2024-07-08 17:10 ` Bart Van Assche
2024-07-08 18:06 ` Manivannan Sadhasivam
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=20240703130309.GC3498@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=ahalaney@redhat.com \
--cc=akinobu.mita@gmail.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=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.