2023-06-01 09:14:10

by Stanley Chu

[permalink] [raw]
Subject: [PATCH v1] ufs: core: Remove the nolock version of ufshcd_mcq_poll_cqe()

Since ufshcd_mcq_poll_cqe_nolock() is no longer used by any users,
it should be removed.

Signed-off-by: Stanley Chu <[email protected]>
---
drivers/ufs/core/ufs-mcq.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index 920eb954f594..785fc9762cad 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -307,11 +307,13 @@ void ufshcd_mcq_compl_all_cqes_lock(struct ufs_hba *hba,
spin_unlock_irqrestore(&hwq->cq_lock, flags);
}

-static unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
- struct ufs_hw_queue *hwq)
+unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
+ struct ufs_hw_queue *hwq)
{
unsigned long completed_reqs = 0;
+ unsigned long flags;

+ spin_lock_irqsave(&hwq->cq_lock, flags);
ufshcd_mcq_update_cq_tail_slot(hwq);
while (!ufshcd_mcq_is_cq_empty(hwq)) {
ufshcd_mcq_process_cqe(hba, hwq);
@@ -321,17 +323,6 @@ static unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,

if (completed_reqs)
ufshcd_mcq_update_cq_head(hwq);
-
- return completed_reqs;
-}
-
-unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
- struct ufs_hw_queue *hwq)
-{
- unsigned long completed_reqs, flags;
-
- spin_lock_irqsave(&hwq->cq_lock, flags);
- completed_reqs = ufshcd_mcq_poll_cqe_nolock(hba, hwq);
spin_unlock_irqrestore(&hwq->cq_lock, flags);

return completed_reqs;
--
2.18.0



2023-06-01 14:59:31

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH v1] ufs: core: Remove the nolock version of ufshcd_mcq_poll_cqe()

On 6/1/23 02:02, Stanley Chu wrote:
> Since ufshcd_mcq_poll_cqe_nolock() is no longer used by any users,
> it should be removed.

This description is not correct. ufshcd_mcq_poll_cqe_nolock() is called
by ufshcd_mcq_poll_cqe_lock().

Bart.


2023-06-01 15:34:17

by Stanley Jhu

[permalink] [raw]
Subject: Re: [PATCH v1] ufs: core: Remove the nolock version of ufshcd_mcq_poll_cqe()

On Thu, Jun 1, 2023 at 10:41 PM Bart Van Assche <[email protected]> wrote:
>
> On 6/1/23 02:02, Stanley Chu wrote:
> > Since ufshcd_mcq_poll_cqe_nolock() is no longer used by any users,
> > it should be removed.
>
> This description is not correct. ufshcd_mcq_poll_cqe_nolock() is called
> by ufshcd_mcq_poll_cqe_lock().

You are right. Let me fix the commit message in the next version.

Stanley

2023-06-01 18:26:54

by Bao D. Nguyen

[permalink] [raw]
Subject: Re: [PATCH v1] ufs: core: Remove the nolock version of ufshcd_mcq_poll_cqe()

On 6/1/2023 2:02 AM, Stanley Chu wrote:
> Since ufshcd_mcq_poll_cqe_nolock() is no longer used by any users,
> it should be removed.
>
> Signed-off-by: Stanley Chu <[email protected]>
> ---
> drivers/ufs/core/ufs-mcq.c | 17 ++++-------------
> 1 file changed, 4 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
> index 920eb954f594..785fc9762cad 100644
> --- a/drivers/ufs/core/ufs-mcq.c
> +++ b/drivers/ufs/core/ufs-mcq.c
> @@ -307,11 +307,13 @@ void ufshcd_mcq_compl_all_cqes_lock(struct ufs_hba *hba,
> spin_unlock_irqrestore(&hwq->cq_lock, flags);
> }
>
> -static unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
> - struct ufs_hw_queue *hwq)
> +unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
> + struct ufs_hw_queue *hwq)
> {
> unsigned long completed_reqs = 0;
> + unsigned long flags;
>
> + spin_lock_irqsave(&hwq->cq_lock, flags);
> ufshcd_mcq_update_cq_tail_slot(hwq);
> while (!ufshcd_mcq_is_cq_empty(hwq)) {
> ufshcd_mcq_process_cqe(hba, hwq);
> @@ -321,17 +323,6 @@ static unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
>
> if (completed_reqs)
> ufshcd_mcq_update_cq_head(hwq);
> -
> - return completed_reqs;
> -}
> -
> -unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
> - struct ufs_hw_queue *hwq)
> -{
> - unsigned long completed_reqs, flags;
> -
> - spin_lock_irqsave(&hwq->cq_lock, flags);
> - completed_reqs = ufshcd_mcq_poll_cqe_nolock(hba, hwq);
> spin_unlock_irqrestore(&hwq->cq_lock, flags);
>
> return completed_reqs;
Hi Stanley,

Other than the commit message that Bart mentioned, this patch looks good.

Reviewed-by: Bao D. Nguyen <[email protected]>