2021-08-24 07:48:49

by Chanwoo Lee

[permalink] [raw]
Subject: [PATCH] mmc: queue: Match the data type of max_segments

From: ChanWoo Lee <[email protected]>

Each function has a different data type for max_segments,
Modify to match unsigned short(host->max_segs).
* unsigned short max_segs; /* see blk_queue_max_segments */

1) Return type : unsigned int
static unsigned int mmc_get_max_segments(struct mmc_host *host)
{
return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
host->max_segs;
}

2) Parameter type : int
mmc_alloc_sg(mmc_get_max_segments(host), gfp);
-> static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)

3) Parameter type : unsigned short
blk_queue_max_segments(mq->queue, mmc_get_max_segments(host));
-> void blk_queue_max_segments(struct request_queue *q,
unsigned short max_segments)

Signed-off-by: ChanWoo Lee <[email protected]>
---
drivers/mmc/core/queue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index cc3261777637..48304bcf963c 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -163,7 +163,7 @@ static void mmc_mq_recovery_handler(struct work_struct *work)
blk_mq_run_hw_queues(q, true);
}

-static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)
+static struct scatterlist *mmc_alloc_sg(unsigned short sg_len, gfp_t gfp)
{
struct scatterlist *sg;

@@ -193,7 +193,7 @@ static void mmc_queue_setup_discard(struct request_queue *q,
blk_queue_flag_set(QUEUE_FLAG_SECERASE, q);
}

-static unsigned int mmc_get_max_segments(struct mmc_host *host)
+static unsigned short mmc_get_max_segments(struct mmc_host *host)
{
return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
host->max_segs;
--
2.29.0


2021-08-24 10:30:44

by Coly Li

[permalink] [raw]
Subject: Re: [PATCH] mmc: queue: Match the data type of max_segments

On 8/24/21 3:39 PM, Chanwoo Lee wrote:
> From: ChanWoo Lee <[email protected]>
>
> Each function has a different data type for max_segments,
> Modify to match unsigned short(host->max_segs).
> * unsigned short max_segs; /* see blk_queue_max_segments */
>
> 1) Return type : unsigned int
> static unsigned int mmc_get_max_segments(struct mmc_host *host)
> {
> return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
> host->max_segs;
> }
>
> 2) Parameter type : int
> mmc_alloc_sg(mmc_get_max_segments(host), gfp);
> -> static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)
>
> 3) Parameter type : unsigned short
> blk_queue_max_segments(mq->queue, mmc_get_max_segments(host));
> -> void blk_queue_max_segments(struct request_queue *q,
> unsigned short max_segments)
>
> Signed-off-by: ChanWoo Lee <[email protected]>

I am not sure whether it is mandatory necessary here, but it is OK for me.

Acked-by: Coly Li <[email protected]>

Thanks.

Coly Li

> ---
> drivers/mmc/core/queue.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
> index cc3261777637..48304bcf963c 100644
> --- a/drivers/mmc/core/queue.c
> +++ b/drivers/mmc/core/queue.c
> @@ -163,7 +163,7 @@ static void mmc_mq_recovery_handler(struct work_struct *work)
> blk_mq_run_hw_queues(q, true);
> }
>
> -static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)
> +static struct scatterlist *mmc_alloc_sg(unsigned short sg_len, gfp_t gfp)
> {
> struct scatterlist *sg;
>
> @@ -193,7 +193,7 @@ static void mmc_queue_setup_discard(struct request_queue *q,
> blk_queue_flag_set(QUEUE_FLAG_SECERASE, q);
> }
>
> -static unsigned int mmc_get_max_segments(struct mmc_host *host)
> +static unsigned short mmc_get_max_segments(struct mmc_host *host)
> {
> return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
> host->max_segs;

2021-08-24 15:00:25

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: queue: Match the data type of max_segments

On Tue, 24 Aug 2021 at 09:46, Chanwoo Lee <[email protected]> wrote:
>
> From: ChanWoo Lee <[email protected]>
>
> Each function has a different data type for max_segments,
> Modify to match unsigned short(host->max_segs).
> * unsigned short max_segs; /* see blk_queue_max_segments */
>
> 1) Return type : unsigned int
> static unsigned int mmc_get_max_segments(struct mmc_host *host)
> {
> return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
> host->max_segs;
> }
>
> 2) Parameter type : int
> mmc_alloc_sg(mmc_get_max_segments(host), gfp);
> -> static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)
>
> 3) Parameter type : unsigned short
> blk_queue_max_segments(mq->queue, mmc_get_max_segments(host));
> -> void blk_queue_max_segments(struct request_queue *q,
> unsigned short max_segments)
>
> Signed-off-by: ChanWoo Lee <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/core/queue.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
> index cc3261777637..48304bcf963c 100644
> --- a/drivers/mmc/core/queue.c
> +++ b/drivers/mmc/core/queue.c
> @@ -163,7 +163,7 @@ static void mmc_mq_recovery_handler(struct work_struct *work)
> blk_mq_run_hw_queues(q, true);
> }
>
> -static struct scatterlist *mmc_alloc_sg(int sg_len, gfp_t gfp)
> +static struct scatterlist *mmc_alloc_sg(unsigned short sg_len, gfp_t gfp)
> {
> struct scatterlist *sg;
>
> @@ -193,7 +193,7 @@ static void mmc_queue_setup_discard(struct request_queue *q,
> blk_queue_flag_set(QUEUE_FLAG_SECERASE, q);
> }
>
> -static unsigned int mmc_get_max_segments(struct mmc_host *host)
> +static unsigned short mmc_get_max_segments(struct mmc_host *host)
> {
> return host->can_dma_map_merge ? MMC_DMA_MAP_MERGE_SEGMENTS :
> host->max_segs;
> --
> 2.29.0
>