[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

Subsystems: arm port, arm/microchip (at91) soc support, microchip at91 serial driver, the rest, tty layer and serial drivers

STALE5038d

6 messages, 2 authors, 2012-11-22 · open the first message on its own page

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Elen Song <hidden>
Date: 2012-10-29 09:09:33

Signed-off-by: Elen Song <redacted>
---
 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(+)
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

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-10-29 11:42:21

On 17:09 Mon 29 Oct     , Elen Song wrote:
Signed-off-by: Elen Song <redacted>
---
 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.
quoted hunk
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

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Elen Song <hidden>
Date: 2012-10-30 03:23:30

On 2012-10-29 19:42, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 17:09 Mon 29 Oct     , Elen Song wrote:
quoted
Signed-off-by: Elen Song <redacted>
---
  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.
quoted
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121030/3743f6ff/attachment-0001.html>

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Elen Song <hidden>
Date: 2012-10-30 06:39:37

On 2012-10-29 19:42, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 17:09 Mon 29 Oct     , Elen Song wrote:
quoted
Signed-off-by: Elen Song <redacted>
---
  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.
quoted
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

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Elen Song <hidden>
Date: 2012-11-22 07:40:59

On 2012-10-30 14:39, Elen Song wrote:
On 2012-10-29 19:42, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 17:09 Mon 29 Oct     , Elen Song wrote:
quoted
Signed-off-by: Elen Song <redacted>
---
  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 ?
quoted
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?
quoted
Best Regards.
J.
quoted
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

[PATCH 1/6] DMA: AT91: Serial: Add parameter for serial dma use

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-11-22 07:44:33

On 15:40 Thu 22 Nov     , Elen Song wrote:
On 2012-10-30 14:39, Elen Song wrote:
quoted
On 2012-10-29 19:42, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 17:09 Mon 29 Oct     , Elen Song wrote:
quoted
Signed-off-by: Elen Song <redacted>
---
 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help