-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dmaengine: mxs: Add header file to be shared with gpmi nand driver
The mxs dma driver can do PIO transfers. A pointer to the PIO words to transfer is passed in the struct scatterlist * argument of dmaengine_prep_slave_sg(). It's quite ugly and non obvious to cast u32 * to struct scatterlist * each time when calling dmaengine_prep_slave_sg(), so add a static inline wrapper function to be called by the user along with a description what is going on. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
- Loading branch information
Sascha Hauer
authored and
Miquel Raynal
committed
Jun 27, 2019
1 parent
475345e
commit e0ddaab
Showing
3 changed files
with
36 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
#ifndef _MXS_DMA_H_ | ||
#define _MXS_DMA_H_ | ||
|
||
#include <linux/dmaengine.h> | ||
|
||
/* | ||
* The mxs dmaengine can do PIO transfers. We pass a pointer to the PIO words | ||
* in the second argument to dmaengine_prep_slave_sg when the direction is | ||
* set to DMA_TRANS_NONE. To make this clear and to prevent users from doing | ||
* the error prone casting we have this wrapper function | ||
*/ | ||
static inline struct dma_async_tx_descriptor *mxs_dmaengine_prep_pio( | ||
struct dma_chan *chan, u32 *pio, unsigned int npio, | ||
enum dma_transfer_direction dir, unsigned long flags) | ||
{ | ||
return dmaengine_prep_slave_sg(chan, (struct scatterlist *)pio, npio, | ||
dir, flags); | ||
} | ||
|
||
#endif /* _MXS_DMA_H_ */ |