diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 1cc23a69db5e..84b696463a58 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /******************************************************************* | 1 | /******************************************************************* |
2 | * This file is part of the Emulex Linux Device Driver for * | 2 | * This file is part of the Emulex Linux Device Driver for * |
3 | * Fibre Channel Host Bus Adapters. * | 3 | * Fibre Channel Host Bus Adapters. * |
4 | * Copyright (C) 2004-2009 Emulex. All rights reserved. * | 4 | * Copyright (C) 2004-2010 Emulex. All rights reserved. * |
5 | * EMULEX and SLI are trademarks of Emulex. * | 5 | * EMULEX and SLI are trademarks of Emulex. * |
6 | * www.emulex.com * | 6 | * www.emulex.com * |
7 | * Portions Copyright (C) 2004-2005 Christoph Hellwig * | 7 | * Portions Copyright (C) 2004-2005 Christoph Hellwig * |
@@ -315,6 +315,9 @@ struct lpfc_vport { | |||
315 | #define FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */ | 315 | #define FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */ |
316 | #define FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */ | 316 | #define FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */ |
317 | #define FC_VPORT_NEEDS_INIT_VPI 0x200000 /* Need to INIT_VPI before FDISC */ | 317 | #define FC_VPORT_NEEDS_INIT_VPI 0x200000 /* Need to INIT_VPI before FDISC */ |
318 | #define FC_VPORT_CVL_RCVD 0x400000 /* VLink failed due to CVL */ | ||
319 | #define FC_VFI_REGISTERED 0x800000 /* VFI is registered */ | ||
320 | #define FC_FDISC_COMPLETED 0x1000000/* FDISC completed */ | ||
318 | 321 | ||
319 | uint32_t ct_flags; | 322 | uint32_t ct_flags; |
320 | #define FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */ | 323 | #define FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */ |
@@ -448,6 +451,8 @@ struct unsol_rcv_ct_ctx { | |||
448 | uint32_t ctxt_id; | 451 | uint32_t ctxt_id; |
449 | uint32_t SID; | 452 | uint32_t SID; |
450 | uint32_t oxid; | 453 | uint32_t oxid; |
454 | uint32_t flags; | ||
455 | #define UNSOL_VALID 0x00000001 | ||
451 | }; | 456 | }; |
452 | 457 | ||
453 | struct lpfc_hba { | 458 | struct lpfc_hba { |
@@ -499,6 +504,10 @@ struct lpfc_hba { | |||
499 | (struct lpfc_hba *); | 504 | (struct lpfc_hba *); |
500 | void (*lpfc_stop_port) | 505 | void (*lpfc_stop_port) |
501 | (struct lpfc_hba *); | 506 | (struct lpfc_hba *); |
507 | int (*lpfc_hba_init_link) | ||
508 | (struct lpfc_hba *); | ||
509 | int (*lpfc_hba_down_link) | ||
510 | (struct lpfc_hba *); | ||
502 | 511 | ||
503 | 512 | ||
504 | /* SLI4 specific HBA data structure */ | 513 | /* SLI4 specific HBA data structure */ |
@@ -613,6 +622,7 @@ struct lpfc_hba { | |||
613 | uint32_t cfg_enable_bg; | 622 | uint32_t cfg_enable_bg; |
614 | uint32_t cfg_log_verbose; | 623 | uint32_t cfg_log_verbose; |
615 | uint32_t cfg_aer_support; | 624 | uint32_t cfg_aer_support; |
625 | uint32_t cfg_suppress_link_up; | ||
616 | 626 | ||
617 | lpfc_vpd_t vpd; /* vital product data */ | 627 | lpfc_vpd_t vpd; /* vital product data */ |
618 | 628 | ||
@@ -790,7 +800,7 @@ struct lpfc_hba { | |||
790 | uint16_t vlan_id; | 800 | uint16_t vlan_id; |
791 | struct list_head fcf_conn_rec_list; | 801 | struct list_head fcf_conn_rec_list; |
792 | 802 | ||
793 | struct mutex ct_event_mutex; /* synchronize access to ct_ev_waiters */ | 803 | spinlock_t ct_ev_lock; /* synchronize access to ct_ev_waiters */ |
794 | struct list_head ct_ev_waiters; | 804 | struct list_head ct_ev_waiters; |
795 | struct unsol_rcv_ct_ctx ct_ctx[64]; | 805 | struct unsol_rcv_ct_ctx ct_ctx[64]; |
796 | uint32_t ctx_idx; | 806 | uint32_t ctx_idx; |