diff options
| -rw-r--r-- | drivers/mmc/host/sdhci.c | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 4b297f397326..922a5b594c5e 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2874,6 +2874,7 @@ static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask, u32 *intmask_p)  static void sdhci_adma_show_error(struct sdhci_host *host)  {  	void *desc = host->adma_table; +	dma_addr_t dma = host->adma_addr;  	sdhci_dumpregs(host); @@ -2881,18 +2882,21 @@ static void sdhci_adma_show_error(struct sdhci_host *host)  		struct sdhci_adma2_64_desc *dma_desc = desc;  		if (host->flags & SDHCI_USE_64_BIT_DMA) -			DBG("%p: DMA 0x%08x%08x, LEN 0x%04x, Attr=0x%02x\n", -			    desc, le32_to_cpu(dma_desc->addr_hi), +			SDHCI_DUMP("%08llx: DMA 0x%08x%08x, LEN 0x%04x, Attr=0x%02x\n", +			    (unsigned long long)dma, +			    le32_to_cpu(dma_desc->addr_hi),  			    le32_to_cpu(dma_desc->addr_lo),  			    le16_to_cpu(dma_desc->len),  			    le16_to_cpu(dma_desc->cmd));  		else -			DBG("%p: DMA 0x%08x, LEN 0x%04x, Attr=0x%02x\n", -			    desc, le32_to_cpu(dma_desc->addr_lo), +			SDHCI_DUMP("%08llx: DMA 0x%08x, LEN 0x%04x, Attr=0x%02x\n", +			    (unsigned long long)dma, +			    le32_to_cpu(dma_desc->addr_lo),  			    le16_to_cpu(dma_desc->len),  			    le16_to_cpu(dma_desc->cmd));  		desc += host->desc_sz; +		dma += host->desc_sz;  		if (dma_desc->cmd & cpu_to_le16(ADMA2_END))  			break; @@ -2968,7 +2972,8 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)  			!= MMC_BUS_TEST_R)  		host->data->error = -EILSEQ;  	else if (intmask & SDHCI_INT_ADMA_ERROR) { -		pr_err("%s: ADMA error\n", mmc_hostname(host->mmc)); +		pr_err("%s: ADMA error: 0x%08x\n", mmc_hostname(host->mmc), +		       intmask);  		sdhci_adma_show_error(host);  		host->data->error = -EIO;  		if (host->ops->adma_workaround)  | 

