aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_debugfs.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2008-08-24 21:49:55 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:53 -0400
commit34b02dcdcf1865405f4762b991965c0c3b8a3ae0 (patch)
tree00829334c2813d30e574a5f1290fbf7dd210d1cb /drivers/scsi/lpfc/lpfc_debugfs.c
parent90160e010b6f3a91a9bb044bbe6723731e6f366c (diff)
[SCSI] lpfc 8.2.8 : Update driver for new SLI-3 features
Update driver for new SLI-3 features: - interrupt enhancements - lose adapter doorbell writes - inlining support for FCP_Ixx cmds Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_debugfs.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.c52
1 files changed, 12 insertions, 40 deletions
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c
index 2588eadffbb9..2f6d34924b7d 100644
--- a/drivers/scsi/lpfc/lpfc_debugfs.c
+++ b/drivers/scsi/lpfc/lpfc_debugfs.c
@@ -454,7 +454,7 @@ lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
454 spin_lock_irq(&phba->hbalock); 454 spin_lock_irq(&phba->hbalock);
455 455
456 len += snprintf(buf+len, size-len, "SLIM Mailbox\n"); 456 len += snprintf(buf+len, size-len, "SLIM Mailbox\n");
457 ptr = (uint32_t *)phba->slim2p; 457 ptr = (uint32_t *)phba->slim2p.virt;
458 i = sizeof(MAILBOX_t); 458 i = sizeof(MAILBOX_t);
459 while (i > 0) { 459 while (i > 0) {
460 len += snprintf(buf+len, size-len, 460 len += snprintf(buf+len, size-len,
@@ -467,7 +467,7 @@ lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
467 } 467 }
468 468
469 len += snprintf(buf+len, size-len, "SLIM PCB\n"); 469 len += snprintf(buf+len, size-len, "SLIM PCB\n");
470 ptr = (uint32_t *)&phba->slim2p->pcb; 470 ptr = (uint32_t *)phba->pcb;
471 i = sizeof(PCB_t); 471 i = sizeof(PCB_t);
472 while (i > 0) { 472 while (i > 0) {
473 len += snprintf(buf+len, size-len, 473 len += snprintf(buf+len, size-len,
@@ -479,44 +479,16 @@ lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
479 off += (8 * sizeof(uint32_t)); 479 off += (8 * sizeof(uint32_t));
480 } 480 }
481 481
482 pgpp = (struct lpfc_pgp *)&phba->slim2p->mbx.us.s3_pgp.port; 482 for (i = 0; i < 4; i++) {
483 pring = &psli->ring[0]; 483 pgpp = &phba->port_gp[i];
484 len += snprintf(buf+len, size-len, 484 pring = &psli->ring[i];
485 "Ring 0: CMD GetInx:%d (Max:%d Next:%d Local:%d flg:x%x) " 485 len += snprintf(buf+len, size-len,
486 "RSP PutInx:%d Max:%d\n", 486 "Ring %d: CMD GetInx:%d (Max:%d Next:%d "
487 pgpp->cmdGetInx, pring->numCiocb, 487 "Local:%d flg:x%x) RSP PutInx:%d Max:%d\n",
488 pring->next_cmdidx, pring->local_getidx, pring->flag, 488 i, pgpp->cmdGetInx, pring->numCiocb,
489 pgpp->rspPutInx, pring->numRiocb); 489 pring->next_cmdidx, pring->local_getidx,
490 pgpp++; 490 pring->flag, pgpp->rspPutInx, pring->numRiocb);
491 491 }
492 pring = &psli->ring[1];
493 len += snprintf(buf+len, size-len,
494 "Ring 1: CMD GetInx:%d (Max:%d Next:%d Local:%d flg:x%x) "
495 "RSP PutInx:%d Max:%d\n",
496 pgpp->cmdGetInx, pring->numCiocb,
497 pring->next_cmdidx, pring->local_getidx, pring->flag,
498 pgpp->rspPutInx, pring->numRiocb);
499 pgpp++;
500
501 pring = &psli->ring[2];
502 len += snprintf(buf+len, size-len,
503 "Ring 2: CMD GetInx:%d (Max:%d Next:%d Local:%d flg:x%x) "
504 "RSP PutInx:%d Max:%d\n",
505 pgpp->cmdGetInx, pring->numCiocb,
506 pring->next_cmdidx, pring->local_getidx, pring->flag,
507 pgpp->rspPutInx, pring->numRiocb);
508 pgpp++;
509
510 pring = &psli->ring[3];
511 len += snprintf(buf+len, size-len,
512 "Ring 3: CMD GetInx:%d (Max:%d Next:%d Local:%d flg:x%x) "
513 "RSP PutInx:%d Max:%d\n",
514 pgpp->cmdGetInx, pring->numCiocb,
515 pring->next_cmdidx, pring->local_getidx, pring->flag,
516 pgpp->rspPutInx, pring->numRiocb);
517
518
519 ptr = (uint32_t *)&phba->slim2p->mbx.us.s3_pgp.hbq_get;
520 word0 = readl(phba->HAregaddr); 492 word0 = readl(phba->HAregaddr);
521 word1 = readl(phba->CAregaddr); 493 word1 = readl(phba->CAregaddr);
522 word2 = readl(phba->HSregaddr); 494 word2 = readl(phba->HSregaddr);