diff options
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 6 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 2 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 1 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_ct.c | 4 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_debugfs.c | 8 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 32 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw.h | 10 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 4 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.c | 4 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.h | 2 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_vport.c | 4 |
11 files changed, 23 insertions, 54 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index c28db0521c01..ba3ecab9baf3 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -45,7 +45,7 @@ struct lpfc_sli2_slim; | |||
45 | #define LPFC_DISC_IOCB_BUFF_COUNT 20 | 45 | #define LPFC_DISC_IOCB_BUFF_COUNT 20 |
46 | 46 | ||
47 | #define LPFC_HB_MBOX_INTERVAL 5 /* Heart beat interval in seconds. */ | 47 | #define LPFC_HB_MBOX_INTERVAL 5 /* Heart beat interval in seconds. */ |
48 | #define LPFC_HB_MBOX_TIMEOUT 30 /* Heart beat timeout in seconds. */ | 48 | #define LPFC_HB_MBOX_TIMEOUT 30 /* Heart beat timeout in seconds. */ |
49 | 49 | ||
50 | /* Define macros for 64 bit support */ | 50 | /* Define macros for 64 bit support */ |
51 | #define putPaddrLow(addr) ((uint32_t) (0xffffffff & (u64)(addr))) | 51 | #define putPaddrLow(addr) ((uint32_t) (0xffffffff & (u64)(addr))) |
@@ -381,7 +381,7 @@ struct lpfc_hba { | |||
381 | struct lpfc_sli sli; | 381 | struct lpfc_sli sli; |
382 | uint32_t sli_rev; /* SLI2 or SLI3 */ | 382 | uint32_t sli_rev; /* SLI2 or SLI3 */ |
383 | uint32_t sli3_options; /* Mask of enabled SLI3 options */ | 383 | uint32_t sli3_options; /* Mask of enabled SLI3 options */ |
384 | #define LPFC_SLI3_ENABLED 0x01 | 384 | #define LPFC_SLI3_ENABLED 0x01 |
385 | #define LPFC_SLI3_HBQ_ENABLED 0x02 | 385 | #define LPFC_SLI3_HBQ_ENABLED 0x02 |
386 | #define LPFC_SLI3_NPIV_ENABLED 0x04 | 386 | #define LPFC_SLI3_NPIV_ENABLED 0x04 |
387 | #define LPFC_SLI3_VPORT_TEARDOWN 0x08 | 387 | #define LPFC_SLI3_VPORT_TEARDOWN 0x08 |
@@ -390,7 +390,7 @@ struct lpfc_hba { | |||
390 | 390 | ||
391 | enum hba_state link_state; | 391 | enum hba_state link_state; |
392 | uint32_t link_flag; /* link state flags */ | 392 | uint32_t link_flag; /* link state flags */ |
393 | #define LS_LOOPBACK_MODE 0x1 /* NPort is in Loopback mode */ | 393 | #define LS_LOOPBACK_MODE 0x1 /* NPort is in Loopback mode */ |
394 | /* This flag is set while issuing */ | 394 | /* This flag is set while issuing */ |
395 | /* INIT_LINK mailbox command */ | 395 | /* INIT_LINK mailbox command */ |
396 | #define LS_NPIV_FAB_SUPPORTED 0x2 /* Fabric supports NPIV */ | 396 | #define LS_NPIV_FAB_SUPPORTED 0x2 /* Fabric supports NPIV */ |
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 09743d7b6bab..80a11218b9bb 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
@@ -430,7 +430,7 @@ lpfc_board_mode_store(struct class_device *cdev, const char *buf, size_t count) | |||
430 | return -EIO; | 430 | return -EIO; |
431 | } | 431 | } |
432 | 432 | ||
433 | int | 433 | static int |
434 | lpfc_get_hba_info(struct lpfc_hba *phba, | 434 | lpfc_get_hba_info(struct lpfc_hba *phba, |
435 | uint32_t *mxri, uint32_t *axri, | 435 | uint32_t *mxri, uint32_t *axri, |
436 | uint32_t *mrpi, uint32_t *arpi, | 436 | uint32_t *mrpi, uint32_t *arpi, |
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index b789355fedf5..a599e1510710 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -278,6 +278,7 @@ extern void lpfc_debugfs_disc_trc(struct lpfc_vport *, int, char *, uint32_t, | |||
278 | uint32_t, uint32_t); | 278 | uint32_t, uint32_t); |
279 | extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t, | 279 | extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t, |
280 | uint32_t, uint32_t); | 280 | uint32_t, uint32_t); |
281 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; | ||
281 | 282 | ||
282 | /* Interface exported by fabric iocb scheduler */ | 283 | /* Interface exported by fabric iocb scheduler */ |
283 | int lpfc_issue_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *); | 284 | int lpfc_issue_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *); |
diff --git a/drivers/scsi/lpfc/lpfc_ct.c b/drivers/scsi/lpfc/lpfc_ct.c index 6f187f3b3048..c701e4d611a9 100644 --- a/drivers/scsi/lpfc/lpfc_ct.c +++ b/drivers/scsi/lpfc/lpfc_ct.c | |||
@@ -688,7 +688,7 @@ out: | |||
688 | return; | 688 | return; |
689 | } | 689 | } |
690 | 690 | ||
691 | void | 691 | static void |
692 | lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | 692 | lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, |
693 | struct lpfc_iocbq *rspiocb) | 693 | struct lpfc_iocbq *rspiocb) |
694 | { | 694 | { |
@@ -885,7 +885,7 @@ lpfc_cmpl_ct_cmd_rff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
885 | return; | 885 | return; |
886 | } | 886 | } |
887 | 887 | ||
888 | int | 888 | static int |
889 | lpfc_vport_symbolic_port_name(struct lpfc_vport *vport, char *symbol, | 889 | lpfc_vport_symbolic_port_name(struct lpfc_vport *vport, char *symbol, |
890 | size_t size) | 890 | size_t size) |
891 | { | 891 | { |
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c index 697a09dccb6f..2e3c01bebed6 100644 --- a/drivers/scsi/lpfc/lpfc_debugfs.c +++ b/drivers/scsi/lpfc/lpfc_debugfs.c | |||
@@ -112,10 +112,8 @@ struct lpfc_debug { | |||
112 | int len; | 112 | int len; |
113 | }; | 113 | }; |
114 | 114 | ||
115 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; | 115 | static atomic_t lpfc_debugfs_seq_trc_cnt = ATOMIC_INIT(0); |
116 | 116 | static unsigned long lpfc_debugfs_start_time = 0L; | |
117 | atomic_t lpfc_debugfs_seq_trc_cnt = ATOMIC_INIT(0); | ||
118 | unsigned long lpfc_debugfs_start_time = 0L; | ||
119 | 117 | ||
120 | static int | 118 | static int |
121 | lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size) | 119 | lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size) |
@@ -201,7 +199,7 @@ lpfc_debugfs_slow_ring_trc_data(struct lpfc_hba *phba, char *buf, int size) | |||
201 | return len; | 199 | return len; |
202 | } | 200 | } |
203 | 201 | ||
204 | int lpfc_debugfs_last_hbq = -1; | 202 | static int lpfc_debugfs_last_hbq = -1; |
205 | 203 | ||
206 | static int | 204 | static int |
207 | lpfc_debugfs_hbqinfo_data(struct lpfc_hba *phba, char *buf, int size) | 205 | lpfc_debugfs_hbqinfo_data(struct lpfc_hba *phba, char *buf, int size) |
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 8788f14b1dec..c81c2b3228d6 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -349,7 +349,7 @@ lpfc_work_list_done(struct lpfc_hba *phba) | |||
349 | 349 | ||
350 | } | 350 | } |
351 | 351 | ||
352 | void | 352 | static void |
353 | lpfc_work_done(struct lpfc_hba *phba) | 353 | lpfc_work_done(struct lpfc_hba *phba) |
354 | { | 354 | { |
355 | struct lpfc_sli_ring *pring; | 355 | struct lpfc_sli_ring *pring; |
@@ -1591,7 +1591,7 @@ lpfc_nlp_state_name(char *buffer, size_t size, int state) | |||
1591 | [NLP_STE_NPR_NODE] = "NPR", | 1591 | [NLP_STE_NPR_NODE] = "NPR", |
1592 | }; | 1592 | }; |
1593 | 1593 | ||
1594 | if (state < ARRAY_SIZE(states) && states[state]) | 1594 | if (state < NLP_STE_MAX_STATE && states[state]) |
1595 | strlcpy(buffer, states[state], size); | 1595 | strlcpy(buffer, states[state], size); |
1596 | else | 1596 | else |
1597 | snprintf(buffer, size, "unknown (%d)", state); | 1597 | snprintf(buffer, size, "unknown (%d)", state); |
@@ -2815,32 +2815,6 @@ lpfc_findnode_wwpn(struct lpfc_vport *vport, struct lpfc_name *wwpn) | |||
2815 | } | 2815 | } |
2816 | 2816 | ||
2817 | void | 2817 | void |
2818 | lpfc_dev_loss_delay(unsigned long ptr) | ||
2819 | { | ||
2820 | struct lpfc_nodelist *ndlp = (struct lpfc_nodelist *) ptr; | ||
2821 | struct lpfc_vport *vport = ndlp->vport; | ||
2822 | struct lpfc_hba *phba = vport->phba; | ||
2823 | struct lpfc_work_evt *evtp = &ndlp->dev_loss_evt; | ||
2824 | unsigned long flags; | ||
2825 | |||
2826 | evtp = &ndlp->dev_loss_evt; | ||
2827 | |||
2828 | spin_lock_irqsave(&phba->hbalock, flags); | ||
2829 | if (!list_empty(&evtp->evt_listp)) { | ||
2830 | spin_unlock_irqrestore(&phba->hbalock, flags); | ||
2831 | return; | ||
2832 | } | ||
2833 | |||
2834 | evtp->evt_arg1 = ndlp; | ||
2835 | evtp->evt = LPFC_EVT_DEV_LOSS_DELAY; | ||
2836 | list_add_tail(&evtp->evt_listp, &phba->work_list); | ||
2837 | if (phba->work_wait) | ||
2838 | lpfc_worker_wake_up(phba); | ||
2839 | spin_unlock_irqrestore(&phba->hbalock, flags); | ||
2840 | return; | ||
2841 | } | ||
2842 | |||
2843 | void | ||
2844 | lpfc_nlp_init(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | 2818 | lpfc_nlp_init(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, |
2845 | uint32_t did) | 2819 | uint32_t did) |
2846 | { | 2820 | { |
@@ -2863,7 +2837,7 @@ lpfc_nlp_init(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | |||
2863 | return; | 2837 | return; |
2864 | } | 2838 | } |
2865 | 2839 | ||
2866 | void | 2840 | static void |
2867 | lpfc_nlp_release(struct kref *kref) | 2841 | lpfc_nlp_release(struct kref *kref) |
2868 | { | 2842 | { |
2869 | struct lpfc_nodelist *ndlp = container_of(kref, struct lpfc_nodelist, | 2843 | struct lpfc_nodelist *ndlp = container_of(kref, struct lpfc_nodelist, |
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index a90b1fd9c760..451accd5564b 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
@@ -809,7 +809,7 @@ typedef struct _RNID { /* Structure is in Big Endian format */ | |||
809 | } un; | 809 | } un; |
810 | } RNID; | 810 | } RNID; |
811 | 811 | ||
812 | typedef struct _RPS { /* Structure is in Big Endian format */ | 812 | typedef struct _RPS { /* Structure is in Big Endian format */ |
813 | union { | 813 | union { |
814 | uint32_t portNum; | 814 | uint32_t portNum; |
815 | struct lpfc_name portName; | 815 | struct lpfc_name portName; |
@@ -827,7 +827,7 @@ typedef struct _RPS_RSP { /* Structure is in Big Endian format */ | |||
827 | uint32_t crcCnt; | 827 | uint32_t crcCnt; |
828 | } RPS_RSP; | 828 | } RPS_RSP; |
829 | 829 | ||
830 | typedef struct _RPL { /* Structure is in Big Endian format */ | 830 | typedef struct _RPL { /* Structure is in Big Endian format */ |
831 | uint32_t maxsize; | 831 | uint32_t maxsize; |
832 | uint32_t index; | 832 | uint32_t index; |
833 | } RPL; | 833 | } RPL; |
@@ -838,7 +838,7 @@ typedef struct _PORT_NUM_BLK { | |||
838 | struct lpfc_name portName; | 838 | struct lpfc_name portName; |
839 | } PORT_NUM_BLK; | 839 | } PORT_NUM_BLK; |
840 | 840 | ||
841 | typedef struct _RPL_RSP { /* Structure is in Big Endian format */ | 841 | typedef struct _RPL_RSP { /* Structure is in Big Endian format */ |
842 | uint32_t listLen; | 842 | uint32_t listLen; |
843 | uint32_t index; | 843 | uint32_t index; |
844 | PORT_NUM_BLK port_num_blk; | 844 | PORT_NUM_BLK port_num_blk; |
@@ -2617,8 +2617,8 @@ typedef union { | |||
2617 | LOAD_SM_VAR varLdSM; /* cmd = 1 (LOAD_SM) */ | 2617 | LOAD_SM_VAR varLdSM; /* cmd = 1 (LOAD_SM) */ |
2618 | READ_NV_VAR varRDnvp; /* cmd = 2 (READ_NVPARMS) */ | 2618 | READ_NV_VAR varRDnvp; /* cmd = 2 (READ_NVPARMS) */ |
2619 | WRITE_NV_VAR varWTnvp; /* cmd = 3 (WRITE_NVPARMS) */ | 2619 | WRITE_NV_VAR varWTnvp; /* cmd = 3 (WRITE_NVPARMS) */ |
2620 | BIU_DIAG_VAR varBIUdiag; /* cmd = 4 (RUN_BIU_DIAG) */ | 2620 | BIU_DIAG_VAR varBIUdiag; /* cmd = 4 (RUN_BIU_DIAG) */ |
2621 | INIT_LINK_VAR varInitLnk; /* cmd = 5 (INIT_LINK) */ | 2621 | INIT_LINK_VAR varInitLnk; /* cmd = 5 (INIT_LINK) */ |
2622 | DOWN_LINK_VAR varDwnLnk; /* cmd = 6 (DOWN_LINK) */ | 2622 | DOWN_LINK_VAR varDwnLnk; /* cmd = 6 (DOWN_LINK) */ |
2623 | CONFIG_LINK varCfgLnk; /* cmd = 7 (CONFIG_LINK) */ | 2623 | CONFIG_LINK varCfgLnk; /* cmd = 7 (CONFIG_LINK) */ |
2624 | PART_SLIM_VAR varSlim; /* cmd = 8 (PART_SLIM) */ | 2624 | PART_SLIM_VAR varSlim; /* cmd = 8 (PART_SLIM) */ |
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 21f8f7a56e23..414350ab584e 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -53,10 +53,6 @@ static struct scsi_transport_template *lpfc_transport_template = NULL; | |||
53 | static struct scsi_transport_template *lpfc_vport_transport_template = NULL; | 53 | static struct scsi_transport_template *lpfc_vport_transport_template = NULL; |
54 | static DEFINE_IDR(lpfc_hba_index); | 54 | static DEFINE_IDR(lpfc_hba_index); |
55 | 55 | ||
56 | |||
57 | |||
58 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; | ||
59 | |||
60 | /************************************************************************/ | 56 | /************************************************************************/ |
61 | /* */ | 57 | /* */ |
62 | /* lpfc_config_port_prep */ | 58 | /* lpfc_config_port_prep */ |
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index c54a9ea336a6..ce5ff2bccba6 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
@@ -363,7 +363,7 @@ lpfc_sli_next_iotag(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq) | |||
363 | if (psli->iocbq_lookup) | 363 | if (psli->iocbq_lookup) |
364 | memcpy(new_arr, old_arr, | 364 | memcpy(new_arr, old_arr, |
365 | ((psli->last_iotag + 1) * | 365 | ((psli->last_iotag + 1) * |
366 | sizeof (struct lpfc_iocbq *))); | 366 | sizeof (struct lpfc_iocbq *))); |
367 | psli->iocbq_lookup = new_arr; | 367 | psli->iocbq_lookup = new_arr; |
368 | psli->iocbq_lookup_len = new_len; | 368 | psli->iocbq_lookup_len = new_len; |
369 | psli->last_iotag = iotag; | 369 | psli->last_iotag = iotag; |
@@ -623,7 +623,7 @@ struct lpfc_hbq_init *lpfc_hbq_defs[] = { | |||
623 | &lpfc_extra_hbq, | 623 | &lpfc_extra_hbq, |
624 | }; | 624 | }; |
625 | 625 | ||
626 | int | 626 | static int |
627 | lpfc_sli_hbqbuf_fill_hbqs(struct lpfc_hba *phba, uint32_t hbqno, uint32_t count) | 627 | lpfc_sli_hbqbuf_fill_hbqs(struct lpfc_hba *phba, uint32_t hbqno, uint32_t count) |
628 | { | 628 | { |
629 | uint32_t i, start, end; | 629 | uint32_t i, start, end; |
diff --git a/drivers/scsi/lpfc/lpfc_sli.h b/drivers/scsi/lpfc/lpfc_sli.h index 50f6d627da2e..51b2b6b949be 100644 --- a/drivers/scsi/lpfc/lpfc_sli.h +++ b/drivers/scsi/lpfc/lpfc_sli.h | |||
@@ -143,7 +143,7 @@ struct lpfc_sli_ring { | |||
143 | uint16_t numCiocb; /* number of command iocb's per ring */ | 143 | uint16_t numCiocb; /* number of command iocb's per ring */ |
144 | uint16_t numRiocb; /* number of rsp iocb's per ring */ | 144 | uint16_t numRiocb; /* number of rsp iocb's per ring */ |
145 | uint16_t sizeCiocb; /* Size of command iocb's in this ring */ | 145 | uint16_t sizeCiocb; /* Size of command iocb's in this ring */ |
146 | uint16_t sizeRiocb; /* Size of response iocb's in this ring */ | 146 | uint16_t sizeRiocb; /* Size of response iocb's in this ring */ |
147 | 147 | ||
148 | uint32_t fast_iotag; /* max fastlookup based iotag */ | 148 | uint32_t fast_iotag; /* max fastlookup based iotag */ |
149 | uint32_t iotag_ctr; /* keeps track of the next iotag to use */ | 149 | uint32_t iotag_ctr; /* keeps track of the next iotag to use */ |
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c index 7f0c263d1bd3..dcb415e717c3 100644 --- a/drivers/scsi/lpfc/lpfc_vport.c +++ b/drivers/scsi/lpfc/lpfc_vport.c | |||
@@ -331,7 +331,7 @@ error_out: | |||
331 | return rc; | 331 | return rc; |
332 | } | 332 | } |
333 | 333 | ||
334 | int | 334 | static int |
335 | disable_vport(struct fc_vport *fc_vport) | 335 | disable_vport(struct fc_vport *fc_vport) |
336 | { | 336 | { |
337 | struct lpfc_vport *vport = *(struct lpfc_vport **)fc_vport->dd_data; | 337 | struct lpfc_vport *vport = *(struct lpfc_vport **)fc_vport->dd_data; |
@@ -376,7 +376,7 @@ disable_vport(struct fc_vport *fc_vport) | |||
376 | return VPORT_OK; | 376 | return VPORT_OK; |
377 | } | 377 | } |
378 | 378 | ||
379 | int | 379 | static int |
380 | enable_vport(struct fc_vport *fc_vport) | 380 | enable_vport(struct fc_vport *fc_vport) |
381 | { | 381 | { |
382 | struct lpfc_vport *vport = *(struct lpfc_vport **)fc_vport->dd_data; | 382 | struct lpfc_vport *vport = *(struct lpfc_vport **)fc_vport->dd_data; |