linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] mmc: atmel-mci: AP700x PDC is not connected to MCI
@ 2012-08-26 20:22 Hein Tibosch
  2012-08-28 13:14 ` ludovic.desroches
  0 siblings, 1 reply; 2+ messages in thread
From: Hein Tibosch @ 2012-08-26 20:22 UTC (permalink / raw)
  To: linux-arm-kernel

Earlier, atmel-mci was adapter 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.
This patch makes the use of PDC depend on CONFIG_AVR32

Signed-off-by: Hein Tibosch <hein_tibosch@yahoo.es>

---
 drivers/mmc/host/atmel-mci-regs.h |    7 +++++++
 drivers/mmc/host/atmel-mci.c      |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)
 
diff --git a/drivers/mmc/host/atmel-mci-regs.h b/drivers/mmc/host/atmel-mci-regs.h
index ab56f7d..c97001e 100644
--- a/drivers/mmc/host/atmel-mci-regs.h
+++ b/drivers/mmc/host/atmel-mci-regs.h
@@ -140,6 +140,13 @@
 #define atmci_writel(port,reg,value)			\
 	__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:
  * 1 -> 0, 4 -> 1, 8 -> 2, 16 -> 3.
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 66e9fdc..702ab5c 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -2205,7 +2205,7 @@ static void __init atmci_get_cap(struct atmel_mci *host)
 			"version: 0x%x\n", version);
 
 	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_cstor_reg = 0;
 	host->caps.has_highspeed = 0;
-- 
1.7.8.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH 2/2] mmc: atmel-mci: AP700x PDC is not connected to MCI
  2012-08-26 20:22 [PATCH 2/2] mmc: atmel-mci: AP700x PDC is not connected to MCI Hein Tibosch
@ 2012-08-28 13:14 ` ludovic.desroches
  0 siblings, 0 replies; 2+ messages in thread
From: ludovic.desroches @ 2012-08-28 13:14 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Hein,

Le 08/26/2012 10:22 PM, Hein Tibosch a ?crit :
> Earlier, atmel-mci was adapter 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.
> This patch makes the use of PDC depend on CONFIG_AVR32

I think you should explain explicitly that even if the MCI has PDC 
support, the connection is not done for AVR chips.

Otherwise you can add

Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>

Thanks for the patch.

Regards

Ludovic

>
> Signed-off-by: Hein Tibosch <hein_tibosch@yahoo.es>
>
> ---
>   drivers/mmc/host/atmel-mci-regs.h |    7 +++++++
>   drivers/mmc/host/atmel-mci.c      |    2 +-
>   2 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/atmel-mci-regs.h b/drivers/mmc/host/atmel-mci-regs.h
> index ab56f7d..c97001e 100644
> --- a/drivers/mmc/host/atmel-mci-regs.h
> +++ b/drivers/mmc/host/atmel-mci-regs.h
> @@ -140,6 +140,13 @@
>   #define atmci_writel(port,reg,value)			\
>   	__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:
>    * 1 -> 0, 4 -> 1, 8 -> 2, 16 -> 3.
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index 66e9fdc..702ab5c 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -2205,7 +2205,7 @@ static void __init atmci_get_cap(struct atmel_mci *host)
>   			"version: 0x%x\n", version);
>
>   	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_cstor_reg = 0;
>   	host->caps.has_highspeed = 0;
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-08-28 13:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-26 20:22 [PATCH 2/2] mmc: atmel-mci: AP700x PDC is not connected to MCI Hein Tibosch
2012-08-28 13:14 ` ludovic.desroches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).