aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_mbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mbox.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_mbox.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c
index e3bc8d3f7302..c585e2b2e589 100644
--- a/drivers/scsi/lpfc/lpfc_mbox.c
+++ b/drivers/scsi/lpfc/lpfc_mbox.c
@@ -1,7 +1,7 @@
1/******************************************************************* 1/*******************************************************************
2 * This file is part of the Emulex Linux Device Driver for * 2 * This file is part of the Emulex Linux Device Driver for *
3 * Fibre Channel Host Bus Adapters. * 3 * Fibre Channel Host Bus Adapters. *
4 * Copyright (C) 2004-2005 Emulex. All rights reserved. * 4 * Copyright (C) 2004-2006 Emulex. All rights reserved. *
5 * EMULEX and SLI are trademarks of Emulex. * 5 * EMULEX and SLI are trademarks of Emulex. *
6 * www.emulex.com * 6 * www.emulex.com *
7 * Portions Copyright (C) 2004-2005 Christoph Hellwig * 7 * Portions Copyright (C) 2004-2005 Christoph Hellwig *
@@ -195,6 +195,9 @@ lpfc_init_link(struct lpfc_hba * phba,
195 mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT; 195 mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT;
196 mb->un.varInitLnk.link_flags |= FLAGS_TOPOLOGY_FAILOVER; 196 mb->un.varInitLnk.link_flags |= FLAGS_TOPOLOGY_FAILOVER;
197 break; 197 break;
198 case FLAGS_LOCAL_LB:
199 mb->un.varInitLnk.link_flags = FLAGS_LOCAL_LB;
200 break;
198 } 201 }
199 202
200 /* NEW_FEATURE 203 /* NEW_FEATURE
@@ -336,6 +339,23 @@ lpfc_read_config(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
336 return; 339 return;
337} 340}
338 341
342/*************************************************/
343/* lpfc_read_lnk_stat Issue a READ LINK STATUS */
344/* mailbox command */
345/*************************************************/
346void
347lpfc_read_lnk_stat(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
348{
349 MAILBOX_t *mb;
350
351 mb = &pmb->mb;
352 memset(pmb, 0, sizeof (LPFC_MBOXQ_t));
353
354 mb->mbxCommand = MBX_READ_LNK_STAT;
355 mb->mbxOwner = OWN_HOST;
356 return;
357}
358
339/********************************************/ 359/********************************************/
340/* lpfc_reg_login Issue a REG_LOGIN */ 360/* lpfc_reg_login Issue a REG_LOGIN */
341/* mailbox command */ 361/* mailbox command */
@@ -620,6 +640,17 @@ lpfc_config_port(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
620} 640}
621 641
622void 642void
643lpfc_kill_board(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
644{
645 MAILBOX_t *mb = &pmb->mb;
646
647 memset(pmb, 0, sizeof(LPFC_MBOXQ_t));
648 mb->mbxCommand = MBX_KILL_BOARD;
649 mb->mbxOwner = OWN_HOST;
650 return;
651}
652
653void
623lpfc_mbox_put(struct lpfc_hba * phba, LPFC_MBOXQ_t * mbq) 654lpfc_mbox_put(struct lpfc_hba * phba, LPFC_MBOXQ_t * mbq)
624{ 655{
625 struct lpfc_sli *psli; 656 struct lpfc_sli *psli;