Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
sym_glue.c File Reference
#include <linux/ctype.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/spinlock.h>
#include <scsi/scsi.h>
#include <scsi/scsi_tcq.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_transport.h>
#include "sym_glue.h"
#include "sym_nvram.h"

Go to the source code of this file.

Data Structures

struct  sym_ucmd
 
struct  sym_usrcmd
 
struct  info_str
 

Macros

#define NAME53C   "sym53c"
 
#define NAME53C8XX   "sym53c8xx"
 
#define SYM_UCMD_PTR(cmd)   ((struct sym_ucmd *)(&(cmd)->SCp))
 
#define SYM_SOFTC_PTR(cmd)   sym_get_hcb(cmd->device->host)
 
#define SYM_EH_ABORT   0
 
#define SYM_EH_DEVICE_RESET   1
 
#define SYM_EH_BUS_RESET   2
 
#define SYM_EH_HOST_RESET   3
 
#define WAIT_FOR_PCI_RECOVERY   35
 
#define UC_SETSYNC   10
 
#define UC_SETTAGS   11
 
#define UC_SETDEBUG   12
 
#define UC_SETWIDE   14
 
#define UC_SETFLAG   15
 
#define UC_SETVERBOSE   17
 
#define UC_RESETDEV   18
 
#define UC_CLEARDEV   19
 
#define SKIP_SPACES(ptr, len)
 
#define GET_INT_ARG(ptr, len, v)
 

Functions

 module_param_named (cmd_per_lun, sym_driver_setup.max_tag, ushort, 0)
 
 module_param_named (burst, sym_driver_setup.burst_order, byte, 0)
 
 module_param_named (led, sym_driver_setup.scsi_led, byte, 0)
 
 module_param_named (diff, sym_driver_setup.scsi_diff, byte, 0)
 
 module_param_named (irqm, sym_driver_setup.irq_mode, byte, 0)
 
 module_param_named (buschk, sym_driver_setup.scsi_bus_check, byte, 0)
 
 module_param_named (hostid, sym_driver_setup.host_id, byte, 0)
 
 module_param_named (verb, sym_driver_setup.verbose, byte, 0)
 
 module_param_named (debug, sym_debug_flags, uint, 0)
 
 module_param_named (settle, sym_driver_setup.settle_delay, byte, 0)
 
 module_param_named (nvram, sym_driver_setup.use_nvram, byte, 0)
 
 module_param_named (excl, excl_string, charp, 0)
 
 module_param_named (safe, safe_string, charp, 0)
 
 MODULE_PARM_DESC (cmd_per_lun,"The maximum number of tags to use by default")
 
 MODULE_PARM_DESC (burst,"Maximum burst. 0 to disable, 255 to read from registers")
 
 MODULE_PARM_DESC (led,"Set to 1 to enable LED support")
 
 MODULE_PARM_DESC (diff,"0 for no differential mode, 1 for BIOS, 2 for always, 3 for not GPIO3")
 
 MODULE_PARM_DESC (irqm,"0 for open drain, 1 to leave alone, 2 for totem pole")
 
 MODULE_PARM_DESC (buschk,"0 to not check, 1 for detach on error, 2 for warn on error")
 
 MODULE_PARM_DESC (hostid,"The SCSI ID to use for the host adapters")
 
 MODULE_PARM_DESC (verb,"0 for minimal verbosity, 1 for normal, 2 for excessive")
 
 MODULE_PARM_DESC (debug,"Set bits to enable debugging")
 
 MODULE_PARM_DESC (settle,"Settle delay in seconds. Default 3")
 
 MODULE_PARM_DESC (nvram,"Option currently not used")
 
 MODULE_PARM_DESC (excl,"List ioport addresses here to prevent controllers from being attached")
 
 MODULE_PARM_DESC (safe,"Set other settings to a \"safe mode\"")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (SYM_VERSION)
 
 MODULE_AUTHOR ("Matthew Wilcox <[email protected]>")
 
 MODULE_DESCRIPTION ("NCR, Symbios and LSI 8xx and 1010 PCI SCSI adapters")
 
void sym_xpt_done (struct sym_hcb *np, struct scsi_cmnd *cmd)
 
void sym_xpt_async_bus_reset (struct sym_hcb *np)
 
void sym_set_cam_result_error (struct sym_hcb *np, struct sym_ccb *cp, int resid)
 
int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
 
void sym_log_bus_error (struct Scsi_Host *shost)
 
 MODULE_DEVICE_TABLE (pci, sym2_id_table)
 
 module_init (sym2_init)
 
 module_exit (sym2_exit)
 

Variables

struct sym_driver_setup sym_driver_setup = SYM_LINUX_DRIVER_SETUP
 
unsigned int sym_debug_flags = 0
 

Macro Definition Documentation

#define GET_INT_ARG (   ptr,
  len,
  v 
)
Value:
if (!(arg_len = get_int_arg(ptr, len, &(v)))) \
return -EINVAL; \
ptr += arg_len; len -= arg_len;

Definition at line 1025 of file sym_glue.c.

#define NAME53C   "sym53c"

Definition at line 53 of file sym_glue.c.

#define NAME53C8XX   "sym53c8xx"

Definition at line 54 of file sym_glue.c.

#define SKIP_SPACES (   ptr,
  len 
)
Value:
if ((arg_len = sym_skip_spaces(ptr, len)) < 1) \
return -EINVAL; \
ptr += arg_len; len -= arg_len;

Definition at line 1020 of file sym_glue.c.

#define SYM_EH_ABORT   0

Definition at line 582 of file sym_glue.c.

#define SYM_EH_BUS_RESET   2

Definition at line 584 of file sym_glue.c.

#define SYM_EH_DEVICE_RESET   1

Definition at line 583 of file sym_glue.c.

#define SYM_EH_HOST_RESET   3

Definition at line 585 of file sym_glue.c.

#define SYM_SOFTC_PTR (   cmd)    sym_get_hcb(cmd->device->host)

Definition at line 135 of file sym_glue.c.

#define SYM_UCMD_PTR (   cmd)    ((struct sym_ucmd *)(&(cmd)->SCp))

Definition at line 134 of file sym_glue.c.

#define UC_CLEARDEV   19

Definition at line 907 of file sym_glue.c.

#define UC_RESETDEV   18

Definition at line 906 of file sym_glue.c.

#define UC_SETDEBUG   12

Definition at line 902 of file sym_glue.c.

#define UC_SETFLAG   15

Definition at line 904 of file sym_glue.c.

#define UC_SETSYNC   10

Definition at line 900 of file sym_glue.c.

#define UC_SETTAGS   11

Definition at line 901 of file sym_glue.c.

#define UC_SETVERBOSE   17

Definition at line 905 of file sym_glue.c.

#define UC_SETWIDE   14

Definition at line 903 of file sym_glue.c.

#define WAIT_FOR_PCI_RECOVERY   35

Function Documentation

MODULE_AUTHOR ( "Matthew Wilcox <[email protected]>"  )
MODULE_DESCRIPTION ( NCR,
Symbios and LSI 8xx and 1010 PCI SCSI adapters"   
)
MODULE_DEVICE_TABLE ( pci  ,
sym2_id_table   
)
module_exit ( sym2_exit  )
module_init ( sym2_init  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( cmd_per_lun  ,
sym_driver_setup.  max_tag,
ushort  ,
 
)
module_param_named ( burst  ,
sym_driver_setup.  burst_order,
byte  ,
 
)
module_param_named ( led  ,
sym_driver_setup.  scsi_led,
byte  ,
 
)
module_param_named ( diff  ,
sym_driver_setup.  scsi_diff,
byte  ,
 
)
module_param_named ( irqm  ,
sym_driver_setup.  irq_mode,
byte  ,
 
)
module_param_named ( buschk  ,
sym_driver_setup.  scsi_bus_check,
byte  ,
 
)
module_param_named ( hostid  ,
sym_driver_setup.  host_id,
byte  ,
 
)
module_param_named ( verb  ,
sym_driver_setup.  verbose,
byte  ,
 
)
module_param_named ( debug  ,
sym_debug_flags  ,
uint  ,
 
)
module_param_named ( settle  ,
sym_driver_setup.  settle_delay,
byte  ,
 
)
module_param_named ( nvram  ,
sym_driver_setup.  use_nvram,
byte  ,
 
)
module_param_named ( excl  ,
excl_string  ,
charp  ,
 
)
module_param_named ( safe  ,
safe_string  ,
charp  ,
 
)
MODULE_PARM_DESC ( cmd_per_lun  ,
"The maximum number of tags to use by default"   
)
MODULE_PARM_DESC ( burst  ,
"Maximum burst. 0 to  disable,
255 to read from registers  
)
MODULE_PARM_DESC ( led  ,
"Set to 1 to enable LED support  
)
MODULE_PARM_DESC ( diff  ,
"0 for no differential  mode,
1 for  BIOS,
2 for  always,
3 for not GPIO3  
)
MODULE_PARM_DESC ( irqm  ,
"0 for open  drain,
1 to leave  alone,
2 for totem pole"   
)
MODULE_PARM_DESC ( buschk  ,
"0 to not  check,
1 for detach on  error,
2 for warn on error  
)
MODULE_PARM_DESC ( hostid  ,
"The SCSI ID to use for the host adapters"   
)
MODULE_PARM_DESC ( verb  ,
"0 for minimal  verbosity,
1 for  normal,
2 for excessive"   
)
MODULE_PARM_DESC ( debug  ,
"Set bits to enable debugging"   
)
MODULE_PARM_DESC ( settle  ,
"Settle delay in seconds. Default 3"   
)
MODULE_PARM_DESC ( nvram  ,
"Option currently not used  
)
MODULE_PARM_DESC ( excl  ,
"List ioport addresses here to prevent controllers from being attached  
)
MODULE_PARM_DESC ( safe  ,
"Set other settings to a \"safe mode\""   
)
MODULE_VERSION ( SYM_VERSION  )
void sym_log_bus_error ( struct Scsi_Host shost)

Definition at line 491 of file sym_glue.c.

void sym_set_cam_result_error ( struct sym_hcb np,
struct sym_ccb cp,
int  resid 
)

Definition at line 187 of file sym_glue.c.

int sym_setup_data_and_start ( struct sym_hcb np,
struct scsi_cmnd cmd,
struct sym_ccb cp 
)

Definition at line 345 of file sym_glue.c.

void sym_xpt_async_bus_reset ( struct sym_hcb np)

Definition at line 155 of file sym_glue.c.

void sym_xpt_done ( struct sym_hcb np,
struct scsi_cmnd cmd 
)

Definition at line 140 of file sym_glue.c.

Variable Documentation

unsigned int sym_debug_flags = 0

Definition at line 57 of file sym_glue.c.

Definition at line 56 of file sym_glue.c.