Loading include/linux/libata.h +45 −7 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,8 @@ #include <linux/workqueue.h> #include <linux/workqueue.h> /* /* * compile-time options * compile-time options: to be removed as soon as all the drivers are * converted to the new debugging mechanism */ */ #undef ATA_DEBUG /* debugging output */ #undef ATA_DEBUG /* debugging output */ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ Loading Loading @@ -71,6 +72,38 @@ } } #endif #endif /* NEW: debug levels */ #define HAVE_LIBATA_MSG 1 enum { ATA_MSG_DRV = 0x0001, ATA_MSG_INFO = 0x0002, ATA_MSG_PROBE = 0x0004, ATA_MSG_WARN = 0x0008, ATA_MSG_MALLOC = 0x0010, ATA_MSG_CTL = 0x0020, ATA_MSG_INTR = 0x0040, ATA_MSG_ERR = 0x0080, }; #define ata_msg_drv(p) ((p)->msg_enable & ATA_MSG_DRV) #define ata_msg_info(p) ((p)->msg_enable & ATA_MSG_INFO) #define ata_msg_probe(p) ((p)->msg_enable & ATA_MSG_PROBE) #define ata_msg_warn(p) ((p)->msg_enable & ATA_MSG_WARN) #define ata_msg_malloc(p) ((p)->msg_enable & ATA_MSG_MALLOC) #define ata_msg_ctl(p) ((p)->msg_enable & ATA_MSG_CTL) #define ata_msg_intr(p) ((p)->msg_enable & ATA_MSG_INTR) #define ata_msg_err(p) ((p)->msg_enable & ATA_MSG_ERR) static inline u32 ata_msg_init(int dval, int default_msg_enable_bits) { if (dval < 0 || dval >= (sizeof(u32) * 8)) return default_msg_enable_bits; /* should be 0x1 - only driver info msgs */ if (!dval) return 0; return (1 << dval) - 1; } /* defines only for the constants which don't work well as enums */ /* defines only for the constants which don't work well as enums */ #define ATA_TAG_POISON 0xfafbfcfdU #define ATA_TAG_POISON 0xfafbfcfdU Loading Loading @@ -359,6 +392,8 @@ struct ata_port { unsigned int hsm_task_state; unsigned int hsm_task_state; unsigned long pio_task_timeout; unsigned long pio_task_timeout; u32 msg_enable; void *private_data; void *private_data; }; }; Loading Loading @@ -645,8 +680,8 @@ static inline u8 ata_wait_idle(struct ata_port *ap) if (status & (ATA_BUSY | ATA_DRQ)) { if (status & (ATA_BUSY | ATA_DRQ)) { unsigned long l = ap->ioaddr.status_addr; unsigned long l = ap->ioaddr.status_addr; printk(KERN_WARNING if (ata_msg_warn(ap)) "ATA: abnormal status 0x%X on port 0x%lX\n", printk(KERN_WARNING "ATA: abnormal status 0x%X on port 0x%lX\n", status, l); status, l); } } Loading Loading @@ -739,7 +774,8 @@ static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) status = ata_busy_wait(ap, bits, 1000); status = ata_busy_wait(ap, bits, 1000); if (status & bits) if (status & bits) DPRINTK("abnormal status 0x%X\n", status); if (ata_msg_err(ap)) printk(KERN_ERR "abnormal status 0x%X\n", status); /* get controller status; clear intr, err bits */ /* get controller status; clear intr, err bits */ if (ap->flags & ATA_FLAG_MMIO) { if (ap->flags & ATA_FLAG_MMIO) { Loading @@ -757,7 +793,9 @@ static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) post_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); post_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); } } VPRINTK("irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", if (ata_msg_intr(ap)) printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", __FUNCTION__, host_stat, post_stat, status); host_stat, post_stat, status); return status; return status; Loading Loading
include/linux/libata.h +45 −7 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,8 @@ #include <linux/workqueue.h> #include <linux/workqueue.h> /* /* * compile-time options * compile-time options: to be removed as soon as all the drivers are * converted to the new debugging mechanism */ */ #undef ATA_DEBUG /* debugging output */ #undef ATA_DEBUG /* debugging output */ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ Loading Loading @@ -71,6 +72,38 @@ } } #endif #endif /* NEW: debug levels */ #define HAVE_LIBATA_MSG 1 enum { ATA_MSG_DRV = 0x0001, ATA_MSG_INFO = 0x0002, ATA_MSG_PROBE = 0x0004, ATA_MSG_WARN = 0x0008, ATA_MSG_MALLOC = 0x0010, ATA_MSG_CTL = 0x0020, ATA_MSG_INTR = 0x0040, ATA_MSG_ERR = 0x0080, }; #define ata_msg_drv(p) ((p)->msg_enable & ATA_MSG_DRV) #define ata_msg_info(p) ((p)->msg_enable & ATA_MSG_INFO) #define ata_msg_probe(p) ((p)->msg_enable & ATA_MSG_PROBE) #define ata_msg_warn(p) ((p)->msg_enable & ATA_MSG_WARN) #define ata_msg_malloc(p) ((p)->msg_enable & ATA_MSG_MALLOC) #define ata_msg_ctl(p) ((p)->msg_enable & ATA_MSG_CTL) #define ata_msg_intr(p) ((p)->msg_enable & ATA_MSG_INTR) #define ata_msg_err(p) ((p)->msg_enable & ATA_MSG_ERR) static inline u32 ata_msg_init(int dval, int default_msg_enable_bits) { if (dval < 0 || dval >= (sizeof(u32) * 8)) return default_msg_enable_bits; /* should be 0x1 - only driver info msgs */ if (!dval) return 0; return (1 << dval) - 1; } /* defines only for the constants which don't work well as enums */ /* defines only for the constants which don't work well as enums */ #define ATA_TAG_POISON 0xfafbfcfdU #define ATA_TAG_POISON 0xfafbfcfdU Loading Loading @@ -359,6 +392,8 @@ struct ata_port { unsigned int hsm_task_state; unsigned int hsm_task_state; unsigned long pio_task_timeout; unsigned long pio_task_timeout; u32 msg_enable; void *private_data; void *private_data; }; }; Loading Loading @@ -645,8 +680,8 @@ static inline u8 ata_wait_idle(struct ata_port *ap) if (status & (ATA_BUSY | ATA_DRQ)) { if (status & (ATA_BUSY | ATA_DRQ)) { unsigned long l = ap->ioaddr.status_addr; unsigned long l = ap->ioaddr.status_addr; printk(KERN_WARNING if (ata_msg_warn(ap)) "ATA: abnormal status 0x%X on port 0x%lX\n", printk(KERN_WARNING "ATA: abnormal status 0x%X on port 0x%lX\n", status, l); status, l); } } Loading Loading @@ -739,7 +774,8 @@ static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) status = ata_busy_wait(ap, bits, 1000); status = ata_busy_wait(ap, bits, 1000); if (status & bits) if (status & bits) DPRINTK("abnormal status 0x%X\n", status); if (ata_msg_err(ap)) printk(KERN_ERR "abnormal status 0x%X\n", status); /* get controller status; clear intr, err bits */ /* get controller status; clear intr, err bits */ if (ap->flags & ATA_FLAG_MMIO) { if (ap->flags & ATA_FLAG_MMIO) { Loading @@ -757,7 +793,9 @@ static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) post_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); post_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); } } VPRINTK("irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", if (ata_msg_intr(ap)) printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", __FUNCTION__, host_stat, post_stat, status); host_stat, post_stat, status); return status; return status; Loading