Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
bfad_im.h File Reference
#include "bfa_fcs.h"

Go to the source code of this file.

Data Structures

struct  bfad_itnim_data_s
 
struct  bfad_im_port_s
 
struct  bfad_itnim_s
 
struct  bfad_fcp_binding
 
struct  bfad_im_s
 

Macros

#define FCPI_NAME   " fcpim"
 
#define KOBJ_NAME_LEN   20
 
#define MAX_FCP_TARGET   1024
 
#define MAX_FCP_LUN   16384
 
#define BFAD_TARGET_RESET_TMO   60
 
#define BFAD_LUN_RESET_TMO   60
 
#define ScsiResult(host_code, scsi_code)   (((host_code) << 16) | scsi_code)
 
#define BFA_QUEUE_FULL_RAMP_UP_TIME   120
 
#define IO_DONE_BIT   0
 
#define bfad_get_aen_entry(_drv, _entry)
 
#define bfad_im_post_vendor_event(_entry, _drv, _cnt, _cat, _evt)
 
#define bfad_reset_sdev_bflags(__im_port, __lunmask_cfg)
 

Enumerations

enum  bfad_itnim_state {
  ITNIM_STATE_NONE, ITNIM_STATE_ONLINE, ITNIM_STATE_OFFLINE_PENDING, ITNIM_STATE_OFFLINE,
  ITNIM_STATE_TIMEOUT, ITNIM_STATE_FREE
}
 
enum  bfad_binding_type { FCP_PWWN_BINDING = 0x1, FCP_NWWN_BINDING = 0x2, FCP_FCID_BINDING = 0x3 }
 

Functions

bfa_status_t bfad_im_module_init (void)
 
void bfad_im_module_exit (void)
 
bfa_status_t bfad_im_probe (struct bfad_s *bfad)
 
void bfad_im_probe_undo (struct bfad_s *bfad)
 
bfa_status_t bfad_im_port_new (struct bfad_s *bfad, struct bfad_port_s *port)
 
void bfad_im_port_delete (struct bfad_s *bfad, struct bfad_port_s *port)
 
void bfad_im_port_clean (struct bfad_im_port_s *im_port)
 
int bfad_im_scsi_host_alloc (struct bfad_s *bfad, struct bfad_im_port_s *im_port, struct device *dev)
 
void bfad_im_scsi_host_free (struct bfad_s *bfad, struct bfad_im_port_s *im_port)
 
u32 bfad_im_supported_speeds (struct bfa_s *bfa)
 
struct Scsi_Hostbfad_scsi_host_alloc (struct bfad_im_port_s *im_port, struct bfad_s *)
 
bfa_status_t bfad_thread_workq (struct bfad_s *bfad)
 
void bfad_destroy_workq (struct bfad_im_s *im)
 
void bfad_fc_host_init (struct bfad_im_port_s *im_port)
 
void bfad_scsi_host_free (struct bfad_s *bfad, struct bfad_im_port_s *im_port)
 
void bfad_ramp_up_qdepth (struct bfad_itnim_s *itnim, struct scsi_device *sdev)
 
void bfad_handle_qfull (struct bfad_itnim_s *itnim, struct scsi_device *sdev)
 
struct bfad_itnim_sbfad_get_itnim (struct bfad_im_port_s *im_port, int id)
 
irqreturn_t bfad_intx (int irq, void *dev_id)
 
int bfad_im_bsg_request (struct fc_bsg_job *job)
 
int bfad_im_bsg_timeout (struct fc_bsg_job *job)
 

Variables

struct scsi_host_template bfad_im_scsi_host_template
 
struct scsi_host_template bfad_im_vport_template
 
struct fc_function_template bfad_im_fc_function_template
 
struct fc_function_template bfad_im_vport_fc_function_template
 
struct scsi_transport_templatebfad_im_scsi_transport_template
 
struct scsi_transport_templatebfad_im_scsi_vport_transport_template
 
struct device_attributebfad_im_host_attrs []
 
struct device_attributebfad_im_vport_attrs []
 

Macro Definition Documentation

#define BFA_QUEUE_FULL_RAMP_UP_TIME   120

Definition at line 47 of file bfad_im.h.

#define bfad_get_aen_entry (   _drv,
  _entry 
)
Value:
do { \
unsigned long _flags; \
spin_lock_irqsave(&(_drv)->bfad_aen_spinlock, _flags); \
bfa_q_deq(&(_drv)->free_aen_q, &(_entry)); \
if (_entry) \
list_add_tail(&(_entry)->qe, &(_drv)->active_aen_q); \
spin_unlock_irqrestore(&(_drv)->bfad_aen_spinlock, _flags); \
} while (0)

Definition at line 123 of file bfad_im.h.

#define bfad_im_post_vendor_event (   _entry,
  _drv,
  _cnt,
  _cat,
  _evt 
)
Value:
do { \
do_gettimeofday(&(_entry)->aen_tv); \
(_entry)->bfad_num = (_drv)->inst_no; \
(_entry)->seq_num = (_cnt); \
(_entry)->aen_category = (_cat); \
(_entry)->aen_type = (_evt); \
if ((_drv)->bfad_flags & BFAD_FC4_PROBE_DONE) \
queue_work((_drv)->im->drv_workq, \
&(_drv)->im->aen_im_notify_work); \
} while (0)

Definition at line 133 of file bfad_im.h.

#define BFAD_LUN_RESET_TMO   60

Definition at line 45 of file bfad_im.h.

#define bfad_reset_sdev_bflags (   __im_port,
  __lunmask_cfg 
)
Value:
do { \
list_for_each_entry(__itnim, &((__im_port)->itnim_mapped_list), \
__sdev = scsi_device_lookup((__im_port)->shost, \
__itnim->channel, \
__itnim->scsi_tgt_id, 0); \
if (__sdev) { \
if ((__lunmask_cfg) == BFA_TRUE) \
__sdev->sdev_bflags |= scan_flags; \
else \
__sdev->sdev_bflags &= ~scan_flags; \
scsi_device_put(__sdev); \
} \
} \
} while (0)

Definition at line 178 of file bfad_im.h.

#define BFAD_TARGET_RESET_TMO   60

Definition at line 44 of file bfad_im.h.

#define FCPI_NAME   " fcpim"

Definition at line 23 of file bfad_im.h.

#define IO_DONE_BIT   0

Definition at line 52 of file bfad_im.h.

#define KOBJ_NAME_LEN   20

Definition at line 26 of file bfad_im.h.

#define MAX_FCP_LUN   16384

Definition at line 43 of file bfad_im.h.

#define MAX_FCP_TARGET   1024

Definition at line 42 of file bfad_im.h.

#define ScsiResult (   host_code,
  scsi_code 
)    (((host_code) << 16) | scsi_code)

Definition at line 46 of file bfad_im.h.

Enumeration Type Documentation

Enumerator:
FCP_PWWN_BINDING 
FCP_NWWN_BINDING 
FCP_FCID_BINDING 

Definition at line 101 of file bfad_im.h.

Enumerator:
ITNIM_STATE_NONE 
ITNIM_STATE_ONLINE 
ITNIM_STATE_OFFLINE_PENDING 
ITNIM_STATE_OFFLINE 
ITNIM_STATE_TIMEOUT 
ITNIM_STATE_FREE 

Definition at line 71 of file bfad_im.h.

Function Documentation

void bfad_destroy_workq ( struct bfad_im_s im)

Definition at line 746 of file bfad_im.c.

void bfad_fc_host_init ( struct bfad_im_port_s im_port)

Definition at line 1021 of file bfad_im.c.

struct bfad_itnim_s* bfad_get_itnim ( struct bfad_im_port_s im_port,
int  id 
)
read

Definition at line 903 of file bfad_im.c.

void bfad_handle_qfull ( struct bfad_itnim_s itnim,
struct scsi_device sdev 
)

Definition at line 889 of file bfad_im.c.

int bfad_im_bsg_request ( struct fc_bsg_job job)

Definition at line 3482 of file bfad_bsg.c.

int bfad_im_bsg_timeout ( struct fc_bsg_job job)

Definition at line 3508 of file bfad_bsg.c.

void bfad_im_module_exit ( void  )

Definition at line 851 of file bfad_im.c.

bfa_status_t bfad_im_module_init ( void  )

Definition at line 833 of file bfad_im.c.

void bfad_im_port_clean ( struct bfad_im_port_s im_port)

Definition at line 642 of file bfad_im.c.

void bfad_im_port_delete ( struct bfad_s bfad,
struct bfad_port_s port 
)

Definition at line 633 of file bfad_im.c.

bfa_status_t bfad_im_port_new ( struct bfad_s bfad,
struct bfad_port_s port 
)

Definition at line 610 of file bfad_im.c.

bfa_status_t bfad_im_probe ( struct bfad_s bfad)

Definition at line 687 of file bfad_im.c.

void bfad_im_probe_undo ( struct bfad_s bfad)

Definition at line 708 of file bfad_im.c.

int bfad_im_scsi_host_alloc ( struct bfad_s bfad,
struct bfad_im_port_s im_port,
struct device dev 
)

Definition at line 520 of file bfad_im.c.

void bfad_im_scsi_host_free ( struct bfad_s bfad,
struct bfad_im_port_s im_port 
)

Definition at line 581 of file bfad_im.c.

u32 bfad_im_supported_speeds ( struct bfa_s bfa)

Definition at line 987 of file bfad_im.c.

irqreturn_t bfad_intx ( int  irq,
void dev_id 
)

Definition at line 1138 of file bfad.c.

void bfad_ramp_up_qdepth ( struct bfad_itnim_s itnim,
struct scsi_device sdev 
)

Definition at line 861 of file bfad_im.c.

struct Scsi_Host* bfad_scsi_host_alloc ( struct bfad_im_port_s im_port,
struct bfad_s  
)
read

Definition at line 718 of file bfad_im.c.

void bfad_scsi_host_free ( struct bfad_s bfad,
struct bfad_im_port_s im_port 
)

Definition at line 736 of file bfad_im.c.

bfa_status_t bfad_thread_workq ( struct bfad_s bfad)

Definition at line 756 of file bfad_im.c.

Variable Documentation

struct fc_function_template bfad_im_fc_function_template

Definition at line 621 of file bfad_attr.c.

struct device_attribute* bfad_im_host_attrs[]

Definition at line 989 of file bfad_attr.c.

struct scsi_host_template bfad_im_scsi_host_template

Definition at line 789 of file bfad_im.c.

struct scsi_transport_template* bfad_im_scsi_transport_template

Definition at line 31 of file bfad_im.c.

struct scsi_transport_template* bfad_im_scsi_vport_transport_template

Definition at line 32 of file bfad_im.c.

struct device_attribute* bfad_im_vport_attrs[]

Definition at line 1005 of file bfad_attr.c.

struct fc_function_template bfad_im_vport_fc_function_template

Definition at line 679 of file bfad_attr.c.

struct scsi_host_template bfad_im_vport_template

Definition at line 811 of file bfad_im.c.