Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
isl_38xx.h File Reference
#include <asm/io.h>
#include <asm/byteorder.h>

Go to the source code of this file.

Data Structures

struct  isl38xx_fragment
 
struct  isl38xx_cb
 

Macros

#define ISL38XX_CB_RX_QSIZE   8
 
#define ISL38XX_CB_TX_QSIZE   32
 
#define ISL38XX_MAX_WDS_LINKS   8
 
#define ISL38XX_PSM_ACTIVE_STATE   0
 
#define ISL38XX_PSM_POWERSAVE_STATE   1
 
#define ISL38XX_PCI_MEM_SIZE   0x02000
 
#define ISL38XX_MEMORY_WINDOW_SIZE   0x01000
 
#define ISL38XX_DEV_FIRMWARE_ADDRES   0x20000
 
#define ISL38XX_WRITEIO_DELAY   10 /* in us */
 
#define ISL38XX_RESET_DELAY   50 /* in ms */
 
#define ISL38XX_WAIT_CYCLE   10 /* in 10ms */
 
#define ISL38XX_MAX_WAIT_CYCLES   10
 
#define ISL38XX_HARDWARE_REG   0x0000
 
#define ISL38XX_CARDBUS_CIS   0x0800
 
#define ISL38XX_DIRECT_MEM_WIN   0x1000
 
#define ISL38XX_DEV_INT_REG   0x0000
 
#define ISL38XX_INT_IDENT_REG   0x0010
 
#define ISL38XX_INT_ACK_REG   0x0014
 
#define ISL38XX_INT_EN_REG   0x0018
 
#define ISL38XX_GEN_PURP_COM_REG_1   0x0020
 
#define ISL38XX_GEN_PURP_COM_REG_2   0x0024
 
#define ISL38XX_CTRL_BLK_BASE_REG   ISL38XX_GEN_PURP_COM_REG_1
 
#define ISL38XX_DIR_MEM_BASE_REG   0x0030
 
#define ISL38XX_CTRL_STAT_REG   0x0078
 
#define ISL38XX_PCI_POSTING_FLUSH   ISL38XX_INT_EN_REG
 
#define ISL38XX_DEV_INT_RESET   0x0001
 
#define ISL38XX_DEV_INT_UPDATE   0x0002
 
#define ISL38XX_DEV_INT_WAKEUP   0x0008
 
#define ISL38XX_DEV_INT_SLEEP   0x0010
 
#define ISL38XX_INT_IDENT_UPDATE   0x0002
 
#define ISL38XX_INT_IDENT_INIT   0x0004
 
#define ISL38XX_INT_IDENT_WAKEUP   0x0008
 
#define ISL38XX_INT_IDENT_SLEEP   0x0010
 
#define ISL38XX_INT_SOURCES   0x001E
 
#define ISL38XX_CTRL_STAT_SLEEPMODE   0x00000200
 
#define ISL38XX_CTRL_STAT_CLKRUN   0x00800000
 
#define ISL38XX_CTRL_STAT_RESET   0x10000000
 
#define ISL38XX_CTRL_STAT_RAMBOOT   0x20000000
 
#define ISL38XX_CTRL_STAT_STARTHALTED   0x40000000
 
#define ISL38XX_CTRL_STAT_HOST_OVERRIDE   0x80000000
 
#define ISL38XX_CB_RX_DATA_LQ   0
 
#define ISL38XX_CB_TX_DATA_LQ   1
 
#define ISL38XX_CB_RX_DATA_HQ   2
 
#define ISL38XX_CB_TX_DATA_HQ   3
 
#define ISL38XX_CB_RX_MGMTQ   4
 
#define ISL38XX_CB_TX_MGMTQ   5
 
#define ISL38XX_CB_QCOUNT   6
 
#define ISL38XX_CB_MGMT_QSIZE   4
 
#define ISL38XX_MIN_QTHRESHOLD   4 /* fragments */
 
#define MGMT_FRAME_SIZE   1500 /* >= size struct obj_bsslist */
 
#define MGMT_TX_FRAME_COUNT   24 /* max 4 + spare 4 + 8 init */
 
#define MGMT_RX_FRAME_COUNT   24 /* 4*4 + spare 8 */
 
#define MGMT_FRAME_COUNT   (MGMT_TX_FRAME_COUNT + MGMT_RX_FRAME_COUNT)
 
#define CONTROL_BLOCK_SIZE   1024 /* should be enough */
 
#define PSM_FRAME_SIZE   1536
 
#define PSM_MINIMAL_STATION_COUNT   64
 
#define PSM_FRAME_COUNT   PSM_MINIMAL_STATION_COUNT
 
#define PSM_BUFFER_SIZE   PSM_FRAME_SIZE * PSM_FRAME_COUNT
 
#define MAX_TRAP_RX_QUEUE   4
 
#define HOST_MEM_BLOCK   CONTROL_BLOCK_SIZE + PSM_BUFFER_SIZE
 
#define FRAGMENT_FLAG_MF   0x0001
 
#define MAX_FRAGMENT_SIZE   1536
 
#define MAX_FRAGMENT_SIZE_RX   1600
 

Typedefs

typedef struct isl38xx_cb isl38xx_control_block
 

Functions

int isl38xx_in_queue (isl38xx_control_block *cb, int queue)
 
void isl38xx_disable_interrupts (void __iomem *)
 
void isl38xx_enable_common_interrupts (void __iomem *)
 
void isl38xx_handle_sleep_request (isl38xx_control_block *, int *, void __iomem *)
 
void isl38xx_handle_wakeup (isl38xx_control_block *, int *, void __iomem *)
 
void isl38xx_trigger_device (int, void __iomem *)
 
void isl38xx_interface_reset (void __iomem *, dma_addr_t)
 

Macro Definition Documentation

#define CONTROL_BLOCK_SIZE   1024 /* should be enough */

Definition at line 123 of file isl_38xx.h.

#define FRAGMENT_FLAG_MF   0x0001

Definition at line 132 of file isl_38xx.h.

#define HOST_MEM_BLOCK   CONTROL_BLOCK_SIZE + PSM_BUFFER_SIZE

Definition at line 129 of file isl_38xx.h.

#define ISL38XX_CARDBUS_CIS   0x0800

Definition at line 46 of file isl_38xx.h.

#define ISL38XX_CB_MGMT_QSIZE   4

Definition at line 115 of file isl_38xx.h.

#define ISL38XX_CB_QCOUNT   6

Definition at line 114 of file isl_38xx.h.

#define ISL38XX_CB_RX_DATA_HQ   2

Definition at line 110 of file isl_38xx.h.

#define ISL38XX_CB_RX_DATA_LQ   0

Definition at line 108 of file isl_38xx.h.

#define ISL38XX_CB_RX_MGMTQ   4

Definition at line 112 of file isl_38xx.h.

#define ISL38XX_CB_RX_QSIZE   8

Definition at line 25 of file isl_38xx.h.

#define ISL38XX_CB_TX_DATA_HQ   3

Definition at line 111 of file isl_38xx.h.

#define ISL38XX_CB_TX_DATA_LQ   1

Definition at line 109 of file isl_38xx.h.

#define ISL38XX_CB_TX_MGMTQ   5

Definition at line 113 of file isl_38xx.h.

#define ISL38XX_CB_TX_QSIZE   32

Definition at line 26 of file isl_38xx.h.

#define ISL38XX_CTRL_BLK_BASE_REG   ISL38XX_GEN_PURP_COM_REG_1

Definition at line 56 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_CLKRUN   0x00800000

Definition at line 101 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_HOST_OVERRIDE   0x80000000

Definition at line 105 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_RAMBOOT   0x20000000

Definition at line 103 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_REG   0x0078

Definition at line 58 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_RESET   0x10000000

Definition at line 102 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_SLEEPMODE   0x00000200

Definition at line 100 of file isl_38xx.h.

#define ISL38XX_CTRL_STAT_STARTHALTED   0x40000000

Definition at line 104 of file isl_38xx.h.

#define ISL38XX_DEV_FIRMWARE_ADDRES   0x20000

Definition at line 38 of file isl_38xx.h.

#define ISL38XX_DEV_INT_REG   0x0000

Definition at line 50 of file isl_38xx.h.

#define ISL38XX_DEV_INT_RESET   0x0001

Definition at line 83 of file isl_38xx.h.

#define ISL38XX_DEV_INT_SLEEP   0x0010

Definition at line 86 of file isl_38xx.h.

#define ISL38XX_DEV_INT_UPDATE   0x0002

Definition at line 84 of file isl_38xx.h.

#define ISL38XX_DEV_INT_WAKEUP   0x0008

Definition at line 85 of file isl_38xx.h.

#define ISL38XX_DIR_MEM_BASE_REG   0x0030

Definition at line 57 of file isl_38xx.h.

#define ISL38XX_DIRECT_MEM_WIN   0x1000

Definition at line 47 of file isl_38xx.h.

#define ISL38XX_GEN_PURP_COM_REG_1   0x0020

Definition at line 54 of file isl_38xx.h.

#define ISL38XX_GEN_PURP_COM_REG_2   0x0024

Definition at line 55 of file isl_38xx.h.

#define ISL38XX_HARDWARE_REG   0x0000

Definition at line 45 of file isl_38xx.h.

#define ISL38XX_INT_ACK_REG   0x0014

Definition at line 52 of file isl_38xx.h.

#define ISL38XX_INT_EN_REG   0x0018

Definition at line 53 of file isl_38xx.h.

#define ISL38XX_INT_IDENT_INIT   0x0004

Definition at line 90 of file isl_38xx.h.

#define ISL38XX_INT_IDENT_REG   0x0010

Definition at line 51 of file isl_38xx.h.

#define ISL38XX_INT_IDENT_SLEEP   0x0010

Definition at line 92 of file isl_38xx.h.

#define ISL38XX_INT_IDENT_UPDATE   0x0002

Definition at line 89 of file isl_38xx.h.

#define ISL38XX_INT_IDENT_WAKEUP   0x0008

Definition at line 91 of file isl_38xx.h.

#define ISL38XX_INT_SOURCES   0x001E

Definition at line 93 of file isl_38xx.h.

#define ISL38XX_MAX_WAIT_CYCLES   10

Definition at line 42 of file isl_38xx.h.

#define ISL38XX_MAX_WDS_LINKS   8

Definition at line 29 of file isl_38xx.h.

#define ISL38XX_MEMORY_WINDOW_SIZE   0x01000

Definition at line 37 of file isl_38xx.h.

#define ISL38XX_MIN_QTHRESHOLD   4 /* fragments */

Definition at line 116 of file isl_38xx.h.

#define ISL38XX_PCI_MEM_SIZE   0x02000

Definition at line 36 of file isl_38xx.h.

#define ISL38XX_PCI_POSTING_FLUSH   ISL38XX_INT_EN_REG

Definition at line 62 of file isl_38xx.h.

#define ISL38XX_PSM_ACTIVE_STATE   0

Definition at line 32 of file isl_38xx.h.

#define ISL38XX_PSM_POWERSAVE_STATE   1

Definition at line 33 of file isl_38xx.h.

#define ISL38XX_RESET_DELAY   50 /* in ms */

Definition at line 40 of file isl_38xx.h.

#define ISL38XX_WAIT_CYCLE   10 /* in 10ms */

Definition at line 41 of file isl_38xx.h.

#define ISL38XX_WRITEIO_DELAY   10 /* in us */

Definition at line 39 of file isl_38xx.h.

#define MAX_FRAGMENT_SIZE   1536

Definition at line 133 of file isl_38xx.h.

#define MAX_FRAGMENT_SIZE_RX   1600

Definition at line 138 of file isl_38xx.h.

#define MAX_TRAP_RX_QUEUE   4

Definition at line 128 of file isl_38xx.h.

#define MGMT_FRAME_COUNT   (MGMT_TX_FRAME_COUNT + MGMT_RX_FRAME_COUNT)

Definition at line 122 of file isl_38xx.h.

#define MGMT_FRAME_SIZE   1500 /* >= size struct obj_bsslist */

Definition at line 119 of file isl_38xx.h.

#define MGMT_RX_FRAME_COUNT   24 /* 4*4 + spare 8 */

Definition at line 121 of file isl_38xx.h.

#define MGMT_TX_FRAME_COUNT   24 /* max 4 + spare 4 + 8 init */

Definition at line 120 of file isl_38xx.h.

#define PSM_BUFFER_SIZE   PSM_FRAME_SIZE * PSM_FRAME_COUNT

Definition at line 127 of file isl_38xx.h.

#define PSM_FRAME_COUNT   PSM_MINIMAL_STATION_COUNT

Definition at line 126 of file isl_38xx.h.

#define PSM_FRAME_SIZE   1536

Definition at line 124 of file isl_38xx.h.

#define PSM_MINIMAL_STATION_COUNT   64

Definition at line 125 of file isl_38xx.h.

Typedef Documentation

Definition at line 157 of file isl_38xx.h.

Function Documentation

void isl38xx_disable_interrupts ( void __iomem device)

isl38xx_disable_interrupts - disable all interrupts : pci memory base address

Instructs the device to disable all interrupt reporting by asserting the IRQ line. New events may still show up in the interrupt identification register located at offset ISL38XX_INT_IDENT_REG.

Definition at line 45 of file isl_38xx.c.

void isl38xx_enable_common_interrupts ( void __iomem )

Definition at line 213 of file isl_38xx.c.

void isl38xx_handle_sleep_request ( isl38xx_control_block ,
int ,
void __iomem  
)

Definition at line 52 of file isl_38xx.c.

void isl38xx_handle_wakeup ( isl38xx_control_block ,
int ,
void __iomem  
)

Definition at line 88 of file isl_38xx.c.

int isl38xx_in_queue ( isl38xx_control_block cb,
int  queue 
)

Definition at line 224 of file isl_38xx.c.

void isl38xx_interface_reset ( void __iomem ,
dma_addr_t   
)

Definition at line 189 of file isl_38xx.c.

void isl38xx_trigger_device ( int  ,
void __iomem  
)

Definition at line 111 of file isl_38xx.c.