aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/lpfc/lpfc.h6
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c2
-rw-r--r--drivers/scsi/lpfc/lpfc_crtn.h1
-rw-r--r--drivers/scsi/lpfc/lpfc_ct.c4
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.c8
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c32
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h10
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c4
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c4
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_vport.c4
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
433int 433static int
434lpfc_get_hba_info(struct lpfc_hba *phba, 434lpfc_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);
279extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t, 279extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t,
280 uint32_t, uint32_t); 280 uint32_t, uint32_t);
281extern struct lpfc_hbq_init *lpfc_hbq_defs[];
281 282
282/* Interface exported by fabric iocb scheduler */ 283/* Interface exported by fabric iocb scheduler */
283int lpfc_issue_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *); 284int 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
691void 691static void
692lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, 692lpfc_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
888int 888static int
889lpfc_vport_symbolic_port_name(struct lpfc_vport *vport, char *symbol, 889lpfc_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
115extern struct lpfc_hbq_init *lpfc_hbq_defs[]; 115static atomic_t lpfc_debugfs_seq_trc_cnt = ATOMIC_INIT(0);
116 116static unsigned long lpfc_debugfs_start_time = 0L;
117atomic_t lpfc_debugfs_seq_trc_cnt = ATOMIC_INIT(0);
118unsigned long lpfc_debugfs_start_time = 0L;
119 117
120static int 118static int
121lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size) 119lpfc_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
204int lpfc_debugfs_last_hbq = -1; 202static int lpfc_debugfs_last_hbq = -1;
205 203
206static int 204static int
207lpfc_debugfs_hbqinfo_data(struct lpfc_hba *phba, char *buf, int size) 205lpfc_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
352void 352static void
353lpfc_work_done(struct lpfc_hba *phba) 353lpfc_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
2817void 2817void
2818lpfc_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
2843void
2844lpfc_nlp_init(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, 2818lpfc_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
2866void 2840static void
2867lpfc_nlp_release(struct kref *kref) 2841lpfc_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
812typedef struct _RPS { /* Structure is in Big Endian format */ 812typedef 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
830typedef struct _RPL { /* Structure is in Big Endian format */ 830typedef 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
841typedef struct _RPL_RSP { /* Structure is in Big Endian format */ 841typedef 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;
53static struct scsi_transport_template *lpfc_vport_transport_template = NULL; 53static struct scsi_transport_template *lpfc_vport_transport_template = NULL;
54static DEFINE_IDR(lpfc_hba_index); 54static DEFINE_IDR(lpfc_hba_index);
55 55
56
57
58extern 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
626int 626static int
627lpfc_sli_hbqbuf_fill_hbqs(struct lpfc_hba *phba, uint32_t hbqno, uint32_t count) 627lpfc_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
334int 334static int
335disable_vport(struct fc_vport *fc_vport) 335disable_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
379int 379static int
380enable_vport(struct fc_vport *fc_vport) 380enable_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;