[PATCH] mmc: core: Use host instead of mq parameter from mmc_issue_type()
From: Yue Hu
Date: Tue May 25 2021 - 05:36:09 EST
From: Yue Hu <huyue2@xxxxxxxxxx>
Note that the role of 'mq' parameter is just to get 'host' in
mmc_issue_type(). And all callers to this API have already 'host'
except mmc_blk_mq_dec_in_flight(). So, let's use existing 'host'
directly to make code simpler. Update related code at the same time.
Signed-off-by: Yue Hu <huyue2@xxxxxxxxxx>
---
drivers/mmc/core/block.c | 6 +++---
drivers/mmc/core/queue.c | 8 +++-----
drivers/mmc/core/queue.h | 2 +-
3 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
index 689eb9a..4b6d4b0 100644
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1382,7 +1382,7 @@ static void mmc_blk_cqe_complete_rq(struct mmc_queue *mq, struct request *req)
struct mmc_request *mrq = &mqrq->brq.mrq;
struct request_queue *q = req->q;
struct mmc_host *host = mq->card->host;
- enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
+ enum mmc_issue_type issue_type = mmc_issue_type(host, req);
unsigned long flags;
bool put_card;
int err;
@@ -1977,7 +1977,7 @@ static void mmc_blk_mq_dec_in_flight(struct mmc_queue *mq, struct request *req)
spin_lock_irqsave(&mq->lock, flags);
- mq->in_flight[mmc_issue_type(mq, req)] -= 1;
+ mq->in_flight[mmc_issue_type(mq->card->host, req)] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
@@ -2209,7 +2209,7 @@ enum mmc_issued mmc_blk_mq_issue_rq(struct mmc_queue *mq, struct request *req)
if (ret)
return MMC_REQ_FAILED_TO_START;
- switch (mmc_issue_type(mq, req)) {
+ switch (mmc_issue_type(host, req)) {
case MMC_ISSUE_SYNC:
ret = mmc_blk_wait_for_idle(mq, host);
if (ret)
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index d600e0a..3478f0a 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -56,10 +56,8 @@ static enum mmc_issue_type mmc_cqe_issue_type(struct mmc_host *host,
}
}
-enum mmc_issue_type mmc_issue_type(struct mmc_queue *mq, struct request *req)
+enum mmc_issue_type mmc_issue_type(struct mmc_host *host, struct request *req)
{
- struct mmc_host *host = mq->card->host;
-
if (host->cqe_enabled && !host->hsq_enabled)
return mmc_cqe_issue_type(host, req);
@@ -97,7 +95,7 @@ static enum blk_eh_timer_return mmc_cqe_timed_out(struct request *req)
struct mmc_request *mrq = &mqrq->brq.mrq;
struct mmc_queue *mq = req->q->queuedata;
struct mmc_host *host = mq->card->host;
- enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
+ enum mmc_issue_type issue_type = mmc_issue_type(host, req);
bool recovery_needed = false;
switch (issue_type) {
@@ -259,7 +257,7 @@ static blk_status_t mmc_mq_queue_rq(struct blk_mq_hw_ctx *hctx,
return BLK_STS_IOERR;
}
- issue_type = mmc_issue_type(mq, req);
+ issue_type = mmc_issue_type(host, req);
spin_lock_irq(&mq->lock);
diff --git a/drivers/mmc/core/queue.h b/drivers/mmc/core/queue.h
index 3319d8a..d41bacb 100644
--- a/drivers/mmc/core/queue.h
+++ b/drivers/mmc/core/queue.h
@@ -104,7 +104,7 @@ extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
void mmc_cqe_check_busy(struct mmc_queue *mq);
void mmc_cqe_recovery_notifier(struct mmc_request *mrq);
-enum mmc_issue_type mmc_issue_type(struct mmc_queue *mq, struct request *req);
+enum mmc_issue_type mmc_issue_type(struct mmc_host *host, struct request *req);
static inline int mmc_tot_in_flight(struct mmc_queue *mq)
{
--
1.9.1