diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli4.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli4.h | 58 |
1 files changed, 38 insertions, 20 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli4.h b/drivers/scsi/lpfc/lpfc_sli4.h index c4483feb8b71..c7217d579e0f 100644 --- a/drivers/scsi/lpfc/lpfc_sli4.h +++ b/drivers/scsi/lpfc/lpfc_sli4.h | |||
@@ -137,9 +137,11 @@ struct lpfc_sli4_link { | |||
137 | uint8_t speed; | 137 | uint8_t speed; |
138 | uint8_t duplex; | 138 | uint8_t duplex; |
139 | uint8_t status; | 139 | uint8_t status; |
140 | uint8_t physical; | 140 | uint8_t type; |
141 | uint8_t number; | ||
141 | uint8_t fault; | 142 | uint8_t fault; |
142 | uint16_t logical_speed; | 143 | uint16_t logical_speed; |
144 | uint16_t topology; | ||
143 | }; | 145 | }; |
144 | 146 | ||
145 | struct lpfc_fcf_rec { | 147 | struct lpfc_fcf_rec { |
@@ -367,23 +369,39 @@ struct lpfc_sli4_hba { | |||
367 | PCI BAR1, control registers */ | 369 | PCI BAR1, control registers */ |
368 | void __iomem *drbl_regs_memmap_p; /* Kernel memory mapped address for | 370 | void __iomem *drbl_regs_memmap_p; /* Kernel memory mapped address for |
369 | PCI BAR2, doorbell registers */ | 371 | PCI BAR2, doorbell registers */ |
370 | /* BAR0 PCI config space register memory map */ | 372 | union { |
371 | void __iomem *UERRLOregaddr; /* Address to UERR_STATUS_LO register */ | 373 | struct { |
372 | void __iomem *UERRHIregaddr; /* Address to UERR_STATUS_HI register */ | 374 | /* IF Type 0, BAR 0 PCI cfg space reg mem map */ |
373 | void __iomem *UEMASKLOregaddr; /* Address to UE_MASK_LO register */ | 375 | void __iomem *UERRLOregaddr; |
374 | void __iomem *UEMASKHIregaddr; /* Address to UE_MASK_HI register */ | 376 | void __iomem *UERRHIregaddr; |
375 | void __iomem *SLIINTFregaddr; /* Address to SLI_INTF register */ | 377 | void __iomem *UEMASKLOregaddr; |
376 | /* BAR1 FCoE function CSR register memory map */ | 378 | void __iomem *UEMASKHIregaddr; |
377 | void __iomem *STAregaddr; /* Address to HST_STATE register */ | 379 | } if_type0; |
378 | void __iomem *ISRregaddr; /* Address to HST_ISR register */ | 380 | struct { |
379 | void __iomem *IMRregaddr; /* Address to HST_IMR register */ | 381 | /* IF Type 2, BAR 0 PCI cfg space reg mem map. */ |
380 | void __iomem *ISCRregaddr; /* Address to HST_ISCR register */ | 382 | void __iomem *STATUSregaddr; |
381 | /* BAR2 VF-0 doorbell register memory map */ | 383 | void __iomem *CTRLregaddr; |
382 | void __iomem *RQDBregaddr; /* Address to RQ_DOORBELL register */ | 384 | void __iomem *ERR1regaddr; |
383 | void __iomem *WQDBregaddr; /* Address to WQ_DOORBELL register */ | 385 | void __iomem *ERR2regaddr; |
384 | void __iomem *EQCQDBregaddr; /* Address to EQCQ_DOORBELL register */ | 386 | } if_type2; |
385 | void __iomem *MQDBregaddr; /* Address to MQ_DOORBELL register */ | 387 | } u; |
386 | void __iomem *BMBXregaddr; /* Address to BootStrap MBX register */ | 388 | |
389 | /* IF type 0, BAR1 and if type 2, Bar 0 CSR register memory map */ | ||
390 | void __iomem *PSMPHRregaddr; | ||
391 | |||
392 | /* Well-known SLI INTF register memory map. */ | ||
393 | void __iomem *SLIINTFregaddr; | ||
394 | |||
395 | /* IF type 0, BAR 1 function CSR register memory map */ | ||
396 | void __iomem *ISRregaddr; /* HST_ISR register */ | ||
397 | void __iomem *IMRregaddr; /* HST_IMR register */ | ||
398 | void __iomem *ISCRregaddr; /* HST_ISCR register */ | ||
399 | /* IF type 0, BAR 0 and if type 2, BAR 0 doorbell register memory map */ | ||
400 | void __iomem *RQDBregaddr; /* RQ_DOORBELL register */ | ||
401 | void __iomem *WQDBregaddr; /* WQ_DOORBELL register */ | ||
402 | void __iomem *EQCQDBregaddr; /* EQCQ_DOORBELL register */ | ||
403 | void __iomem *MQDBregaddr; /* MQ_DOORBELL register */ | ||
404 | void __iomem *BMBXregaddr; /* BootStrap MBX register */ | ||
387 | 405 | ||
388 | uint32_t ue_mask_lo; | 406 | uint32_t ue_mask_lo; |
389 | uint32_t ue_mask_hi; | 407 | uint32_t ue_mask_hi; |
@@ -466,6 +484,7 @@ struct lpfc_sglq { | |||
466 | struct list_head clist; | 484 | struct list_head clist; |
467 | enum lpfc_sge_type buff_type; /* is this a scsi sgl */ | 485 | enum lpfc_sge_type buff_type; /* is this a scsi sgl */ |
468 | enum lpfc_sgl_state state; | 486 | enum lpfc_sgl_state state; |
487 | struct lpfc_nodelist *ndlp; /* ndlp associated with IO */ | ||
469 | uint16_t iotag; /* pre-assigned IO tag */ | 488 | uint16_t iotag; /* pre-assigned IO tag */ |
470 | uint16_t sli4_xritag; /* pre-assigned XRI, (OXID) tag. */ | 489 | uint16_t sli4_xritag; /* pre-assigned XRI, (OXID) tag. */ |
471 | struct sli4_sge *sgl; /* pre-assigned SGL */ | 490 | struct sli4_sge *sgl; /* pre-assigned SGL */ |
@@ -532,7 +551,6 @@ int lpfc_sli4_post_all_rpi_hdrs(struct lpfc_hba *); | |||
532 | struct lpfc_rpi_hdr *lpfc_sli4_create_rpi_hdr(struct lpfc_hba *); | 551 | struct lpfc_rpi_hdr *lpfc_sli4_create_rpi_hdr(struct lpfc_hba *); |
533 | void lpfc_sli4_remove_rpi_hdrs(struct lpfc_hba *); | 552 | void lpfc_sli4_remove_rpi_hdrs(struct lpfc_hba *); |
534 | int lpfc_sli4_alloc_rpi(struct lpfc_hba *); | 553 | int lpfc_sli4_alloc_rpi(struct lpfc_hba *); |
535 | void __lpfc_sli4_free_rpi(struct lpfc_hba *, int); | ||
536 | void lpfc_sli4_free_rpi(struct lpfc_hba *, int); | 554 | void lpfc_sli4_free_rpi(struct lpfc_hba *, int); |
537 | void lpfc_sli4_remove_rpis(struct lpfc_hba *); | 555 | void lpfc_sli4_remove_rpis(struct lpfc_hba *); |
538 | void lpfc_sli4_async_event_proc(struct lpfc_hba *); | 556 | void lpfc_sli4_async_event_proc(struct lpfc_hba *); |
@@ -548,7 +566,7 @@ int lpfc_sli4_brdreset(struct lpfc_hba *); | |||
548 | int lpfc_sli4_add_fcf_record(struct lpfc_hba *, struct fcf_record *); | 566 | int lpfc_sli4_add_fcf_record(struct lpfc_hba *, struct fcf_record *); |
549 | void lpfc_sli_remove_dflt_fcf(struct lpfc_hba *); | 567 | void lpfc_sli_remove_dflt_fcf(struct lpfc_hba *); |
550 | int lpfc_sli4_get_els_iocb_cnt(struct lpfc_hba *); | 568 | int lpfc_sli4_get_els_iocb_cnt(struct lpfc_hba *); |
551 | int lpfc_sli4_init_vpi(struct lpfc_hba *, uint16_t); | 569 | int lpfc_sli4_init_vpi(struct lpfc_vport *); |
552 | uint32_t lpfc_sli4_cq_release(struct lpfc_queue *, bool); | 570 | uint32_t lpfc_sli4_cq_release(struct lpfc_queue *, bool); |
553 | uint32_t lpfc_sli4_eq_release(struct lpfc_queue *, bool); | 571 | uint32_t lpfc_sli4_eq_release(struct lpfc_queue *, bool); |
554 | void lpfc_sli4_fcfi_unreg(struct lpfc_hba *, uint16_t); | 572 | void lpfc_sli4_fcfi_unreg(struct lpfc_hba *, uint16_t); |