aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_debugfs.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c
index 52be5644e07a..8d0f0de76b63 100644
--- a/drivers/scsi/lpfc/lpfc_debugfs.c
+++ b/drivers/scsi/lpfc/lpfc_debugfs.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) 2007-2008 Emulex. All rights reserved. * 4 * Copyright (C) 2007-2009 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 * * 7 * *
@@ -33,8 +33,10 @@
33#include <scsi/scsi_host.h> 33#include <scsi/scsi_host.h>
34#include <scsi/scsi_transport_fc.h> 34#include <scsi/scsi_transport_fc.h>
35 35
36#include "lpfc_hw4.h"
36#include "lpfc_hw.h" 37#include "lpfc_hw.h"
37#include "lpfc_sli.h" 38#include "lpfc_sli.h"
39#include "lpfc_sli4.h"
38#include "lpfc_nl.h" 40#include "lpfc_nl.h"
39#include "lpfc_disc.h" 41#include "lpfc_disc.h"
40#include "lpfc_scsi.h" 42#include "lpfc_scsi.h"
@@ -51,8 +53,7 @@
51 * debugfs interface 53 * debugfs interface
52 * 54 *
53 * To access this interface the user should: 55 * To access this interface the user should:
54 * # mkdir /debug 56 * # mount -t debugfs none /sys/kernel/debug
55 * # mount -t debugfs none /debug
56 * 57 *
57 * The lpfc debugfs directory hierarchy is: 58 * The lpfc debugfs directory hierarchy is:
58 * lpfc/lpfcX/vportY 59 * lpfc/lpfcX/vportY
@@ -280,6 +281,8 @@ lpfc_debugfs_hbqinfo_data(struct lpfc_hba *phba, char *buf, int size)
280 struct lpfc_dmabuf *d_buf; 281 struct lpfc_dmabuf *d_buf;
281 struct hbq_dmabuf *hbq_buf; 282 struct hbq_dmabuf *hbq_buf;
282 283
284 if (phba->sli_rev != 3)
285 return 0;
283 cnt = LPFC_HBQINFO_SIZE; 286 cnt = LPFC_HBQINFO_SIZE;
284 spin_lock_irq(&phba->hbalock); 287 spin_lock_irq(&phba->hbalock);
285 288
@@ -489,12 +492,15 @@ lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
489 pring->next_cmdidx, pring->local_getidx, 492 pring->next_cmdidx, pring->local_getidx,
490 pring->flag, pgpp->rspPutInx, pring->numRiocb); 493 pring->flag, pgpp->rspPutInx, pring->numRiocb);
491 } 494 }
492 word0 = readl(phba->HAregaddr); 495
493 word1 = readl(phba->CAregaddr); 496 if (phba->sli_rev <= LPFC_SLI_REV3) {
494 word2 = readl(phba->HSregaddr); 497 word0 = readl(phba->HAregaddr);
495 word3 = readl(phba->HCregaddr); 498 word1 = readl(phba->CAregaddr);
496 len += snprintf(buf+len, size-len, "HA:%08x CA:%08x HS:%08x HC:%08x\n", 499 word2 = readl(phba->HSregaddr);
497 word0, word1, word2, word3); 500 word3 = readl(phba->HCregaddr);
501 len += snprintf(buf+len, size-len, "HA:%08x CA:%08x HS:%08x "
502 "HC:%08x\n", word0, word1, word2, word3);
503 }
498 spin_unlock_irq(&phba->hbalock); 504 spin_unlock_irq(&phba->hbalock);
499 return len; 505 return len;
500} 506}