diff options
author | Seokmann Ju <seokmann.ju@qlogic.com> | 2007-07-05 16:16:51 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-07-14 20:08:05 -0400 |
commit | 2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 (patch) | |
tree | 8d95e2356c0f5121ceab48ab564d2796b6530d29 /drivers/scsi/qla2xxx/qla_gbl.h | |
parent | 968a5763fb7247feb0e69573a2975a7a0c094267 (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.h | 39 |
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; | |||
62 | extern int ql2xallocfwdump; | 62 | extern int ql2xallocfwdump; |
63 | extern int ql2xextended_error_logging; | 63 | extern int ql2xextended_error_logging; |
64 | extern int ql2xqfullrampup; | 64 | extern int ql2xqfullrampup; |
65 | extern int num_hosts; | ||
66 | |||
67 | /* | ||
68 | * Global Functions in qla_mid.c source file. | ||
69 | */ | ||
70 | extern struct scsi_host_template qla2x00_driver_template; | ||
71 | extern struct scsi_host_template qla24xx_driver_template; | ||
72 | extern struct scsi_transport_template *qla2xxx_transport_vport_template; | ||
73 | extern uint8_t qla2x00_mem_alloc(scsi_qla_host_t *); | ||
74 | extern void qla2x00_timer(scsi_qla_host_t *); | ||
75 | extern void qla2x00_start_timer(scsi_qla_host_t *, void *, unsigned long); | ||
76 | extern void qla2x00_stop_timer(scsi_qla_host_t *); | ||
77 | extern uint32_t qla24xx_allocate_vp_id(scsi_qla_host_t *); | ||
78 | extern void qla24xx_deallocate_vp_id(scsi_qla_host_t *); | ||
79 | extern int qla24xx_disable_vp (scsi_qla_host_t *); | ||
80 | extern int qla24xx_enable_vp (scsi_qla_host_t *); | ||
81 | extern void qla2x00_mem_free(scsi_qla_host_t *); | ||
82 | extern int qla24xx_control_vp(scsi_qla_host_t *, int ); | ||
83 | extern int qla24xx_modify_vp_config(scsi_qla_host_t *); | ||
84 | extern int qla2x00_send_change_request(scsi_qla_host_t *, uint16_t, uint16_t); | ||
85 | extern void qla2x00_vp_stop_timer(scsi_qla_host_t *); | ||
86 | extern int qla24xx_configure_vhba (scsi_qla_host_t *); | ||
87 | extern int qla24xx_get_vp_entry(scsi_qla_host_t *, uint16_t, int); | ||
88 | extern int qla24xx_get_vp_database(scsi_qla_host_t *, uint16_t); | ||
89 | extern int qla2x00_do_dpc_vp(scsi_qla_host_t *); | ||
90 | extern void qla24xx_report_id_acquisition(scsi_qla_host_t *, | ||
91 | struct vp_rpt_id_entry_24xx *); | ||
92 | extern scsi_qla_host_t * qla24xx_find_vhost_by_name(scsi_qla_host_t *, | ||
93 | uint8_t *); | ||
94 | extern void qla2x00_do_dpc_all_vps(scsi_qla_host_t *); | ||
95 | extern int qla24xx_vport_create_req_sanity_check(struct fc_vport *); | ||
96 | extern scsi_qla_host_t * qla24xx_create_vhost(struct fc_vport *); | ||
65 | 97 | ||
66 | extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *); | 98 | extern 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 *); | |||
77 | extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *); | 109 | extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *); |
78 | 110 | ||
79 | extern void qla2xxx_wake_dpc(scsi_qla_host_t *); | 111 | extern void qla2xxx_wake_dpc(scsi_qla_host_t *); |
112 | extern void qla2x00_alert_all_vps(scsi_qla_host_t *, uint16_t *); | ||
113 | extern void qla2x00_async_event(scsi_qla_host_t *, uint16_t *); | ||
114 | extern void qla2x00_vp_abort_isp(scsi_qla_host_t *); | ||
115 | extern 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 | ||
129 | extern int | 165 | extern int |
130 | qla2x00_get_adapter_id(scsi_qla_host_t *, uint16_t *, uint8_t *, uint8_t *, | 166 | qla2x00_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 | ||
133 | extern int | 169 | extern int |
134 | qla2x00_get_retry_cnt(scsi_qla_host_t *, uint8_t *, uint8_t *, uint16_t *); | 170 | qla2x00_get_retry_cnt(scsi_qla_host_t *, uint8_t *, uint8_t *, uint16_t *); |
@@ -303,6 +339,7 @@ struct class_device_attribute; | |||
303 | extern struct class_device_attribute *qla2x00_host_attrs[]; | 339 | extern struct class_device_attribute *qla2x00_host_attrs[]; |
304 | struct fc_function_template; | 340 | struct fc_function_template; |
305 | extern struct fc_function_template qla2xxx_transport_functions; | 341 | extern struct fc_function_template qla2xxx_transport_functions; |
342 | extern struct fc_function_template qla2xxx_transport_vport_functions; | ||
306 | extern void qla2x00_alloc_sysfs_attr(scsi_qla_host_t *); | 343 | extern void qla2x00_alloc_sysfs_attr(scsi_qla_host_t *); |
307 | extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *); | 344 | extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *); |
308 | extern void qla2x00_init_host_attr(scsi_qla_host_t *); | 345 | extern void qla2x00_init_host_attr(scsi_qla_host_t *); |