diff options
author | Seokmann Ju <seokmann.ju@qlogic.com> | 2007-07-05 22:16:51 +0200 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-07-15 02:08:05 +0200 |
commit | 2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 (patch) | |
tree | 8d95e2356c0f5121ceab48ab564d2796b6530d29 /drivers/scsi/qla2xxx/qla_gbl.h | |
parent | [SCSI] stex: use resid for xfer len information (diff) | |
download | linux-2c3dfe3f6ad8daff5acdb01713e4f2b116e78136.tar.xz linux-2c3dfe3f6ad8daff5acdb01713e4f2b116e78136.zip |
[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; extern int ql2xallocfwdump; extern int ql2xextended_error_logging; extern int ql2xqfullrampup; +extern int num_hosts; + +/* + * Global Functions in qla_mid.c source file. + */ +extern struct scsi_host_template qla2x00_driver_template; +extern struct scsi_host_template qla24xx_driver_template; +extern struct scsi_transport_template *qla2xxx_transport_vport_template; +extern uint8_t qla2x00_mem_alloc(scsi_qla_host_t *); +extern void qla2x00_timer(scsi_qla_host_t *); +extern void qla2x00_start_timer(scsi_qla_host_t *, void *, unsigned long); +extern void qla2x00_stop_timer(scsi_qla_host_t *); +extern uint32_t qla24xx_allocate_vp_id(scsi_qla_host_t *); +extern void qla24xx_deallocate_vp_id(scsi_qla_host_t *); +extern int qla24xx_disable_vp (scsi_qla_host_t *); +extern int qla24xx_enable_vp (scsi_qla_host_t *); +extern void qla2x00_mem_free(scsi_qla_host_t *); +extern int qla24xx_control_vp(scsi_qla_host_t *, int ); +extern int qla24xx_modify_vp_config(scsi_qla_host_t *); +extern int qla2x00_send_change_request(scsi_qla_host_t *, uint16_t, uint16_t); +extern void qla2x00_vp_stop_timer(scsi_qla_host_t *); +extern int qla24xx_configure_vhba (scsi_qla_host_t *); +extern int qla24xx_get_vp_entry(scsi_qla_host_t *, uint16_t, int); +extern int qla24xx_get_vp_database(scsi_qla_host_t *, uint16_t); +extern int qla2x00_do_dpc_vp(scsi_qla_host_t *); +extern void qla24xx_report_id_acquisition(scsi_qla_host_t *, + struct vp_rpt_id_entry_24xx *); +extern scsi_qla_host_t * qla24xx_find_vhost_by_name(scsi_qla_host_t *, + uint8_t *); +extern void qla2x00_do_dpc_all_vps(scsi_qla_host_t *); +extern int qla24xx_vport_create_req_sanity_check(struct fc_vport *); +extern scsi_qla_host_t * qla24xx_create_vhost(struct fc_vport *); extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *); @@ -77,6 +109,10 @@ extern struct fw_blob *qla2x00_request_firmware(scsi_qla_host_t *); extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *); extern void qla2xxx_wake_dpc(scsi_qla_host_t *); +extern void qla2x00_alert_all_vps(scsi_qla_host_t *, uint16_t *); +extern void qla2x00_async_event(scsi_qla_host_t *, uint16_t *); +extern void qla2x00_vp_abort_isp(scsi_qla_host_t *); +extern int qla24xx_vport_delete(struct fc_vport *); /* * Global Function Prototypes in qla_iocb.c source file. @@ -128,7 +164,7 @@ qla2x00_abort_target(fc_port_t *); extern int qla2x00_get_adapter_id(scsi_qla_host_t *, uint16_t *, uint8_t *, uint8_t *, - uint8_t *, uint16_t *); + uint8_t *, uint16_t *, uint16_t *); extern int qla2x00_get_retry_cnt(scsi_qla_host_t *, uint8_t *, uint8_t *, uint16_t *); @@ -303,6 +339,7 @@ struct class_device_attribute; extern struct class_device_attribute *qla2x00_host_attrs[]; struct fc_function_template; extern struct fc_function_template qla2xxx_transport_functions; +extern struct fc_function_template qla2xxx_transport_vport_functions; extern void qla2x00_alloc_sysfs_attr(scsi_qla_host_t *); extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *); extern void qla2x00_init_host_attr(scsi_qla_host_t *); |