mmc: atmel-mci: AP700x PDC is not connected to MCI
PATCH v2 2/2 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
--- drivers/mmc/host/atmel-mci-regs.h | 7 +++++++ drivers/mmc/host/atmel-mci.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-)
drivers/mmc/host/atmel-mci-regs.h +7 -0
@@ -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.
drivers/mmc/host/atmel-mci.c +1 -1
@@ -2208,7 +2208,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 ;
Signature · 1 line
1.7.8.0
PATCH v2 2/2 mmc: atmel-mci: AP700x PDC is not connected to MCI
Hi,
Quoted 40 lines · Hein Tibosch
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 chipsThis patch makes the use of PDC depend on
CONFIG_AVR32Signed-off-by Hein Tibosch <[email protected]>--- drivers/mmc/host/atmel-mci-regs.h | 7 +++++++ drivers/mmc/host/atmel-mci.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-)drivers/mmc/host/atmel-mci-regs.h +7
-0@@ -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. drivers/mmc/host/atmel-mci.c +0
-0
drivers/mmc/host/atmel-mci.c static void __init atmci_get_cap(struct atmel_mci *host) · line 2214
Quoted 8 lines
drivers/mmc/host/atmel-mci.c +1
-1@@ -2208,7 +2208,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 ;
Thanks, pushed to mmc-next for 3.7.
I changed the commit message text to reflect my understanding of what the patch does better, from:
This patch makes the use of PDC depend on CONFIG_AVR32.
to:
This patch makes the use of PDC depend on !CONFIG_AVR32.
(Ludovic, perhaps you could give an ACK for this patch?)
- Chris.
Signature · 2 lines
Chris Ball <[email protected]> <http://printf.net/> One Laptop Per Child
PATCH v2 2/2 mmc: atmel-mci: AP700x PDC is not connected to MCI
Hi Chris,
Le 09/19/2012 07:21 AM, Chris Ball a ?crit :
Quoted 54 lines
Hi,
Quoted 40 lines · Hein Tibosch
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 chipsThis patch makes the use of PDC depend on
CONFIG_AVR32Signed-off-by Hein Tibosch <[email protected]>--- drivers/mmc/host/atmel-mci-regs.h | 7 +++++++ drivers/mmc/host/atmel-mci.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-)drivers/mmc/host/atmel-mci-regs.h +7
-0@@ -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. drivers/mmc/host/atmel-mci.c +0
-0drivers/mmc/host/atmel-mci.c static void __init atmci_get_cap(struct atmel_mci *host) · line 2214
Quoted 8 lines
drivers/mmc/host/atmel-mci.c +1
-1@@ -2208,7 +2208,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 ;Thanks, pushed to mmc-next for 3.7.
Quoted 6 lines
I changed the commit message text to reflect my understanding of what the patch does better, from:
This patch makes the use of PDC depend onCONFIG_AVR32.
to:
This patch makes the use of PDC depend on !CONFIG_AVR32.
You're right.
Quoted 2 lines
(Ludovic, perhaps you could give an ACK for this patch?)
It was given for the first version but not reported in the second version. So yes you can add
Thanks
Ludovic
Quoted 2 lines
- Chris.