aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_nv.c
diff options
context:
space:
mode:
authorRobert Hancock <hancockr@shaw.ca>2007-02-19 20:01:59 -0500
committerJeff Garzik <jeff@garzik.org>2007-02-21 04:58:19 -0500
commit08af7414786a3f35b686f68ada3de0b202c03d8c (patch)
treef6357fbff78562cac9a7a6d7fb4c283e2aea841a /drivers/ata/sata_nv.c
parent9dd6fa3231f9c6003080d189c94599e6a6b97dbf (diff)
sata_nv: Add CPB register info to error_handler output
When error handling occurs with pending commands, output the contents of the next CPB count and next CPB index registers as well as the others, since these may be useful for debugging. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_nv.c')
-rw-r--r--drivers/ata/sata_nv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index b93e64d3fcf1..367027bc4cd7 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -1462,10 +1462,14 @@ static void nv_adma_error_handler(struct ata_port *ap)
1462 u32 notifier_error = readl(mmio + NV_ADMA_NOTIFIER_ERROR); 1462 u32 notifier_error = readl(mmio + NV_ADMA_NOTIFIER_ERROR);
1463 u32 gen_ctl = readl(pp->gen_block + NV_ADMA_GEN_CTL); 1463 u32 gen_ctl = readl(pp->gen_block + NV_ADMA_GEN_CTL);
1464 u32 status = readw(mmio + NV_ADMA_STAT); 1464 u32 status = readw(mmio + NV_ADMA_STAT);
1465 u8 cpb_count = readb(mmio + NV_ADMA_CPB_COUNT);
1466 u8 next_cpb_idx = readb(mmio + NV_ADMA_NEXT_CPB_IDX);
1465 1467
1466 ata_port_printk(ap, KERN_ERR, "EH in ADMA mode, notifier 0x%X " 1468 ata_port_printk(ap, KERN_ERR, "EH in ADMA mode, notifier 0x%X "
1467 "notifier_error 0x%X gen_ctl 0x%X status 0x%X\n", 1469 "notifier_error 0x%X gen_ctl 0x%X status 0x%X "
1468 notifier, notifier_error, gen_ctl, status); 1470 "next cpb count 0x%X next cpb idx 0x%x\n",
1471 notifier, notifier_error, gen_ctl, status,
1472 cpb_count, next_cpb_idx);
1469 1473
1470 for( i=0;i<NV_ADMA_MAX_CPBS;i++) { 1474 for( i=0;i<NV_ADMA_MAX_CPBS;i++) {
1471 struct nv_adma_cpb *cpb = &pp->cpb[i]; 1475 struct nv_adma_cpb *cpb = &pp->cpb[i];