Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
fas216.c File Reference
#include <linux/module.h>
#include <linux/blkdev.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/proc_fs.h>
#include <linux/delay.h>
#include <linux/bitops.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/ecard.h>
#include "../scsi.h"
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_host.h>
#include "fas216.h"
#include "scsi.h"

Go to the source code of this file.

Macros

#define SCSI2_SYNC
 
#define LOG_CONNECT   (1 << 0)
 
#define LOG_BUSSERVICE   (1 << 1)
 
#define LOG_FUNCTIONDONE   (1 << 2)
 
#define LOG_MESSAGES   (1 << 3)
 
#define LOG_BUFFER   (1 << 4)
 
#define LOG_ERROR   (1 << 8)
 
#define fas216_checkmagic(info)
 
#define PH_SIZE   32
 
#define STATE(st, ph)   ((ph) << 3 | (st))
 
#define TYPE_OTHER   0
 
#define TYPE_RESET   1
 
#define TYPE_QUEUE   2
 
#define TYPE_UNKNOWN   0
 
#define TYPE_NCR53C90   1
 
#define TYPE_NCR53C90A   2
 
#define TYPE_NCR53C9x   3
 
#define TYPE_Am53CF94   4
 
#define TYPE_EmFAS216   5
 
#define TYPE_QLFAS216   6
 

Enumerations

enum  res_find { res_failed, res_success, res_hw_abort }
 

Functions

 module_param (level_mask, int, 0644)
 
 __setup ("fas216_logging=", fas216_log_setup)
 
irqreturn_t fas216_intr (FAS216_Info *info)
 
int fas216_eh_abort (struct scsi_cmnd *SCpnt)
 
int fas216_eh_device_reset (struct scsi_cmnd *SCpnt)
 
int fas216_eh_bus_reset (struct scsi_cmnd *SCpnt)
 
int fas216_eh_host_reset (struct scsi_cmnd *SCpnt)
 
int fas216_init (struct Scsi_Host *host)
 
int fas216_add (struct Scsi_Host *host, struct device *dev)
 
void fas216_remove (struct Scsi_Host *host)
 
void fas216_release (struct Scsi_Host *host)
 
int fas216_print_host (FAS216_Info *info, char *buffer)
 
int fas216_print_stats (FAS216_Info *info, char *buffer)
 
int fas216_print_devices (FAS216_Info *info, char *buffer)
 
 EXPORT_SYMBOL (fas216_init)
 
 EXPORT_SYMBOL (fas216_add)
 
 EXPORT_SYMBOL (fas216_queue_command)
 
 EXPORT_SYMBOL (fas216_noqueue_command)
 
 EXPORT_SYMBOL (fas216_intr)
 
 EXPORT_SYMBOL (fas216_remove)
 
 EXPORT_SYMBOL (fas216_release)
 
 EXPORT_SYMBOL (fas216_eh_abort)
 
 EXPORT_SYMBOL (fas216_eh_device_reset)
 
 EXPORT_SYMBOL (fas216_eh_bus_reset)
 
 EXPORT_SYMBOL (fas216_eh_host_reset)
 
 EXPORT_SYMBOL (fas216_print_host)
 
 EXPORT_SYMBOL (fas216_print_stats)
 
 EXPORT_SYMBOL (fas216_print_devices)
 
 MODULE_AUTHOR ("Russell King")
 
 MODULE_DESCRIPTION ("Generic FAS216/NCR53C9x driver core")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define fas216_checkmagic (   info)

Definition at line 245 of file fas216.c.

#define LOG_BUFFER   (1 << 4)

Definition at line 94 of file fas216.c.

#define LOG_BUSSERVICE   (1 << 1)

Definition at line 91 of file fas216.c.

#define LOG_CONNECT   (1 << 0)

Definition at line 90 of file fas216.c.

#define LOG_ERROR   (1 << 8)

Definition at line 95 of file fas216.c.

#define LOG_FUNCTIONDONE   (1 << 2)

Definition at line 92 of file fas216.c.

#define LOG_MESSAGES   (1 << 3)

Definition at line 93 of file fas216.c.

#define PH_SIZE   32

Definition at line 349 of file fas216.c.

#define SCSI2_SYNC

Definition at line 82 of file fas216.c.

#define STATE (   st,
  ph 
)    ((ph) << 3 | (st))
#define TYPE_Am53CF94   4

Definition at line 2697 of file fas216.c.

#define TYPE_EmFAS216   5

Definition at line 2698 of file fas216.c.

#define TYPE_NCR53C90   1

Definition at line 2694 of file fas216.c.

#define TYPE_NCR53C90A   2

Definition at line 2695 of file fas216.c.

#define TYPE_NCR53C9x   3

Definition at line 2696 of file fas216.c.

#define TYPE_OTHER   0
#define TYPE_QLFAS216   6

Definition at line 2699 of file fas216.c.

#define TYPE_QUEUE   2
#define TYPE_RESET   1
#define TYPE_UNKNOWN   0

Definition at line 2693 of file fas216.c.

Enumeration Type Documentation

enum res_find
Enumerator:
res_failed 
res_success 
res_hw_abort 

Definition at line 2337 of file fas216.c.

Function Documentation

__setup ( )
EXPORT_SYMBOL ( fas216_init  )
EXPORT_SYMBOL ( fas216_add  )
EXPORT_SYMBOL ( fas216_queue_command  )
EXPORT_SYMBOL ( fas216_noqueue_command  )
EXPORT_SYMBOL ( fas216_intr  )
EXPORT_SYMBOL ( fas216_remove  )
EXPORT_SYMBOL ( fas216_release  )
EXPORT_SYMBOL ( fas216_eh_abort  )
EXPORT_SYMBOL ( fas216_eh_device_reset  )
EXPORT_SYMBOL ( fas216_eh_bus_reset  )
EXPORT_SYMBOL ( fas216_eh_host_reset  )
EXPORT_SYMBOL ( fas216_print_host  )
EXPORT_SYMBOL ( fas216_print_stats  )
EXPORT_SYMBOL ( fas216_print_devices  )
int fas216_add ( struct Scsi_Host host,
struct device dev 
)

fas216_add - initialise FAS/NCR/AMD SCSI ic. : a driver-specific filled-out structure : parent device

Initialise FAS/NCR/AMD SCSI ic. Returns: 0 on success

Definition at line 2885 of file fas216.c.

int fas216_eh_abort ( struct scsi_cmnd SCpnt)

fas216_eh_abort - abort this command : command to abort

Abort this command. Returns: FAILED if unable to abort Notes: io_request_lock is taken, and irqs are disabled

Definition at line 2418 of file fas216.c.

int fas216_eh_bus_reset ( struct scsi_cmnd SCpnt)

fas216_eh_bus_reset - Reset the bus associated with the command : command specifing bus to reset

Reset the bus associated with the command. Returns: FAILED if unable to reset. Notes: Further commands are blocked.

Definition at line 2556 of file fas216.c.

int fas216_eh_device_reset ( struct scsi_cmnd SCpnt)

fas216_eh_device_reset - Reset the device associated with this command : command specifing device to reset

Reset the device associated with this command. Returns: FAILED if unable to reset. Notes: We won't be re-entered, so we'll only have one device reset on the go at one time.

Definition at line 2475 of file fas216.c.

int fas216_eh_host_reset ( struct scsi_cmnd SCpnt)

fas216_eh_host_reset - Reset the host associated with this command : command specifing host to reset

Reset the host associated with this command. Returns: FAILED if unable to reset. Notes: io_request_lock is taken, and irqs are disabled

Definition at line 2656 of file fas216.c.

int fas216_init ( struct Scsi_Host host)

fas216_init - initialise FAS/NCR/AMD SCSI structures. : a driver-specific filled-out structure

Initialise FAS/NCR/AMD SCSI structures. Returns: 0 on success

Definition at line 2840 of file fas216.c.

irqreturn_t fas216_intr ( FAS216_Info info)

fas216_intr - handle interrupts to progress a command : interface to service

Handle interrupts from the interface to progress a command

Definition at line 1625 of file fas216.c.

int fas216_print_devices ( FAS216_Info info,
char buffer 
)

Definition at line 2998 of file fas216.c.

int fas216_print_host ( FAS216_Info info,
char buffer 
)

Definition at line 2961 of file fas216.c.

int fas216_print_stats ( FAS216_Info info,
char buffer 
)

Definition at line 2973 of file fas216.c.

void fas216_release ( struct Scsi_Host host)

fas216_release - release all resources for FAS/NCR/AMD SCSI ic. : a driver-specific filled-out structure

release all resources and put everything to bed for FAS/NCR/AMD SCSI ic.

Definition at line 2953 of file fas216.c.

void fas216_remove ( struct Scsi_Host host)

Definition at line 2936 of file fas216.c.

MODULE_AUTHOR ( "Russell King"  )
MODULE_DESCRIPTION ( "Generic FAS216/NCR53C9x driver core )
MODULE_LICENSE ( "GPL"  )
module_param ( level_mask  ,
int  ,
0644   
)

Variable Documentation

Definition at line 364 of file fas216.c.

void* from

Definition at line 364 of file fas216.c.

int isr

Definition at line 351 of file fas216.c.

int ph

Definition at line 351 of file fas216.c.

int ssr

Definition at line 351 of file fas216.c.

Definition at line 351 of file fas216.c.