9cb15142d0
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>
31 lines
1,008 B
C
31 lines
1,008 B
C
/*
|
|
*
|
|
* Copyright (c) 2011, The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
#ifndef __MMC_QCOM_DML_H__
|
|
#define __MMC_QCOM_DML_H__
|
|
|
|
#ifdef CONFIG_MMC_QCOM_DML
|
|
int dml_hw_init(struct mmci_host *host, struct device_node *np);
|
|
void dml_start_xfer(struct mmci_host *host, struct mmc_data *data);
|
|
#else
|
|
static inline int dml_hw_init(struct mmci_host *host, struct device_node *np)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
static inline void dml_start_xfer(struct mmci_host *host, struct mmc_data *data)
|
|
{
|
|
}
|
|
#endif /* CONFIG_MMC_QCOM_DML */
|
|
|
|
#endif /* __MMC_QCOM_DML_H__ */
|