aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/mmci_qcom_dml.h
diff options
context:
space:
mode:
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>2014-07-28 22:50:30 -0400
committerUlf Hansson <ulf.hansson@linaro.org>2014-09-09 07:58:46 -0400
commit9cb15142d0e336874ecc753e9a4e5696c46a67d9 (patch)
treea1582bcb7f8833fd5ed8d254fb6eeb307fa3d1f0 /drivers/mmc/host/mmci_qcom_dml.h
parent221414db1934c1c883501998f510bb75acfbaa51 (diff)
mmc: mmci: Add qcom dml support to the driver.
On Qualcomm APQ8064 SOCs, SD card controller has an additional glue called DML (Data Mover Local/Lite) to assist dma transfers. This hardware needs to be setup before any dma transfer is requested. DML itself is not a DMA engine, its just a gule between the SD card controller and dma controller. Most of this code has been ported from qualcomm's 3.4 kernel. This patch adds the code necessary to intialize the hardware and setup before doing any dma transfers. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/mmci_qcom_dml.h')
-rw-r--r--drivers/mmc/host/mmci_qcom_dml.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci_qcom_dml.h b/drivers/mmc/host/mmci_qcom_dml.h
new file mode 100644
index 000000000000..6e405d09d534
--- /dev/null
+++ b/drivers/mmc/host/mmci_qcom_dml.h
@@ -0,0 +1,31 @@
1/*
2 *
3 * Copyright (c) 2011, The Linux Foundation. All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 and
7 * only version 2 as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 */
15#ifndef __MMC_QCOM_DML_H__
16#define __MMC_QCOM_DML_H__
17
18#ifdef CONFIG_MMC_QCOM_DML
19int dml_hw_init(struct mmci_host *host, struct device_node *np);
20void dml_start_xfer(struct mmci_host *host, struct mmc_data *data);
21#else
22static inline int dml_hw_init(struct mmci_host *host, struct device_node *np)
23{
24 return -ENOSYS;
25}
26static inline void dml_start_xfer(struct mmci_host *host, struct mmc_data *data)
27{
28}
29#endif /* CONFIG_MMC_QCOM_DML */
30
31#endif /* __MMC_QCOM_DML_H__ */