Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
stex.c File Reference
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/time.h>
#include <linux/pci.h>
#include <linux/blkdev.h>
#include <linux/interrupt.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/byteorder.h>
#include <scsi/scsi.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_tcq.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_eh.h>

Go to the source code of this file.

Data Structures

struct  st_sgitem
 
struct  st_ss_sgitem
 
struct  st_sgtable
 
struct  st_msg_header
 
struct  handshake_frame
 
struct  req_msg
 
struct  status_msg
 
struct  ver_info
 
struct  st_frame
 
struct  st_drvver
 
struct  st_ccb
 
struct  st_hba
 
struct  st_card_info
 

Macros

#define DRV_NAME   "stex"
 
#define ST_DRIVER_VERSION   "4.6.0000.4"
 
#define ST_VER_MAJOR   4
 
#define ST_VER_MINOR   6
 
#define ST_OEM   0
 
#define ST_BUILD_VER   4
 

Enumerations

enum  {
  IMR0 = 0x10, IMR1 = 0x14, OMR0 = 0x18, OMR1 = 0x1c,
  IDBL = 0x20, IIS = 0x24, IIM = 0x28, ODBL = 0x2c,
  OIS = 0x30, OIM = 0x3c, YIOA_STATUS = 0x00, YH2I_INT = 0x20,
  YINT_EN = 0x34, YI2H_INT = 0x9c, YI2H_INT_C = 0xa0, YH2I_REQ = 0xc0,
  YH2I_REQ_HI = 0xc4, MU_INBOUND_DOORBELL_HANDSHAKE = (1 << 0), MU_INBOUND_DOORBELL_REQHEADCHANGED = (1 << 1), MU_INBOUND_DOORBELL_STATUSTAILCHANGED = (1 << 2),
  MU_INBOUND_DOORBELL_HMUSTOPPED = (1 << 3), MU_INBOUND_DOORBELL_RESET = (1 << 4), MU_OUTBOUND_DOORBELL_HANDSHAKE = (1 << 0), MU_OUTBOUND_DOORBELL_REQUESTTAILCHANGED = (1 << 1),
  MU_OUTBOUND_DOORBELL_STATUSHEADCHANGED = (1 << 2), MU_OUTBOUND_DOORBELL_BUSCHANGE = (1 << 3), MU_OUTBOUND_DOORBELL_HASEVENT = (1 << 4), MU_OUTBOUND_DOORBELL_REQUEST_RESET = (1 << 27),
  MU_STATE_STARTING = 1, MU_STATE_STARTED = 2, MU_STATE_RESETTING = 3, MU_STATE_FAILED = 4,
  MU_MAX_DELAY = 120, MU_HANDSHAKE_SIGNATURE = 0x55aaaa55, MU_HANDSHAKE_SIGNATURE_HALF = 0x5a5a0000, MU_HARD_RESET_WAIT = 30000,
  HMU_PARTNER_TYPE = 2, SRB_STATUS_SUCCESS = 0x01, SRB_STATUS_ERROR = 0x04, SRB_STATUS_BUSY = 0x05,
  SRB_STATUS_INVALID_REQUEST = 0x06, SRB_STATUS_SELECTION_TIMEOUT = 0x0A, SRB_SEE_SENSE = 0x80, TASK_ATTRIBUTE_SIMPLE = 0x0,
  TASK_ATTRIBUTE_HEADOFQUEUE = 0x1, TASK_ATTRIBUTE_ORDERED = 0x2, TASK_ATTRIBUTE_ACA = 0x4, SS_STS_NORMAL = 0x80000000,
  SS_STS_DONE = 0x40000000, SS_STS_HANDSHAKE = 0x20000000, SS_HEAD_HANDSHAKE = 0x80, SS_H2I_INT_RESET = 0x100,
  SS_I2H_REQUEST_RESET = 0x2000, SS_MU_OPERATIONAL = 0x80000000, STEX_CDB_LENGTH = 16, STATUS_VAR_LEN = 128,
  SG_CF_EOT = 0x80, SG_CF_64B = 0x40, SG_CF_HOST = 0x20, MSG_DATA_DIR_ND = 0,
  MSG_DATA_DIR_IN = 1, MSG_DATA_DIR_OUT = 2, st_shasta = 0, st_vsc = 1,
  st_yosemite = 2, st_seq = 3, st_yel = 4, PASSTHRU_REQ_TYPE = 0x00000001,
  PASSTHRU_REQ_NO_WAKEUP = 0x00000100, ST_INTERNAL_TIMEOUT = 180, ST_TO_CMD = 0, ST_FROM_CMD = 1,
  MGT_CMD = 0xd8, SINBAND_MGT_CMD = 0xd9, ARRAY_CMD = 0xe0, CONTROLLER_CMD = 0xe1,
  DEBUGGING_CMD = 0xe2, PASSTHRU_CMD = 0xe3, PASSTHRU_GET_ADAPTER = 0x05, PASSTHRU_GET_DRVVER = 0x10,
  CTLR_CONFIG_CMD = 0x03, CTLR_SHUTDOWN = 0x0d, CTLR_POWER_STATE_CHANGE = 0x0e, CTLR_POWER_SAVING = 0x01,
  PASSTHRU_SIGNATURE = 0x4e415041, MGT_CMD_SIGNATURE = 0xba, INQUIRY_EVPD = 0x01, ST_ADDITIONAL_MEM = 0x200000,
  ST_ADDITIONAL_MEM_MIN = 0x80000
}
 

Functions

 module_param (msi, int, 0)
 
 MODULE_PARM_DESC (msi,"Enable Message Signaled Interrupts(0=off, 1=on)")
 
 MODULE_AUTHOR ("Ed Lin")
 
 MODULE_DESCRIPTION ("Promise Technology SuperTrak EX Controllers")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (ST_DRIVER_VERSION)
 
 MODULE_DEVICE_TABLE (pci, stex_pci_tbl)
 
 module_init (stex_init)
 
 module_exit (stex_exit)
 

Macro Definition Documentation

#define DRV_NAME   "stex"

Definition at line 39 of file stex.c.

#define ST_BUILD_VER   4

Definition at line 44 of file stex.c.

#define ST_DRIVER_VERSION   "4.6.0000.4"

Definition at line 40 of file stex.c.

#define ST_OEM   0

Definition at line 43 of file stex.c.

#define ST_VER_MAJOR   4

Definition at line 41 of file stex.c.

#define ST_VER_MINOR   6

Definition at line 42 of file stex.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
IMR0 
IMR1 
OMR0 
OMR1 
IDBL 
IIS 
IIM 
ODBL 
OIS 
OIM 
YIOA_STATUS 
YH2I_INT 
YINT_EN 
YI2H_INT 
YI2H_INT_C 
YH2I_REQ 
YH2I_REQ_HI 
MU_INBOUND_DOORBELL_HANDSHAKE 
MU_INBOUND_DOORBELL_REQHEADCHANGED 
MU_INBOUND_DOORBELL_STATUSTAILCHANGED 
MU_INBOUND_DOORBELL_HMUSTOPPED 
MU_INBOUND_DOORBELL_RESET 
MU_OUTBOUND_DOORBELL_HANDSHAKE 
MU_OUTBOUND_DOORBELL_REQUESTTAILCHANGED 
MU_OUTBOUND_DOORBELL_STATUSHEADCHANGED 
MU_OUTBOUND_DOORBELL_BUSCHANGE 
MU_OUTBOUND_DOORBELL_HASEVENT 
MU_OUTBOUND_DOORBELL_REQUEST_RESET 
MU_STATE_STARTING 
MU_STATE_STARTED 
MU_STATE_RESETTING 
MU_STATE_FAILED 
MU_MAX_DELAY 
MU_HANDSHAKE_SIGNATURE 
MU_HANDSHAKE_SIGNATURE_HALF 
MU_HARD_RESET_WAIT 
HMU_PARTNER_TYPE 
SRB_STATUS_SUCCESS 
SRB_STATUS_ERROR 
SRB_STATUS_BUSY 
SRB_STATUS_INVALID_REQUEST 
SRB_STATUS_SELECTION_TIMEOUT 
SRB_SEE_SENSE 
TASK_ATTRIBUTE_SIMPLE 
TASK_ATTRIBUTE_HEADOFQUEUE 
TASK_ATTRIBUTE_ORDERED 
TASK_ATTRIBUTE_ACA 
SS_STS_NORMAL 
SS_STS_DONE 
SS_STS_HANDSHAKE 
SS_HEAD_HANDSHAKE 
SS_H2I_INT_RESET 
SS_I2H_REQUEST_RESET 
SS_MU_OPERATIONAL 
STEX_CDB_LENGTH 
STATUS_VAR_LEN 
SG_CF_EOT 
SG_CF_64B 
SG_CF_HOST 
MSG_DATA_DIR_ND 
MSG_DATA_DIR_IN 
MSG_DATA_DIR_OUT 
st_shasta 
st_vsc 
st_yosemite 
st_seq 
st_yel 
PASSTHRU_REQ_TYPE 
PASSTHRU_REQ_NO_WAKEUP 
ST_INTERNAL_TIMEOUT 
ST_TO_CMD 
ST_FROM_CMD 
MGT_CMD 
SINBAND_MGT_CMD 
ARRAY_CMD 
CONTROLLER_CMD 
DEBUGGING_CMD 
PASSTHRU_CMD 
PASSTHRU_GET_ADAPTER 
PASSTHRU_GET_DRVVER 
CTLR_CONFIG_CMD 
CTLR_SHUTDOWN 
CTLR_POWER_STATE_CHANGE 
CTLR_POWER_SAVING 
PASSTHRU_SIGNATURE 
MGT_CMD_SIGNATURE 
INQUIRY_EVPD 
ST_ADDITIONAL_MEM 
ST_ADDITIONAL_MEM_MIN 

Definition at line 46 of file stex.c.

Function Documentation

MODULE_AUTHOR ( "Ed Lin"  )
MODULE_DESCRIPTION ( "Promise Technology SuperTrak EX Controllers"  )
MODULE_DEVICE_TABLE ( pci  ,
stex_pci_tbl   
)
module_exit ( stex_exit  )
module_init ( stex_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( msi  ,
int  ,
 
)
MODULE_PARM_DESC ( msi  ,
"Enable Message Signaled Interrupts(0=off, 1=on)"   
)
MODULE_VERSION ( ST_DRIVER_VERSION  )