Linux Kernel
3.7.1
|
Data Fields | |
spinlock_t | lock |
struct platform_device * | pdev |
struct clk * | clk |
void __iomem * | regs_base |
unsigned long | sspdr_phys |
unsigned long | min_rate |
unsigned long | max_rate |
bool | running |
struct workqueue_struct * | wq |
struct work_struct | msg_work |
struct completion | wait |
struct list_head | msg_queue |
struct spi_message * | current_msg |
size_t | tx |
size_t | rx |
size_t | fifo_level |
struct dma_chan * | dma_rx |
struct dma_chan * | dma_tx |
struct ep93xx_dma_data | dma_rx_data |
struct ep93xx_dma_data | dma_tx_data |
struct sg_table | rx_sgt |
struct sg_table | tx_sgt |
void * | zeropage |
struct ep93xx_spi - EP93xx SPI controller structure : spinlock that protects concurrent accesses to fields , and : pointer to platform device : clock for the controller : pointer to ioremap()'d registers : physical address of the SSPDR register : minimum clock rate (in Hz) supported by the controller : maximum clock rate (in Hz) supported by the controller : is the queue running : workqueue used by the driver : work that is queued for the driver : wait here until given transfer is completed : queue for the messages : message that is currently processed (or NULL if none) : current byte in transfer to transmit : current byte in transfer to receive : how full is FIFO (%0..SPI_FIFO_SIZE - %1). Receiving one frame decreases this level and sending one frame increases it. : RX DMA channel : TX DMA channel : RX parameters passed to the DMA engine : TX parameters passed to the DMA engine : sg table for RX transfers : sg table for TX transfers : dummy page used as RX buffer when only TX buffer is passed in by the client
This structure holds EP93xx SPI controller specific information. When is true, driver accepts transfer requests from protocol drivers. is used to hold pointer to the message that is currently processed. If is NULL, it means that no processing is going on.
Most of the fields are only written once and they can be accessed without taking the . Fields that are accessed concurrently are: , , and .
Definition at line 110 of file spi-ep93xx.c.
Definition at line 113 of file spi-ep93xx.c.
struct spi_message* current_msg |
Definition at line 123 of file spi-ep93xx.c.
Definition at line 127 of file spi-ep93xx.c.
struct ep93xx_dma_data dma_rx_data |
Definition at line 129 of file spi-ep93xx.c.
Definition at line 128 of file spi-ep93xx.c.
struct ep93xx_dma_data dma_tx_data |
Definition at line 130 of file spi-ep93xx.c.
size_t fifo_level |
Definition at line 126 of file spi-ep93xx.c.
spinlock_t lock |
Definition at line 111 of file spi-ep93xx.c.
unsigned long max_rate |
Definition at line 117 of file spi-ep93xx.c.
unsigned long min_rate |
Definition at line 116 of file spi-ep93xx.c.
Definition at line 122 of file spi-ep93xx.c.
struct work_struct msg_work |
Definition at line 120 of file spi-ep93xx.c.
struct platform_device* pdev |
Definition at line 112 of file spi-ep93xx.c.
Definition at line 114 of file spi-ep93xx.c.
bool running |
Definition at line 118 of file spi-ep93xx.c.
Definition at line 125 of file spi-ep93xx.c.
Definition at line 131 of file spi-ep93xx.c.
unsigned long sspdr_phys |
Definition at line 115 of file spi-ep93xx.c.
size_t tx |
Definition at line 124 of file spi-ep93xx.c.
Definition at line 132 of file spi-ep93xx.c.
struct completion wait |
Definition at line 121 of file spi-ep93xx.c.
Definition at line 119 of file spi-ep93xx.c.
Definition at line 133 of file spi-ep93xx.c.