mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	This patch adds DMA support for the EP93xx SPI driver. By default the DMA is not enabled but it can be enabled by setting ep93xx_spi_info.use_dma to true in board configuration file. Note that the SPI driver still uses PIO for small transfers (<= 8 bytes) for performance reasons. Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __ASM_MACH_EP93XX_SPI_H
 | 
						|
#define __ASM_MACH_EP93XX_SPI_H
 | 
						|
 | 
						|
struct spi_device;
 | 
						|
 | 
						|
/**
 | 
						|
 * struct ep93xx_spi_info - EP93xx specific SPI descriptor
 | 
						|
 * @num_chipselect: number of chip selects on this board, must be
 | 
						|
 *                  at least one
 | 
						|
 * @use_dma: use DMA for the transfers
 | 
						|
 */
 | 
						|
struct ep93xx_spi_info {
 | 
						|
	int	num_chipselect;
 | 
						|
	bool	use_dma;
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
 * struct ep93xx_spi_chip_ops - operation callbacks for SPI slave device
 | 
						|
 * @setup: setup the chip select mechanism
 | 
						|
 * @cleanup: cleanup the chip select mechanism
 | 
						|
 * @cs_control: control the device chip select
 | 
						|
 */
 | 
						|
struct ep93xx_spi_chip_ops {
 | 
						|
	int	(*setup)(struct spi_device *spi);
 | 
						|
	void	(*cleanup)(struct spi_device *spi);
 | 
						|
	void	(*cs_control)(struct spi_device *spi, int value);
 | 
						|
};
 | 
						|
 | 
						|
#endif /* __ASM_MACH_EP93XX_SPI_H */
 |