summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci.h
diff options
context:
space:
mode:
authorAdrian Hunter2016-06-29 15:24:23 +0200
committerUlf Hansson2016-07-25 10:34:38 +0200
commit7c89a3d9082c316f898ec2c3c6c1689e0cad6117 (patch)
treeadceb9d00ccedde49d5c10ba10efa2aee54bf874 /drivers/mmc/host/sdhci.h
parentmmc: sdhci: Simplify sdhci_finish_command() by clearing host->cmd at the start (diff)
downloadkernel-qcow2-linux-7c89a3d9082c316f898ec2c3c6c1689e0cad6117.tar.gz
kernel-qcow2-linux-7c89a3d9082c316f898ec2c3c6c1689e0cad6117.tar.xz
kernel-qcow2-linux-7c89a3d9082c316f898ec2c3c6c1689e0cad6117.zip
mmc: sdhci: Record what command is using the data lines
In order to support commands during data transfer, there must be a distinction between the command that is using the command line (and for which a command interrupt is expected) and the command that is using the data lines (for which a data interrupt is expected). There is host->cmd for the command line, but there is only host->data for the data lines, which is a different structure, does not represent the command in use, and is anyway NULL in the case of commands that use the data lines for busy signalling instead of data transfer. Introduce host->data_cmd to record what command is using the data lines, and use that instead of host->cmd when referring to the data command. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci.h')
-rw-r--r--drivers/mmc/host/sdhci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index e332e4a40823..6e971709c9df 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -466,6 +466,7 @@ struct sdhci_host {
struct mmc_request *mrq; /* Current request */
struct mmc_command *cmd; /* Current command */
+ struct mmc_command *data_cmd; /* Current data command */
struct mmc_data *data; /* Current data request */
unsigned int data_early:1; /* Data finished before cmd */
unsigned int busy_handle:1; /* Handling the order of Busy-end */