Thread (4 messages) 4 messages, 2 authors, 2021-01-12

[PATCH] Documentation: document dma device use for mcb

STALE2088d LANDED

From: Johannes Thumshirn <hidden>
Date: 2020-12-18 15:37:08
Also in: lkml
Subsystem: documentation, men chameleon bus (mcb), the rest · Maintainers: Jonathan Corbet, Johannes Thumshirn, Linus Torvalds

Landed in mainline as 7594bb08fb68 on 2021-01-11.

Hannes reported a problem with setting up dma transfers on a mcb device.
The problem boiled down to the use of a wrong 'device' for the dma
functions.

Document how to setup dma transfers for a IP core on a mcb carrier.

Reported-by: Hannes Duerr <redacted>
Signed-off-by: Johannes Thumshirn <redacted>
---
 Documentation/driver-api/men-chameleon-bus.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/Documentation/driver-api/men-chameleon-bus.rst b/Documentation/driver-api/men-chameleon-bus.rst
index 1b1f048aa748..6f0b9ee47595 100644
--- a/Documentation/driver-api/men-chameleon-bus.rst
+++ b/Documentation/driver-api/men-chameleon-bus.rst
@@ -18,6 +18,7 @@ MEN Chameleon Bus
        4.1 The driver structure
        4.2 Probing and attaching
        4.3 Initializing the driver
+       4.4 Using DMA
 
 
 Introduction
@@ -173,3 +174,14 @@ module at the MCB core::
 The module_mcb_driver() macro can be used to reduce the above code::
 
 	module_mcb_driver(foo_driver);
+
+Using DMA
+---------
+
+To make use of the kernel's DMA-API's function, you will need to use the
+carrier device's 'struct device'. Fortunately 'struct mcb_device' embeds a
+pointer (->dma_dev) to the carrier's device for DMA purposes::
+
+        ret = dma_set_mask_and_coherent(&mdev->dma_dev, DMA_BIT_MASK(dma_bits));
+        if (rc)
+                /* Handle errors */
-- 
2.26.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help