mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 05:45:20 +00:00
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@duagon.com> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Link: https://lore.kernel.org/r/3bdc8f76b30c2b0e2a2bfab06c2e73797ddc9384.1608305690.git.johannes.thumshirn@wdc.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
7178b4a7d6
commit
7594bb08fb
@ -18,6 +18,7 @@ MEN Chameleon Bus
|
|||||||
4.1 The driver structure
|
4.1 The driver structure
|
||||||
4.2 Probing and attaching
|
4.2 Probing and attaching
|
||||||
4.3 Initializing the driver
|
4.3 Initializing the driver
|
||||||
|
4.4 Using DMA
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
@ -173,3 +174,14 @@ module at the MCB core::
|
|||||||
The module_mcb_driver() macro can be used to reduce the above code::
|
The module_mcb_driver() macro can be used to reduce the above code::
|
||||||
|
|
||||||
module_mcb_driver(foo_driver);
|
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 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user