Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ks8851_net Struct Reference

Data Fields

struct net_devicenetdev
 
struct spi_devicespidev
 
struct mutex lock
 
spinlock_t statelock
 
union ks8851_tx_hdr txh ____cacheline_aligned
 
u8 rxd [8]
 
u8 txd [8]
 
u32 msg_enable ____cacheline_aligned
 
u16 tx_space
 
u8 fid
 
u16 rc_ier
 
u16 rc_rxqcr
 
u16 rc_ccr
 
u16 eeprom_size
 
struct mii_if_info mii
 
struct ks8851_rxctrl rxctrl
 
struct work_struct tx_work
 
struct work_struct irq_work
 
struct work_struct rxctrl_work
 
struct sk_buff_head txq
 
struct spi_message spi_msg1
 
struct spi_message spi_msg2
 
struct spi_transfer spi_xfer1
 
struct spi_transfer spi_xfer2 [2]
 
struct eeprom_93cx6 eeprom
 

Detailed Description

struct ks8851_net - KS8851 driver private data : The network device we're bound to : The spi device we're bound to. : Lock to ensure that the device is not accessed when busy. : Lock on this structure for tx list. : The MII state information for the mii calls. : RX settings for . : Work queue for tx packets : Work queue for servicing interrupts : Work queue for updating RX mode and multicast lists : Queue of packets for transmission. : pre-setup SPI transfer with one message, . : pre-setup SPI transfer with two messages, . : Space for generating packet TX header in DMA-able data : Space for receiving SPI data, in DMA-able space. : Space for transmitting SPI data, in DMA-able space. : The message flags controlling driver output (see ethtool). : Incrementing frame id tag. : Cached copy of KS_IER. : Cached copy of KS_CCR. : Cached copy of KS_RXQCR. : Companion eeprom size in Bytes, 0 if no eeprom : 93CX6 EEPROM state for accessing on-board EEPROM.

The ensures that the chip is protected when certain operations are in progress. When the read or write packet transfer is in progress, most of the chip registers are not ccessible until the transfer is finished and the DMA has been de-asserted.

The is used to protect information in the structure which may need to be accessed via several sources, such as the network driver layer or one of the work queues.

We align the buffers we may use for rx/tx to ensure that if the SPI driver wants to DMA map them, it will not have any problems with data the driver modifies.

Definition at line 101 of file ks8851.c.

Field Documentation

Definition at line 107 of file ks8851.c.

Definition at line 111 of file ks8851.c.

Definition at line 134 of file ks8851.c.

u16 eeprom_size

Definition at line 118 of file ks8851.c.

Definition at line 113 of file ks8851.c.

Definition at line 124 of file ks8851.c.

struct mutex lock

Definition at line 104 of file ks8851.c.

Definition at line 120 of file ks8851.c.

struct net_device* netdev

Definition at line 102 of file ks8851.c.

u16 rc_ccr

Definition at line 117 of file ks8851.c.

u16 rc_ier

Definition at line 115 of file ks8851.c.

u16 rc_rxqcr

Definition at line 116 of file ks8851.c.

Definition at line 121 of file ks8851.c.

struct work_struct rxctrl_work

Definition at line 125 of file ks8851.c.

u8 rxd[8]

Definition at line 108 of file ks8851.c.

struct spi_message spi_msg1

Definition at line 129 of file ks8851.c.

struct spi_message spi_msg2

Definition at line 130 of file ks8851.c.

struct spi_transfer spi_xfer1

Definition at line 131 of file ks8851.c.

struct spi_transfer spi_xfer2[2]

Definition at line 132 of file ks8851.c.

struct spi_device* spidev

Definition at line 103 of file ks8851.c.

spinlock_t statelock

Definition at line 105 of file ks8851.c.

u16 tx_space

Definition at line 112 of file ks8851.c.

Definition at line 123 of file ks8851.c.

u8 txd[8]

Definition at line 109 of file ks8851.c.

Definition at line 127 of file ks8851.c.


The documentation for this struct was generated from the following file: