Commit 0dd4b21f authored by Borislav Petkov's avatar Borislav Petkov Committed by Jeff Garzik

[libata] conversion to new debug scheme, part 1 of $N

The first 25% of libata-core.c converted to the new debugging scheme.

Signed-off-by: <petkov@math.uni-muenster.de>

(with addition of ATA_MSG_WARN to standard msg_enable by me)
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 99ba9e09
...@@ -418,7 +418,7 @@ static const char *sata_spd_string(unsigned int spd) ...@@ -418,7 +418,7 @@ static const char *sata_spd_string(unsigned int spd)
void ata_dev_disable(struct ata_device *dev) void ata_dev_disable(struct ata_device *dev)
{ {
if (ata_dev_enabled(dev)) { if (ata_dev_enabled(dev) && ata_msg_drv(dev->ap)) {
ata_dev_printk(dev, KERN_WARNING, "disabled\n"); ata_dev_printk(dev, KERN_WARNING, "disabled\n");
dev->class++; dev->class++;
} }
...@@ -777,8 +777,11 @@ void ata_std_dev_select (struct ata_port *ap, unsigned int device) ...@@ -777,8 +777,11 @@ void ata_std_dev_select (struct ata_port *ap, unsigned int device)
void ata_dev_select(struct ata_port *ap, unsigned int device, void ata_dev_select(struct ata_port *ap, unsigned int device,
unsigned int wait, unsigned int can_sleep) unsigned int wait, unsigned int can_sleep)
{ {
VPRINTK("ENTER, ata%u: device %u, wait %u\n", if (ata_msg_probe(ap)) {
ata_port_printk(ap, KERN_INFO, "ata_dev_select: ENTER, ata%u: "
"device %u, wait %u\n",
ap->id, device, wait); ap->id, device, wait);
}
if (wait) if (wait)
ata_wait_idle(ap); ata_wait_idle(ap);
...@@ -946,7 +949,8 @@ void ata_port_flush_task(struct ata_port *ap) ...@@ -946,7 +949,8 @@ void ata_port_flush_task(struct ata_port *ap)
* Cancel and flush. * Cancel and flush.
*/ */
if (!cancel_delayed_work(&ap->port_task)) { if (!cancel_delayed_work(&ap->port_task)) {
DPRINTK("flush #2\n"); if (ata_msg_ctl(ap))
ata_port_printk(ap, KERN_DEBUG, "%s: flush #2\n", __FUNCTION__);
flush_workqueue(ata_wq); flush_workqueue(ata_wq);
} }
...@@ -954,7 +958,8 @@ void ata_port_flush_task(struct ata_port *ap) ...@@ -954,7 +958,8 @@ void ata_port_flush_task(struct ata_port *ap)
ap->flags &= ~ATA_FLAG_FLUSH_PORT_TASK; ap->flags &= ~ATA_FLAG_FLUSH_PORT_TASK;
spin_unlock_irqrestore(ap->lock, flags); spin_unlock_irqrestore(ap->lock, flags);
DPRINTK("EXIT\n"); if (ata_msg_ctl(ap))
ata_port_printk(ap, KERN_DEBUG, "%s: EXIT\n", __FUNCTION__);
} }
void ata_qc_complete_internal(struct ata_queued_cmd *qc) void ata_qc_complete_internal(struct ata_queued_cmd *qc)
...@@ -1074,6 +1079,7 @@ unsigned ata_exec_internal(struct ata_device *dev, ...@@ -1074,6 +1079,7 @@ unsigned ata_exec_internal(struct ata_device *dev,
else else
ata_qc_complete(qc); ata_qc_complete(qc);
if (ata_msg_warn(ap))
ata_dev_printk(dev, KERN_WARNING, ata_dev_printk(dev, KERN_WARNING,
"qc timeout (cmd 0x%x)\n", command); "qc timeout (cmd 0x%x)\n", command);
} }
...@@ -1086,7 +1092,9 @@ unsigned ata_exec_internal(struct ata_device *dev, ...@@ -1086,7 +1092,9 @@ unsigned ata_exec_internal(struct ata_device *dev,
ap->ops->post_internal_cmd(qc); ap->ops->post_internal_cmd(qc);
if (qc->flags & ATA_QCFLAG_FAILED && !qc->err_mask) { if (qc->flags & ATA_QCFLAG_FAILED && !qc->err_mask) {
ata_dev_printk(dev, KERN_WARNING, "zero err_mask for failed " if (ata_msg_warn(ap))
ata_dev_printk(dev, KERN_WARNING,
"zero err_mask for failed "
"internal command, assuming AC_ERR_OTHER\n"); "internal command, assuming AC_ERR_OTHER\n");
qc->err_mask |= AC_ERR_OTHER; qc->err_mask |= AC_ERR_OTHER;
} }
...@@ -1184,7 +1192,9 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, ...@@ -1184,7 +1192,9 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
const char *reason; const char *reason;
int rc; int rc;
DPRINTK("ENTER, host %u, dev %u\n", ap->id, dev->devno); if (ata_msg_ctl(ap))
ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER, host %u, dev %u\n",
__FUNCTION__, ap->id, dev->devno);
ata_dev_select(ap, dev->devno, 1, 1); /* select device 0/1 */ ata_dev_select(ap, dev->devno, 1, 1); /* select device 0/1 */
...@@ -1253,6 +1263,7 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, ...@@ -1253,6 +1263,7 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
return 0; return 0;
err_out: err_out:
if (ata_msg_warn(ap))
ata_dev_printk(dev, KERN_WARNING, "failed to IDENTIFY " ata_dev_printk(dev, KERN_WARNING, "failed to IDENTIFY "
"(%s, err_mask=0x%x)\n", reason, err_mask); "(%s, err_mask=0x%x)\n", reason, err_mask);
return rc; return rc;
...@@ -1306,18 +1317,21 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1306,18 +1317,21 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
unsigned int xfer_mask; unsigned int xfer_mask;
int i, rc; int i, rc;
if (!ata_dev_enabled(dev)) { if (!ata_dev_enabled(dev) && ata_msg_info(ap)) {
DPRINTK("ENTER/EXIT (host %u, dev %u) -- nodev\n", ata_dev_printk(dev, KERN_INFO, "%s: ENTER/EXIT (host %u, dev %u) -- nodev\n",
ap->id, dev->devno); __FUNCTION__, ap->id, dev->devno);
return 0; return 0;
} }
DPRINTK("ENTER, host %u, dev %u\n", ap->id, dev->devno); if (ata_msg_probe(ap))
ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER, host %u, dev %u\n",
__FUNCTION__, ap->id, dev->devno);
/* print device capabilities */ /* print device capabilities */
if (print_info) if (ata_msg_probe(ap))
ata_dev_printk(dev, KERN_DEBUG, "cfg 49:%04x 82:%04x 83:%04x " ata_dev_printk(dev, KERN_DEBUG, "%s: cfg 49:%04x 82:%04x 83:%04x "
"84:%04x 85:%04x 86:%04x 87:%04x 88:%04x\n", "84:%04x 85:%04x 86:%04x 87:%04x 88:%04x\n",
__FUNCTION__,
id[49], id[82], id[83], id[84], id[49], id[82], id[83], id[84],
id[85], id[86], id[87], id[88]); id[85], id[86], id[87], id[88]);
...@@ -1337,6 +1351,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1337,6 +1351,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
/* find max transfer mode; for printk only */ /* find max transfer mode; for printk only */
xfer_mask = ata_id_xfermask(id); xfer_mask = ata_id_xfermask(id);
if (ata_msg_probe(ap))
ata_dump_id(id); ata_dump_id(id);
/* ATA-specific feature tests */ /* ATA-specific feature tests */
...@@ -1358,7 +1373,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1358,7 +1373,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
ata_dev_config_ncq(dev, ncq_desc, sizeof(ncq_desc)); ata_dev_config_ncq(dev, ncq_desc, sizeof(ncq_desc));
/* print device info to dmesg */ /* print device info to dmesg */
if (print_info) if (ata_msg_info(ap))
ata_dev_printk(dev, KERN_INFO, "ATA-%d, " ata_dev_printk(dev, KERN_INFO, "ATA-%d, "
"max %s, %Lu sectors: %s %s\n", "max %s, %Lu sectors: %s %s\n",
ata_id_major_version(id), ata_id_major_version(id),
...@@ -1381,7 +1396,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1381,7 +1396,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
} }
/* print device info to dmesg */ /* print device info to dmesg */
if (print_info) if (ata_msg_info(ap))
ata_dev_printk(dev, KERN_INFO, "ATA-%d, " ata_dev_printk(dev, KERN_INFO, "ATA-%d, "
"max %s, %Lu sectors: CHS %u/%u/%u\n", "max %s, %Lu sectors: CHS %u/%u/%u\n",
ata_id_major_version(id), ata_id_major_version(id),
...@@ -1392,7 +1407,8 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1392,7 +1407,8 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
if (dev->id[59] & 0x100) { if (dev->id[59] & 0x100) {
dev->multi_count = dev->id[59] & 0xff; dev->multi_count = dev->id[59] & 0xff;
DPRINTK("ata%u: dev %u multi count %u\n", if (ata_msg_info(ap))
ata_dev_printk(dev, KERN_INFO, "ata%u: dev %u multi count %u\n",
ap->id, dev->devno, dev->multi_count); ap->id, dev->devno, dev->multi_count);
} }
...@@ -1405,6 +1421,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1405,6 +1421,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
rc = atapi_cdb_len(id); rc = atapi_cdb_len(id);
if ((rc < 12) || (rc > ATAPI_CDB_LEN)) { if ((rc < 12) || (rc > ATAPI_CDB_LEN)) {
if (ata_msg_warn(ap))
ata_dev_printk(dev, KERN_WARNING, ata_dev_printk(dev, KERN_WARNING,
"unsupported CDB len\n"); "unsupported CDB len\n");
rc = -EINVAL; rc = -EINVAL;
...@@ -1418,7 +1435,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1418,7 +1435,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
} }
/* print device info to dmesg */ /* print device info to dmesg */
if (print_info) if (ata_msg_info(ap))
ata_dev_printk(dev, KERN_INFO, "ATAPI, max %s%s\n", ata_dev_printk(dev, KERN_INFO, "ATAPI, max %s%s\n",
ata_mode_string(xfer_mask), ata_mode_string(xfer_mask),
cdb_intr_string); cdb_intr_string);
...@@ -1432,7 +1449,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1432,7 +1449,7 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
/* limit bridge transfers to udma5, 200 sectors */ /* limit bridge transfers to udma5, 200 sectors */
if (ata_dev_knobble(dev)) { if (ata_dev_knobble(dev)) {
if (print_info) if (ata_msg_info(ap))
ata_dev_printk(dev, KERN_INFO, ata_dev_printk(dev, KERN_INFO,
"applying bridge limits\n"); "applying bridge limits\n");
dev->udma_mask &= ATA_UDMA5; dev->udma_mask &= ATA_UDMA5;
...@@ -1442,11 +1459,15 @@ int ata_dev_configure(struct ata_device *dev, int print_info) ...@@ -1442,11 +1459,15 @@ int ata_dev_configure(struct ata_device *dev, int print_info)
if (ap->ops->dev_config) if (ap->ops->dev_config)
ap->ops->dev_config(ap, dev); ap->ops->dev_config(ap, dev);
DPRINTK("EXIT, drv_stat = 0x%x\n", ata_chk_status(ap)); if (ata_msg_probe(ap))
ata_dev_printk(dev, KERN_DEBUG, "%s: EXIT, drv_stat = 0x%x\n",
__FUNCTION__, ata_chk_status(ap));
return 0; return 0;
err_out_nosup: err_out_nosup:
DPRINTK("EXIT, err\n"); if (ata_msg_probe(ap))
ata_dev_printk(dev, KERN_DEBUG,
"%s: EXIT, err\n", __FUNCTION__);
return rc; return rc;
} }
...@@ -5192,7 +5213,7 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, ...@@ -5192,7 +5213,7 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
#elif defined(ATA_DEBUG) #elif defined(ATA_DEBUG)
ap->msg_enable = ATA_MSG_DRV | ATA_MSG_INFO | ATA_MSG_CTL | ATA_MSG_WARN | ATA_MSG_ERR; ap->msg_enable = ATA_MSG_DRV | ATA_MSG_INFO | ATA_MSG_CTL | ATA_MSG_WARN | ATA_MSG_ERR;
#else #else
ap->msg_enable = ATA_MSG_DRV | ATA_MSG_ERR; ap->msg_enable = ATA_MSG_DRV | ATA_MSG_ERR | ATA_MSG_WARN;
#endif #endif
INIT_WORK(&ap->port_task, NULL, NULL); INIT_WORK(&ap->port_task, NULL, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment