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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
  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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux