mmc: queue: add timeout capability to requests

Individual requests can have timeouts defined. The default
timeout is set to 120 seconds. On a timeout, the block layer
notifies the driver and error can be handled thereafter.

Change-Id: Ifcd690411770ab266c12a01bb0993f92b0f18bc6
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
diff --git a/drivers/mmc/host/cmdq_hci.c b/drivers/mmc/host/cmdq_hci.c
index bc913b6..2c1ad10 100644
--- a/drivers/mmc/host/cmdq_hci.c
+++ b/drivers/mmc/host/cmdq_hci.c
@@ -715,6 +715,13 @@
 	}
 }
 
+static void cmdq_dumpstate(struct mmc_host *mmc)
+{
+	struct cmdq_host *cq_host = (struct cmdq_host *)mmc_cmdq_private(mmc);
+
+	cmdq_dumpregs(cq_host);
+}
+
 static const struct mmc_cmdq_host_ops cmdq_host_ops = {
 	.enable = cmdq_enable,
 	.disable = cmdq_disable,
@@ -722,6 +729,7 @@
 	.post_req = cmdq_post_req,
 	.halt = cmdq_halt,
 	.reset	= cmdq_reset,
+	.dumpstate = cmdq_dumpstate,
 };
 
 struct cmdq_host *cmdq_pltfm_init(struct platform_device *pdev)