|
@@ -410,23 +410,11 @@ static void dw_mci_idmac_start_dma(struct dw_mci *host, unsigned int sg_len)
|
|
|
static int dw_mci_idmac_init(struct dw_mci *host)
|
|
|
{
|
|
|
struct idmac_desc *p;
|
|
|
- int i, dma_support;
|
|
|
+ int i;
|
|
|
|
|
|
/* Number of descriptors in the ring buffer */
|
|
|
host->ring_size = PAGE_SIZE / sizeof(struct idmac_desc);
|
|
|
|
|
|
- /* Check if Hardware Configuration Register has support for DMA */
|
|
|
- dma_support = (mci_readl(host, HCON) >> 16) & 0x3;
|
|
|
-
|
|
|
- if (!dma_support || dma_support > 2) {
|
|
|
- dev_err(host->dev,
|
|
|
- "Host Controller does not support IDMA Tx.\n");
|
|
|
- host->dma_ops = NULL;
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
-
|
|
|
- dev_info(host->dev, "Using internal DMA controller.\n");
|
|
|
-
|
|
|
/* Forward link the descriptor list */
|
|
|
for (i = 0, p = host->sg_cpu; i < host->ring_size - 1; i++, p++)
|
|
|
p->des3 = host->sg_dma + (sizeof(struct idmac_desc) * (i + 1));
|
|
@@ -1985,6 +1973,7 @@ static void dw_mci_init_dma(struct dw_mci *host)
|
|
|
/* Determine which DMA interface to use */
|
|
|
#ifdef CONFIG_MMC_DW_IDMAC
|
|
|
host->dma_ops = &dw_mci_idmac_ops;
|
|
|
+ dev_info(&host->dev, "Using internal DMA controller.\n");
|
|
|
#endif
|
|
|
|
|
|
if (!host->dma_ops)
|