[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <3bdc8f76b30c2b0e2a2bfab06c2e73797ddc9384.1608305690.git.johannes.thumshirn@wdc.com>
Date: Sat, 19 Dec 2020 00:35:25 +0900
From: Johannes Thumshirn <johannes.thumshirn@....com>
To: Jonathan Corbet <corbet@....net>
Cc: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
Johannes Thumshirn <johannes.thumshirn@....com>,
Hannes Duerr <Hannes.Duerr@...gon.com>
Subject: [PATCH] Documentation: document dma device use for mcb
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 <Hannes.Duerr@...gon.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@....com>
---
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
Powered by blists - more mailing lists