Message ID | 1351501773-29024-1-git-send-email-elen.song@atmel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 17:09 Mon 29 Oct , Elen Song wrote: > Signed-off-by: Elen Song <elen.song@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 btw your patch broke the avr32 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 >
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@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. > > 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 >>
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@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. > > 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 >>
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@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@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 15:40 Thu 22 Nov , Elen Song wrote: > 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@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 ? no time finish to prepare the 3.8 will have to wait after 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; };
Signed-off-by: Elen Song <elen.song@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(+)