diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 02d53d89534f..8ec2c86a49d4 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -41,6 +41,7 @@ struct lpfc_sli2_slim; | |||
41 | downloads using bsg */ | 41 | downloads using bsg */ |
42 | #define LPFC_DEFAULT_PROT_SG_SEG_CNT 4096 /* sg protection elements count */ | 42 | #define LPFC_DEFAULT_PROT_SG_SEG_CNT 4096 /* sg protection elements count */ |
43 | #define LPFC_MAX_SG_SEG_CNT 4096 /* sg element count per scsi cmnd */ | 43 | #define LPFC_MAX_SG_SEG_CNT 4096 /* sg element count per scsi cmnd */ |
44 | #define LPFC_MAX_SGE_SIZE 0x80000000 /* Maximum data allowed in a SGE */ | ||
44 | #define LPFC_MAX_PROT_SG_SEG_CNT 4096 /* prot sg element count per scsi cmd*/ | 45 | #define LPFC_MAX_PROT_SG_SEG_CNT 4096 /* prot sg element count per scsi cmd*/ |
45 | #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ | 46 | #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ |
46 | #define LPFC_Q_RAMP_UP_INTERVAL 120 /* lun q_depth ramp up interval */ | 47 | #define LPFC_Q_RAMP_UP_INTERVAL 120 /* lun q_depth ramp up interval */ |
@@ -486,6 +487,42 @@ struct unsol_rcv_ct_ctx { | |||
486 | (1 << LPFC_USER_LINK_SPEED_AUTO)) | 487 | (1 << LPFC_USER_LINK_SPEED_AUTO)) |
487 | #define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8, 10, 16" | 488 | #define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8, 10, 16" |
488 | 489 | ||
490 | enum nemb_type { | ||
491 | nemb_mse = 1, | ||
492 | nemb_hbd | ||
493 | }; | ||
494 | |||
495 | enum mbox_type { | ||
496 | mbox_rd = 1, | ||
497 | mbox_wr | ||
498 | }; | ||
499 | |||
500 | enum dma_type { | ||
501 | dma_mbox = 1, | ||
502 | dma_ebuf | ||
503 | }; | ||
504 | |||
505 | enum sta_type { | ||
506 | sta_pre_addr = 1, | ||
507 | sta_pos_addr | ||
508 | }; | ||
509 | |||
510 | struct lpfc_mbox_ext_buf_ctx { | ||
511 | uint32_t state; | ||
512 | #define LPFC_BSG_MBOX_IDLE 0 | ||
513 | #define LPFC_BSG_MBOX_HOST 1 | ||
514 | #define LPFC_BSG_MBOX_PORT 2 | ||
515 | #define LPFC_BSG_MBOX_DONE 3 | ||
516 | #define LPFC_BSG_MBOX_ABTS 4 | ||
517 | enum nemb_type nembType; | ||
518 | enum mbox_type mboxType; | ||
519 | uint32_t numBuf; | ||
520 | uint32_t mbxTag; | ||
521 | uint32_t seqNum; | ||
522 | struct lpfc_dmabuf *mbx_dmabuf; | ||
523 | struct list_head ext_dmabuf_list; | ||
524 | }; | ||
525 | |||
489 | struct lpfc_hba { | 526 | struct lpfc_hba { |
490 | /* SCSI interface function jump table entries */ | 527 | /* SCSI interface function jump table entries */ |
491 | int (*lpfc_new_scsi_buf) | 528 | int (*lpfc_new_scsi_buf) |
@@ -589,6 +626,7 @@ struct lpfc_hba { | |||
589 | 626 | ||
590 | MAILBOX_t *mbox; | 627 | MAILBOX_t *mbox; |
591 | uint32_t *mbox_ext; | 628 | uint32_t *mbox_ext; |
629 | struct lpfc_mbox_ext_buf_ctx mbox_ext_buf_ctx; | ||
592 | uint32_t ha_copy; | 630 | uint32_t ha_copy; |
593 | struct _PCB *pcb; | 631 | struct _PCB *pcb; |
594 | struct _IOCB *IOCBs; | 632 | struct _IOCB *IOCBs; |
@@ -659,6 +697,7 @@ struct lpfc_hba { | |||
659 | uint32_t cfg_hostmem_hgp; | 697 | uint32_t cfg_hostmem_hgp; |
660 | uint32_t cfg_log_verbose; | 698 | uint32_t cfg_log_verbose; |
661 | uint32_t cfg_aer_support; | 699 | uint32_t cfg_aer_support; |
700 | uint32_t cfg_sriov_nr_virtfn; | ||
662 | uint32_t cfg_iocb_cnt; | 701 | uint32_t cfg_iocb_cnt; |
663 | uint32_t cfg_suppress_link_up; | 702 | uint32_t cfg_suppress_link_up; |
664 | #define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ | 703 | #define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ |
@@ -706,7 +745,6 @@ struct lpfc_hba { | |||
706 | uint32_t *hbq_get; /* Host mem address of HBQ get ptrs */ | 745 | uint32_t *hbq_get; /* Host mem address of HBQ get ptrs */ |
707 | 746 | ||
708 | int brd_no; /* FC board number */ | 747 | int brd_no; /* FC board number */ |
709 | |||
710 | char SerialNumber[32]; /* adapter Serial Number */ | 748 | char SerialNumber[32]; /* adapter Serial Number */ |
711 | char OptionROMVersion[32]; /* adapter BIOS / Fcode version */ | 749 | char OptionROMVersion[32]; /* adapter BIOS / Fcode version */ |
712 | char ModelDesc[256]; /* Model Description */ | 750 | char ModelDesc[256]; /* Model Description */ |
@@ -778,6 +816,9 @@ struct lpfc_hba { | |||
778 | uint16_t vpi_base; | 816 | uint16_t vpi_base; |
779 | uint16_t vfi_base; | 817 | uint16_t vfi_base; |
780 | unsigned long *vpi_bmask; /* vpi allocation table */ | 818 | unsigned long *vpi_bmask; /* vpi allocation table */ |
819 | uint16_t *vpi_ids; | ||
820 | uint16_t vpi_count; | ||
821 | struct list_head lpfc_vpi_blk_list; | ||
781 | 822 | ||
782 | /* Data structure used by fabric iocb scheduler */ | 823 | /* Data structure used by fabric iocb scheduler */ |
783 | struct list_head fabric_iocb_list; | 824 | struct list_head fabric_iocb_list; |