Commit 6bf2af8c authored by Hein_Tibosch's avatar Hein_Tibosch Committed by Chris Ball

mmc: atmel-mci: AP700x PDC is not connected to MCI

Earlier, atmel-mci was adapted to make use of the peripheral DMA
controller (PDC), in case normal DMA wouldn't work.
( http://comments.gmane.org/gmane.linux.kernel.mmc/9403 )

This works OK on ARM platforms (AT91), but it broke the driver
for AVR32, the AP700x.  Although the MCI has PDC support, the
connection is not done for AVR chips.

This patch makes the use of PDC depend on !CONFIG_AVR32.
Signed-off-by: default avatarHein Tibosch <hein_tibosch@yahoo.es>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent ccdfe612
...@@ -140,6 +140,13 @@ ...@@ -140,6 +140,13 @@
#define atmci_writel(port,reg,value) \ #define atmci_writel(port,reg,value) \
__raw_writel((value), (port)->regs + reg) __raw_writel((value), (port)->regs + reg)
/* On AVR chips the Peripheral DMA Controller is not connected to MCI. */
#ifdef CONFIG_AVR32
# define ATMCI_PDC_CONNECTED 0
#else
# define ATMCI_PDC_CONNECTED 1
#endif
/* /*
* Fix sconfig's burst size according to atmel MCI. We need to convert them as: * Fix sconfig's burst size according to atmel MCI. We need to convert them as:
* 1 -> 0, 4 -> 1, 8 -> 2, 16 -> 3. * 1 -> 0, 4 -> 1, 8 -> 2, 16 -> 3.
......
...@@ -2290,7 +2290,7 @@ static void __init atmci_get_cap(struct atmel_mci *host) ...@@ -2290,7 +2290,7 @@ static void __init atmci_get_cap(struct atmel_mci *host)
"version: 0x%x\n", version); "version: 0x%x\n", version);
host->caps.has_dma_conf_reg = 0; host->caps.has_dma_conf_reg = 0;
host->caps.has_pdc = 1; host->caps.has_pdc = ATMCI_PDC_CONNECTED;
host->caps.has_cfg_reg = 0; host->caps.has_cfg_reg = 0;
host->caps.has_cstor_reg = 0; host->caps.has_cstor_reg = 0;
host->caps.has_highspeed = 0; host->caps.has_highspeed = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment