aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc.h
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-01-18 16:25:09 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-02-19 09:08:52 -0500
commitacd6859b084d1e1b3ec8bc9befe6532223260d33 (patch)
treee06983f9b080226622fa06c071f3223caac4c7fd /drivers/scsi/lpfc/lpfc.h
parent6b5151fd7baec6812fece993ddd7a2cf9fd0125f (diff)
[SCSI] lpfc 8.3.29: T10 Diff fixes and enhancements
T10 Diff fixes and enhancements: - Add SLI4 Lancer support for T10 DIF / BlockGuard (121980) - Fix SLI4 BlockGuard behavior when protection data is generated by HBA (121980) - Enhance debugfs for injecting T10 DIF errors (123966, 132966) - Fix Incorrect usage of bghm for BlockGuard errors (127022) Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r--drivers/scsi/lpfc/lpfc.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
index 825f9307417a..5fc044ff656e 100644
--- a/drivers/scsi/lpfc/lpfc.h
+++ b/drivers/scsi/lpfc/lpfc.h
@@ -534,6 +534,7 @@ struct lpfc_hba {
534 void (*lpfc_scsi_prep_cmnd) 534 void (*lpfc_scsi_prep_cmnd)
535 (struct lpfc_vport *, struct lpfc_scsi_buf *, 535 (struct lpfc_vport *, struct lpfc_scsi_buf *,
536 struct lpfc_nodelist *); 536 struct lpfc_nodelist *);
537
537 /* IOCB interface function jump table entries */ 538 /* IOCB interface function jump table entries */
538 int (*__lpfc_sli_issue_iocb) 539 int (*__lpfc_sli_issue_iocb)
539 (struct lpfc_hba *, uint32_t, 540 (struct lpfc_hba *, uint32_t,
@@ -541,8 +542,6 @@ struct lpfc_hba {
541 void (*__lpfc_sli_release_iocbq)(struct lpfc_hba *, 542 void (*__lpfc_sli_release_iocbq)(struct lpfc_hba *,
542 struct lpfc_iocbq *); 543 struct lpfc_iocbq *);
543 int (*lpfc_hba_down_post)(struct lpfc_hba *phba); 544 int (*lpfc_hba_down_post)(struct lpfc_hba *phba);
544
545
546 IOCB_t * (*lpfc_get_iocb_from_iocbq) 545 IOCB_t * (*lpfc_get_iocb_from_iocbq)
547 (struct lpfc_iocbq *); 546 (struct lpfc_iocbq *);
548 void (*lpfc_scsi_cmd_iocb_cmpl) 547 void (*lpfc_scsi_cmd_iocb_cmpl)
@@ -551,10 +550,12 @@ struct lpfc_hba {
551 /* MBOX interface function jump table entries */ 550 /* MBOX interface function jump table entries */
552 int (*lpfc_sli_issue_mbox) 551 int (*lpfc_sli_issue_mbox)
553 (struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); 552 (struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t);
553
554 /* Slow-path IOCB process function jump table entries */ 554 /* Slow-path IOCB process function jump table entries */
555 void (*lpfc_sli_handle_slow_ring_event) 555 void (*lpfc_sli_handle_slow_ring_event)
556 (struct lpfc_hba *phba, struct lpfc_sli_ring *pring, 556 (struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
557 uint32_t mask); 557 uint32_t mask);
558
558 /* INIT device interface function jump table entries */ 559 /* INIT device interface function jump table entries */
559 int (*lpfc_sli_hbq_to_firmware) 560 int (*lpfc_sli_hbq_to_firmware)
560 (struct lpfc_hba *, uint32_t, struct hbq_dmabuf *); 561 (struct lpfc_hba *, uint32_t, struct hbq_dmabuf *);
@@ -573,6 +574,10 @@ struct lpfc_hba {
573 int (*lpfc_selective_reset) 574 int (*lpfc_selective_reset)
574 (struct lpfc_hba *); 575 (struct lpfc_hba *);
575 576
577 int (*lpfc_bg_scsi_prep_dma_buf)
578 (struct lpfc_hba *, struct lpfc_scsi_buf *);
579 /* Add new entries here */
580
576 /* SLI4 specific HBA data structure */ 581 /* SLI4 specific HBA data structure */
577 struct lpfc_sli4_hba sli4_hba; 582 struct lpfc_sli4_hba sli4_hba;
578 583
@@ -838,6 +843,7 @@ struct lpfc_hba {
838 struct dentry *debug_writeGuard; /* inject write guard_tag errors */ 843 struct dentry *debug_writeGuard; /* inject write guard_tag errors */
839 struct dentry *debug_writeApp; /* inject write app_tag errors */ 844 struct dentry *debug_writeApp; /* inject write app_tag errors */
840 struct dentry *debug_writeRef; /* inject write ref_tag errors */ 845 struct dentry *debug_writeRef; /* inject write ref_tag errors */
846 struct dentry *debug_readGuard; /* inject read guard_tag errors */
841 struct dentry *debug_readApp; /* inject read app_tag errors */ 847 struct dentry *debug_readApp; /* inject read app_tag errors */
842 struct dentry *debug_readRef; /* inject read ref_tag errors */ 848 struct dentry *debug_readRef; /* inject read ref_tag errors */
843 849
@@ -845,10 +851,11 @@ struct lpfc_hba {
845 uint32_t lpfc_injerr_wgrd_cnt; 851 uint32_t lpfc_injerr_wgrd_cnt;
846 uint32_t lpfc_injerr_wapp_cnt; 852 uint32_t lpfc_injerr_wapp_cnt;
847 uint32_t lpfc_injerr_wref_cnt; 853 uint32_t lpfc_injerr_wref_cnt;
854 uint32_t lpfc_injerr_rgrd_cnt;
848 uint32_t lpfc_injerr_rapp_cnt; 855 uint32_t lpfc_injerr_rapp_cnt;
849 uint32_t lpfc_injerr_rref_cnt; 856 uint32_t lpfc_injerr_rref_cnt;
850 sector_t lpfc_injerr_lba; 857 sector_t lpfc_injerr_lba;
851#define LPFC_INJERR_LBA_OFF (sector_t)0xffffffffffffffff 858#define LPFC_INJERR_LBA_OFF (sector_t)(-1)
852 859
853 struct dentry *debug_slow_ring_trc; 860 struct dentry *debug_slow_ring_trc;
854 struct lpfc_debugfs_trc *slow_ring_trc; 861 struct lpfc_debugfs_trc *slow_ring_trc;