[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use
Elen Song
elen.song at atmel.com
Thu Nov 22 02:40:59 EST 2012
On 2012-10-30 14:39, Elen Song wrote:
> On 2012-10-29 19:42, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 17:09 Mon 29 Oct , Elen Song wrote:
>>> Signed-off-by: Elen Song <elen.song at atmel.com>
>>> ---
>>> arch/arm/mach-at91/include/mach/board.h | 2 ++
>>> drivers/tty/serial/atmel_serial.c | 1 +
>>> include/linux/platform_data/dma-atmel.h | 10 ++++++++++
>>> 3 files changed, 13 insertions(+)
>> you will have to rebase this over a clean if the platofrm_data I'll
>> send today
>> or tomorrow that will move all the platform_data to inclide/linux
>
> ok, please cc me in the mail list.
Hi JC:
any more feedback ?
>>
>> btw your patch broke the avr32
>
> You mean compile error, driver crash, or I need a macro to
> distinguish avr32 to at91sam9 ?
> I only add a few variables that avr32 will not use, it seems no
> affection to avr32, you think?
>>
>> Best Regards.
>> J.
>>> diff --git a/arch/arm/mach-at91/include/mach/board.h
>>> b/arch/arm/mach-at91/include/mach/board.h
>>> index c55a436..a2188a6 100644
>>> --- a/arch/arm/mach-at91/include/mach/board.h
>>> +++ b/arch/arm/mach-at91/include/mach/board.h
>>> @@ -129,6 +129,8 @@ struct atmel_uart_data {
>>> short use_dma_tx; /* use transmit DMA? */
>>> short use_dma_rx; /* use receive DMA? */
>>> void __iomem *regs; /* virt. base address, if
>>> any */
>>> + struct at_dma_slave *dma_tx_slave;
>>> + struct at_dma_slave *dma_rx_slave;
>>> struct serial_rs485 rs485; /* rs485 settings */
>>> };
>>> extern void __init at91_add_device_serial(void);
>>> diff --git a/drivers/tty/serial/atmel_serial.c
>>> b/drivers/tty/serial/atmel_serial.c
>>> index 3d7e1ee..1b1bd4f 100644
>>> --- a/drivers/tty/serial/atmel_serial.c
>>> +++ b/drivers/tty/serial/atmel_serial.c
>>> @@ -45,6 +45,7 @@
>>> #include <asm/mach/serial_at91.h>
>>> #include <mach/board.h>
>>> +#include <linux/platform_data/dma-atmel.h>
>>> #ifdef CONFIG_ARM
>>> #include <mach/cpu.h>
>>> diff --git a/include/linux/platform_data/dma-atmel.h
>>> b/include/linux/platform_data/dma-atmel.h
>>> index cab0997..bb05302 100644
>>> --- a/include/linux/platform_data/dma-atmel.h
>>> +++ b/include/linux/platform_data/dma-atmel.h
>>> @@ -26,11 +26,21 @@ struct at_dma_platform_data {
>>> /**
>>> * struct at_dma_slave - Controller-specific information about a
>>> slave
>>> * @dma_dev: required DMA master device
>>> + * @tx_reg: physical address of data register used for
>>> + * memory-to-peripheral transfers
>>> + * @rx_reg: physical address of data register used for
>>> + * peripheral-to-memory transfers
>>> + * @reg_width: peripheral register width
>>> * @cfg: Platform-specific initializer for the CFG register
>>> + * @ctrla: Platform-specific initializer for the CTRLA register
>>> */
>>> struct at_dma_slave {
>>> struct device *dma_dev;
>>> + dma_addr_t tx_reg;
>>> + dma_addr_t rx_reg;
>>> + u32 reg_width;
>>> u32 cfg;
>>> + u32 ctrla;
>>> };
>>> --
>>> 1.7.9.5
>>>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list