[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <fc8a0fe513d244375013546c3c03967510feea4a.1567740135.git.baolin.wang@linaro.org>
Date: Fri, 6 Sep 2019 11:52:02 +0800
From: Baolin Wang <baolin.wang@...aro.org>
To: adrian.hunter@...el.com, ulf.hansson@...aro.org,
riteshh@...eaurora.org, asutoshd@...eaurora.org
Cc: orsonzhai@...il.com, zhang.lyra@...il.com, arnd@...db.de,
linus.walleij@...aro.org, vincent.guittot@...aro.org,
baolin.wang@...aro.org, linux-mmc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 4/4] mmc: host: sdhci: Add virtual command queue support
Add cqhci_virt_finalize_request() to help to complete a request
from virtual command queue.
Signed-off-by: Baolin Wang <baolin.wang@...aro.org>
---
drivers/mmc/host/sdhci.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 4e9ebc8..fb5983e 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -32,6 +32,7 @@
#include <linux/mmc/slot-gpio.h>
#include "sdhci.h"
+#include "cqhci.h"
#define DRIVER_NAME "sdhci"
@@ -2710,7 +2711,8 @@ static bool sdhci_request_done(struct sdhci_host *host)
spin_unlock_irqrestore(&host->lock, flags);
- mmc_request_done(host->mmc, mrq);
+ if (!cqhci_virt_finalize_request(host->mmc, mrq))
+ mmc_request_done(host->mmc, mrq);
return false;
}
@@ -3133,7 +3135,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
/* Process mrqs ready for immediate completion */
for (i = 0; i < SDHCI_MAX_MRQS; i++) {
- if (mrqs_done[i])
+ if (mrqs_done[i] &&
+ !cqhci_virt_finalize_request(host->mmc, mrqs_done[i]))
mmc_request_done(host->mmc, mrqs_done[i]);
}
--
1.7.9.5
Powered by blists - more mailing lists