Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674750

[PATCH 17/20] dt-bindings: serial: stm32: add dma using note

From Bich HEMON <bich.hemon@st.com>
Newsgroups linux.kernel
Subject [PATCH 17/20] dt-bindings: serial: stm32: add dma using note
Date 2017-06-26 15:00 +0200
Message-ID <tWBMv-2tb-41@gated-at.bofh.it> (permalink)
References <tWBMt-2tb-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Bich Hemon <bich.hemon@st.com>

Signed-off-by: Gerald Baeza <gerald.baeza@st.com>
---
 .../devicetree/bindings/serial/st,stm32-usart.txt  | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/st,stm32-usart.txt b/Documentation/devicetree/bindings/serial/st,stm32-usart.txt
index 3b42138..6c1cfc8 100644
--- a/Documentation/devicetree/bindings/serial/st,stm32-usart.txt
+++ b/Documentation/devicetree/bindings/serial/st,stm32-usart.txt
@@ -18,6 +18,28 @@ Optional properties:
 - dmas: phandle(s) to DMA controller node(s). Refer to stm32-dma.txt
 - dma-names: "rx" and/or "tx"
 
+Note for dma using:
+- "tx" dma can be used without any constraint since it uses single
+dma transfers.
+- "rx" dma using requires some attention:
+   1) if you cannot anticipate the length of your received packets
+   and if your usart device embeds an internal fifo, then DON'T use
+   dma mode.
+   2) if you enable dma mode WITHOUT mdma intermediate copy (cf.
+   stm32-dma.txt), then the availability of the received data will
+   depend on the dma driver policy and it may be delayed until dma
+   internal fifo is full. The usart driver will see this checking
+   the dma residue when rx interrupt (RXNE or RTO) occurs.
+   3) if you enable dma mode WITH mdma intermediate copy (cf.
+   stm32-dma.txt) then the usart driver will never see the dma
+   residue becoming smaller than RX_BUF_P but it will get its
+   rx dma complete callback called when the cyclic transfer period
+   (RX_BUF_P) is reached.
+The three possibilities above are ordered from the most cpu time
+consuming one to the least one. The counterpart of this optimisation
+is the reception granularity achievable by the usart driver, from
+one byte up to RX_BUF_P.
+
 Note: Each usart controller should have an alias correctly numbered
 in "aliases" node.
 
-- 
1.9.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 17/20] dt-bindings: serial: stm32: add dma using note Bich HEMON <bich.hemon@st.com> - 2017-06-26 15:00 +0200
  Re: [PATCH 17/20] dt-bindings: serial: stm32: add dma using note Rob Herring <robh@kernel.org> - 2017-06-29 00:30 +0200
  Re: [PATCH 17/20] dt-bindings: serial: stm32: add dma using note Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-29 17:00 +0200

csiph-web