aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_mbox.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
commit2152f8536668a957ea3214735b4761e7b22ef7d8 (patch)
tree56723fc51445b1bc930c6400d4c00fd6fc831f88 /drivers/scsi/lpfc/lpfc_mbox.c
parent7cae7e26f245151b9ccad868bf2edf8c8048d307 (diff)
parent30afc84cf7325e88fb9746340eba3c161080ff49 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (138 commits) [SCSI] libata: implement minimal transport template for ->eh_timed_out [SCSI] eliminate rphy allocation in favour of expander/end device allocation [SCSI] convert mptsas over to end_device/expander allocations [SCSI] allow displaying and setting of cache type via sysfs [SCSI] add scsi_mode_select to scsi_lib.c [SCSI] 3ware 9000 add big endian support [SCSI] qla2xxx: update MAINTAINERS [SCSI] scsi: move target_destroy call [SCSI] fusion - bump version [SCSI] fusion - expander hotplug suport in mptsas module [SCSI] fusion - exposing raid components in mptsas [SCSI] fusion - memory leak, and initializing fields [SCSI] fusion - exclosure misspelled [SCSI] fusion - cleanup mptsas event handling functions [SCSI] fusion - removing target_id/bus_id from the VirtDevice structure [SCSI] fusion - static fix's [SCSI] fusion - move some debug firmware event debug msgs to verbose level [SCSI] fusion - loginfo header update [SCSI] add scsi_reprobe_device [SCSI] megaraid_sas: fix extended timeout handling ...
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;