Commit 9be16b38 authored by Qipan Li's avatar Qipan Li Committed by Greg Kroah-Hartman

serial: sirf: move to use generic dma dt-binding to get dma channels

instead of using sirf specific dma channel property like "sirf,uart-dma-rx-channel"
and "sirf,uart-dma-tx-channel", here we move to use generic dma dt-binding to get
the channel like:
- sirf,uart-dma-rx-channel = <21>;
- sirf,uart-dma-tx-channel = <2>;
+ dmas = <&dmac1 5>, <&dmac0 2>;
+ dma-names = "rx", "tx";

and we move dma_request_channel() to dma_request_slave_channel(), we don't need to
call sirfsoc dma filter function sirfsoc_dma_filter_id() again.
Signed-off-by: default avatarQipan Li <Qipan.Li@csr.com>
Signed-off-by: default avatarBarry Song <Baohua.Song@csr.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ef2889f7
...@@ -217,8 +217,8 @@ uart0: uart@b0050000 { ...@@ -217,8 +217,8 @@ uart0: uart@b0050000 {
interrupts = <17>; interrupts = <17>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 13>; clocks = <&clks 13>;
sirf,uart-dma-rx-channel = <21>; dmas = <&dmac1 5>, <&dmac0 2>;
sirf,uart-dma-tx-channel = <2>; dma-names = "rx", "tx";
}; };
uart1: uart@b0060000 { uart1: uart@b0060000 {
...@@ -228,6 +228,7 @@ uart1: uart@b0060000 { ...@@ -228,6 +228,7 @@ uart1: uart@b0060000 {
interrupts = <18>; interrupts = <18>;
fifosize = <32>; fifosize = <32>;
clocks = <&clks 14>; clocks = <&clks 14>;
dma-names = "no-rx", "no-tx";
}; };
uart2: uart@b0070000 { uart2: uart@b0070000 {
...@@ -237,8 +238,8 @@ uart2: uart@b0070000 { ...@@ -237,8 +238,8 @@ uart2: uart@b0070000 {
interrupts = <19>; interrupts = <19>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 15>; clocks = <&clks 15>;
sirf,uart-dma-rx-channel = <6>; dmas = <&dmac0 6>, <&dmac0 7>;
sirf,uart-dma-tx-channel = <7>; dma-names = "rx", "tx";
}; };
usp0: usp@b0080000 { usp0: usp@b0080000 {
...@@ -248,8 +249,8 @@ usp0: usp@b0080000 { ...@@ -248,8 +249,8 @@ usp0: usp@b0080000 {
interrupts = <20>; interrupts = <20>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 28>; clocks = <&clks 28>;
sirf,usp-dma-rx-channel = <17>; dmas = <&dmac1 1>, <&dmac1 2>;
sirf,usp-dma-tx-channel = <18>; dma-names = "rx", "tx";
}; };
usp1: usp@b0090000 { usp1: usp@b0090000 {
...@@ -259,8 +260,8 @@ usp1: usp@b0090000 { ...@@ -259,8 +260,8 @@ usp1: usp@b0090000 {
interrupts = <21>; interrupts = <21>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 29>; clocks = <&clks 29>;
sirf,usp-dma-rx-channel = <14>; dmas = <&dmac0 14>, <&dmac0 15>;
sirf,usp-dma-tx-channel = <15>; dma-names = "rx", "tx";
}; };
dmac0: dma-controller@b00b0000 { dmac0: dma-controller@b00b0000 {
......
...@@ -223,8 +223,8 @@ uart0: uart@b0050000 { ...@@ -223,8 +223,8 @@ uart0: uart@b0050000 {
interrupts = <17>; interrupts = <17>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 13>; clocks = <&clks 13>;
sirf,uart-dma-rx-channel = <21>; dmas = <&dmac1 5>, <&dmac0 2>;
sirf,uart-dma-tx-channel = <2>; dma-names = "rx", "tx";
}; };
uart1: uart@b0060000 { uart1: uart@b0060000 {
...@@ -243,8 +243,8 @@ uart2: uart@b0070000 { ...@@ -243,8 +243,8 @@ uart2: uart@b0070000 {
interrupts = <19>; interrupts = <19>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 15>; clocks = <&clks 15>;
sirf,uart-dma-rx-channel = <6>; dmas = <&dmac0 6>, <&dmac0 7>;
sirf,uart-dma-tx-channel = <7>; dma-names = "rx", "tx";
}; };
usp0: usp@b0080000 { usp0: usp@b0080000 {
...@@ -254,8 +254,8 @@ usp0: usp@b0080000 { ...@@ -254,8 +254,8 @@ usp0: usp@b0080000 {
interrupts = <20>; interrupts = <20>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 28>; clocks = <&clks 28>;
sirf,usp-dma-rx-channel = <17>; dmas = <&dmac1 1>, <&dmac1 2>;
sirf,usp-dma-tx-channel = <18>; dma-names = "rx", "tx";
}; };
usp1: usp@b0090000 { usp1: usp@b0090000 {
...@@ -265,8 +265,8 @@ usp1: usp@b0090000 { ...@@ -265,8 +265,8 @@ usp1: usp@b0090000 {
interrupts = <21>; interrupts = <21>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 29>; clocks = <&clks 29>;
sirf,usp-dma-rx-channel = <14>; dmas = <&dmac0 14>, <&dmac0 15>;
sirf,usp-dma-tx-channel = <15>; dma-names = "rx", "tx";
}; };
usp2: usp@b00a0000 { usp2: usp@b00a0000 {
...@@ -276,8 +276,8 @@ usp2: usp@b00a0000 { ...@@ -276,8 +276,8 @@ usp2: usp@b00a0000 {
interrupts = <22>; interrupts = <22>;
fifosize = <128>; fifosize = <128>;
clocks = <&clks 30>; clocks = <&clks 30>;
sirf,usp-dma-rx-channel = <10>; dmas = <&dmac0 10>, <&dmac0 11>;
sirf,usp-dma-tx-channel = <11>; dma-names = "rx", "tx";
}; };
dmac0: dma-controller@b00b0000 { dmac0: dma-controller@b00b0000 {
......
This diff is collapsed.
...@@ -392,9 +392,6 @@ struct sirfsoc_uart_register sirfsoc_uart = { ...@@ -392,9 +392,6 @@ struct sirfsoc_uart_register sirfsoc_uart = {
/* Indicate how many buffers used */ /* Indicate how many buffers used */
#define SIRFSOC_RX_LOOP_BUF_CNT 2 #define SIRFSOC_RX_LOOP_BUF_CNT 2
/* Indicate if DMA channel valid */
#define IS_DMA_CHAN_VALID(x) ((x) != -1)
#define UNVALID_DMA_CHAN -1
/* For Fast Baud Rate Calculation */ /* For Fast Baud Rate Calculation */
struct sirfsoc_baudrate_to_regv { struct sirfsoc_baudrate_to_regv {
unsigned int baud_rate; unsigned int baud_rate;
...@@ -423,8 +420,6 @@ struct sirfsoc_uart_port { ...@@ -423,8 +420,6 @@ struct sirfsoc_uart_port {
/* for SiRFmarco, there are SET/CLR for UART_INT_EN */ /* for SiRFmarco, there are SET/CLR for UART_INT_EN */
bool is_marco; bool is_marco;
struct sirfsoc_uart_register *uart_reg; struct sirfsoc_uart_register *uart_reg;
int rx_dma_no;
int tx_dma_no;
struct dma_chan *rx_dma_chan; struct dma_chan *rx_dma_chan;
struct dma_chan *tx_dma_chan; struct dma_chan *tx_dma_chan;
dma_addr_t tx_dma_addr; dma_addr_t tx_dma_addr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment