aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_gbl.h
diff options
context:
space:
mode:
authorSeokmann Ju <seokmann.ju@qlogic.com>2007-07-05 16:16:51 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-07-14 20:08:05 -0400
commit2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 (patch)
tree8d95e2356c0f5121ceab48ab564d2796b6530d29 /drivers/scsi/qla2xxx/qla_gbl.h
parent968a5763fb7247feb0e69573a2975a7a0c094267 (diff)
[SCSI] qla2xxx: add support for NPIV
Following patch adds support for NPIV (N-Port ID Virtualization) to the qla2xxx. - supported within switched-fabric topologies only. - supports up to 63 virtual ports on each physical port. Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_gbl.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 74544ae4b0e2..b44eff2803ce 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -62,6 +62,38 @@ extern int ql2xfdmienable;
62extern int ql2xallocfwdump; 62extern int ql2xallocfwdump;
63extern int ql2xextended_error_logging; 63extern int ql2xextended_error_logging;
64extern int ql2xqfullrampup; 64extern int ql2xqfullrampup;
65extern int num_hosts;
66
67/*
68 * Global Functions in qla_mid.c source file.
69 */
70extern struct scsi_host_template qla2x00_driver_template;
71extern struct scsi_host_template qla24xx_driver_template;
72extern struct scsi_transport_template *qla2xxx_transport_vport_template;
73extern uint8_t qla2x00_mem_alloc(scsi_qla_host_t *);
74extern void qla2x00_timer(scsi_qla_host_t *);
75extern void qla2x00_start_timer(scsi_qla_host_t *, void *, unsigned long);
76extern void qla2x00_stop_timer(scsi_qla_host_t *);
77extern uint32_t qla24xx_allocate_vp_id(scsi_qla_host_t *);
78extern void qla24xx_deallocate_vp_id(scsi_qla_host_t *);
79extern int qla24xx_disable_vp (scsi_qla_host_t *);
80extern int qla24xx_enable_vp (scsi_qla_host_t *);
81extern void qla2x00_mem_free(scsi_qla_host_t *);
82extern int qla24xx_control_vp(scsi_qla_host_t *, int );
83extern int qla24xx_modify_vp_config(scsi_qla_host_t *);
84extern int qla2x00_send_change_request(scsi_qla_host_t *, uint16_t, uint16_t);
85extern void qla2x00_vp_stop_timer(scsi_qla_host_t *);
86extern int qla24xx_configure_vhba (scsi_qla_host_t *);
87extern int qla24xx_get_vp_entry(scsi_qla_host_t *, uint16_t, int);
88extern int qla24xx_get_vp_database(scsi_qla_host_t *, uint16_t);
89extern int qla2x00_do_dpc_vp(scsi_qla_host_t *);
90extern void qla24xx_report_id_acquisition(scsi_qla_host_t *,
91 struct vp_rpt_id_entry_24xx *);
92extern scsi_qla_host_t * qla24xx_find_vhost_by_name(scsi_qla_host_t *,
93 uint8_t *);
94extern void qla2x00_do_dpc_all_vps(scsi_qla_host_t *);
95extern int qla24xx_vport_create_req_sanity_check(struct fc_vport *);
96extern scsi_qla_host_t * qla24xx_create_vhost(struct fc_vport *);
65 97
66extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *); 98extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *);
67 99
@@ -77,6 +109,10 @@ extern struct fw_blob *qla2x00_request_firmware(scsi_qla_host_t *);
77extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *); 109extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *);
78 110
79extern void qla2xxx_wake_dpc(scsi_qla_host_t *); 111extern void qla2xxx_wake_dpc(scsi_qla_host_t *);
112extern void qla2x00_alert_all_vps(scsi_qla_host_t *, uint16_t *);
113extern void qla2x00_async_event(scsi_qla_host_t *, uint16_t *);
114extern void qla2x00_vp_abort_isp(scsi_qla_host_t *);
115extern int qla24xx_vport_delete(struct fc_vport *);
80 116
81/* 117/*
82 * Global Function Prototypes in qla_iocb.c source file. 118 * Global Function Prototypes in qla_iocb.c source file.
@@ -128,7 +164,7 @@ qla2x00_abort_target(fc_port_t *);
128 164
129extern int 165extern int
130qla2x00_get_adapter_id(scsi_qla_host_t *, uint16_t *, uint8_t *, uint8_t *, 166qla2x00_get_adapter_id(scsi_qla_host_t *, uint16_t *, uint8_t *, uint8_t *,
131 uint8_t *, uint16_t *); 167 uint8_t *, uint16_t *, uint16_t *);
132 168
133extern int 169extern int
134qla2x00_get_retry_cnt(scsi_qla_host_t *, uint8_t *, uint8_t *, uint16_t *); 170qla2x00_get_retry_cnt(scsi_qla_host_t *, uint8_t *, uint8_t *, uint16_t *);
@@ -303,6 +339,7 @@ struct class_device_attribute;
303extern struct class_device_attribute *qla2x00_host_attrs[]; 339extern struct class_device_attribute *qla2x00_host_attrs[];
304struct fc_function_template; 340struct fc_function_template;
305extern struct fc_function_template qla2xxx_transport_functions; 341extern struct fc_function_template qla2xxx_transport_functions;
342extern struct fc_function_template qla2xxx_transport_vport_functions;
306extern void qla2x00_alloc_sysfs_attr(scsi_qla_host_t *); 343extern void qla2x00_alloc_sysfs_attr(scsi_qla_host_t *);
307extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *); 344extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *);
308extern void qla2x00_init_host_attr(scsi_qla_host_t *); 345extern void qla2x00_init_host_attr(scsi_qla_host_t *);