ide: use ATA_* defines instead of *_STAT and *_ERR ones

* ERR_STAT   -> ATA_ERR
* INDEX_STAT -> ATA_IDX
* ECC_STAT   -> ATA_CORR
* DRQ_STAT   -> ATA_DRQ
* SEEK_STAT  -> ATA_DSC
* WRERR_STAT -> ATA_DF
* READY_STAT -> ATA_DRDY
* BUSY_STAT  -> ATA_BUSY

* MARK_ERR   -> ATA_AMNF
* TRK0_ERR   -> ATA_TRK0NF
* ABRT_ERR   -> ATA_ABORTED
* MCR_ERR    -> ATA_MCR
* ID_ERR     -> ATA_IDNF
* MC_ERR     -> ATA_MC
* ECC_ERR    -> ATA_UNC
* ICRC_ERR   -> ATA_ICRC

* BBD_ERR    -> ATA_BBK

Also:

* ILI_ERR    -> ATAPI_ILI
* EOM_ERR    -> ATAPI_EOM
* LFS_ERR    -> ATAPI_LFS

* CD         -> ATAPI_COD
* IO         -> ATAPI_IO
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent f26b3d75
...@@ -41,7 +41,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -41,7 +41,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
if (pc->flags & PC_FLAG_DMA_IN_PROGRESS) { if (pc->flags & PC_FLAG_DMA_IN_PROGRESS) {
if (hwif->dma_ops->dma_end(drive) || if (hwif->dma_ops->dma_end(drive) ||
(drive->media == ide_tape && !scsi && (stat & ERR_STAT))) { (drive->media == ide_tape && !scsi && (stat & ATA_ERR))) {
if (drive->media == ide_floppy && !scsi) if (drive->media == ide_floppy && !scsi)
printk(KERN_ERR "%s: DMA %s error\n", printk(KERN_ERR "%s: DMA %s error\n",
drive->name, rq_data_dir(pc->rq) drive->name, rq_data_dir(pc->rq)
...@@ -56,7 +56,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -56,7 +56,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
} }
/* No more interrupts */ /* No more interrupts */
if ((stat & DRQ_STAT) == 0) { if ((stat & ATA_DRQ) == 0) {
debug_log("Packet command completed, %d bytes transferred\n", debug_log("Packet command completed, %d bytes transferred\n",
pc->xferred); pc->xferred);
...@@ -65,10 +65,10 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -65,10 +65,10 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
local_irq_enable_in_hardirq(); local_irq_enable_in_hardirq();
if (drive->media == ide_tape && !scsi && if (drive->media == ide_tape && !scsi &&
(stat & ERR_STAT) && rq->cmd[0] == REQUEST_SENSE) (stat & ATA_ERR) && rq->cmd[0] == REQUEST_SENSE)
stat &= ~ERR_STAT; stat &= ~ATA_ERR;
if ((stat & ERR_STAT) || (pc->flags & PC_FLAG_DMA_ERROR)) { if ((stat & ATA_ERR) || (pc->flags & PC_FLAG_DMA_ERROR)) {
/* Error detected */ /* Error detected */
debug_log("%s: I/O error\n", drive->name); debug_log("%s: I/O error\n", drive->name);
...@@ -95,7 +95,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -95,7 +95,7 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
cmd_finished: cmd_finished:
pc->error = 0; pc->error = 0;
if ((pc->flags & PC_FLAG_WAIT_FOR_DSC) && if ((pc->flags & PC_FLAG_WAIT_FOR_DSC) &&
(stat & SEEK_STAT) == 0) { (stat & ATA_DSC) == 0) {
dsc_handle(drive); dsc_handle(drive);
return ide_stopped; return ide_stopped;
} }
...@@ -117,17 +117,18 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -117,17 +117,18 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
/* Get the number of bytes to transfer on this interrupt. */ /* Get the number of bytes to transfer on this interrupt. */
ide_read_bcount_and_ireason(drive, &bcount, &ireason); ide_read_bcount_and_ireason(drive, &bcount, &ireason);
if (ireason & CD) { if (ireason & ATAPI_COD) {
printk(KERN_ERR "%s: CoD != 0 in %s\n", drive->name, __func__); printk(KERN_ERR "%s: CoD != 0 in %s\n", drive->name, __func__);
return ide_do_reset(drive); return ide_do_reset(drive);
} }
if (((ireason & IO) == IO) == !!(pc->flags & PC_FLAG_WRITING)) { if (((ireason & ATAPI_IO) == ATAPI_IO) ==
!!(pc->flags & PC_FLAG_WRITING)) {
/* Hopefully, we will never get here */ /* Hopefully, we will never get here */
printk(KERN_ERR "%s: We wanted to %s, but the device wants us " printk(KERN_ERR "%s: We wanted to %s, but the device wants us "
"to %s!\n", drive->name, "to %s!\n", drive->name,
(ireason & IO) ? "Write" : "Read", (ireason & ATAPI_IO) ? "Write" : "Read",
(ireason & IO) ? "Read" : "Write"); (ireason & ATAPI_IO) ? "Read" : "Write");
return ide_do_reset(drive); return ide_do_reset(drive);
} }
...@@ -205,7 +206,8 @@ static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason) ...@@ -205,7 +206,8 @@ static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason)
{ {
int retries = 100; int retries = 100;
while (retries-- && ((ireason & CD) == 0 || (ireason & IO))) { while (retries-- && ((ireason & ATAPI_COD) == 0 ||
(ireason & ATAPI_IO))) {
printk(KERN_ERR "%s: (IO,CoD != (0,1) while issuing " printk(KERN_ERR "%s: (IO,CoD != (0,1) while issuing "
"a packet command, retrying\n", drive->name); "a packet command, retrying\n", drive->name);
udelay(100); udelay(100);
...@@ -214,8 +216,8 @@ static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason) ...@@ -214,8 +216,8 @@ static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason)
printk(KERN_ERR "%s: (IO,CoD != (0,1) while issuing " printk(KERN_ERR "%s: (IO,CoD != (0,1) while issuing "
"a packet command, ignoring\n", "a packet command, ignoring\n",
drive->name); drive->name);
ireason |= CD; ireason |= ATAPI_COD;
ireason &= ~IO; ireason &= ~ATAPI_IO;
} }
} }
...@@ -231,7 +233,7 @@ ide_startstop_t ide_transfer_pc(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -231,7 +233,7 @@ ide_startstop_t ide_transfer_pc(ide_drive_t *drive, struct ide_atapi_pc *pc,
ide_startstop_t startstop; ide_startstop_t startstop;
u8 ireason; u8 ireason;
if (ide_wait_stat(&startstop, drive, DRQ_STAT, BUSY_STAT, WAIT_READY)) { if (ide_wait_stat(&startstop, drive, ATA_DRQ, ATA_BUSY, WAIT_READY)) {
printk(KERN_ERR "%s: Strange, packet command initiated yet " printk(KERN_ERR "%s: Strange, packet command initiated yet "
"DRQ isn't asserted\n", drive->name); "DRQ isn't asserted\n", drive->name);
return startstop; return startstop;
...@@ -241,7 +243,7 @@ ide_startstop_t ide_transfer_pc(ide_drive_t *drive, struct ide_atapi_pc *pc, ...@@ -241,7 +243,7 @@ ide_startstop_t ide_transfer_pc(ide_drive_t *drive, struct ide_atapi_pc *pc,
if (drive->media == ide_tape && !drive->scsi) if (drive->media == ide_tape && !drive->scsi)
ireason = ide_wait_ireason(drive, ireason); ireason = ide_wait_ireason(drive, ireason);
if ((ireason & CD) == 0 || (ireason & IO)) { if ((ireason & ATAPI_COD) == 0 || (ireason & ATAPI_IO)) {
printk(KERN_ERR "%s: (IO,CoD) != (0,1) while issuing " printk(KERN_ERR "%s: (IO,CoD) != (0,1) while issuing "
"a packet command\n", drive->name); "a packet command\n", drive->name);
return ide_do_reset(drive); return ide_do_reset(drive);
......
...@@ -436,7 +436,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) ...@@ -436,7 +436,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
ide_dump_status_no_sense(drive, "media error (blank)", ide_dump_status_no_sense(drive, "media error (blank)",
stat); stat);
do_end_request = 1; do_end_request = 1;
} else if ((err & ~ABRT_ERR) != 0) { } else if ((err & ~ATA_ABORTED) != 0) {
/* go to the default handler for other errors */ /* go to the default handler for other errors */
ide_error(drive, "cdrom_decode_status", stat); ide_error(drive, "cdrom_decode_status", stat);
return 1; return 1;
...@@ -457,7 +457,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) ...@@ -457,7 +457,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
* If we got a CHECK_CONDITION status, queue * If we got a CHECK_CONDITION status, queue
* a request sense command. * a request sense command.
*/ */
if (stat & ERR_STAT) if (stat & ATA_ERR)
cdrom_queue_request_sense(drive, NULL, NULL); cdrom_queue_request_sense(drive, NULL, NULL);
} else { } else {
blk_dump_rq_flags(rq, "ide-cd: bad rq"); blk_dump_rq_flags(rq, "ide-cd: bad rq");
...@@ -468,7 +468,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) ...@@ -468,7 +468,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
return 1; return 1;
end_request: end_request:
if (stat & ERR_STAT) { if (stat & ATA_ERR) {
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&ide_lock, flags); spin_lock_irqsave(&ide_lock, flags);
...@@ -574,7 +574,7 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive, ...@@ -574,7 +574,7 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive,
*/ */
/* check for errors */ /* check for errors */
if (cdrom_decode_status(drive, DRQ_STAT, NULL)) if (cdrom_decode_status(drive, ATA_DRQ, NULL))
return ide_stopped; return ide_stopped;
/* ok, next interrupt will be DMA interrupt */ /* ok, next interrupt will be DMA interrupt */
...@@ -582,8 +582,8 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive, ...@@ -582,8 +582,8 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive,
drive->waiting_for_dma = 1; drive->waiting_for_dma = 1;
} else { } else {
/* otherwise, we must wait for DRQ to get set */ /* otherwise, we must wait for DRQ to get set */
if (ide_wait_stat(&startstop, drive, DRQ_STAT, if (ide_wait_stat(&startstop, drive, ATA_DRQ,
BUSY_STAT, WAIT_READY)) ATA_BUSY, WAIT_READY))
return startstop; return startstop;
} }
...@@ -938,7 +938,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive) ...@@ -938,7 +938,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
thislen = len; thislen = len;
/* If DRQ is clear, the command has completed. */ /* If DRQ is clear, the command has completed. */
if ((stat & DRQ_STAT) == 0) { if ((stat & ATA_DRQ) == 0) {
if (blk_fs_request(rq)) { if (blk_fs_request(rq)) {
/* /*
* If we're not done reading/writing, complain. * If we're not done reading/writing, complain.
...@@ -1206,7 +1206,7 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq, ...@@ -1206,7 +1206,7 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq,
unsigned long elapsed = jiffies - info->start_seek; unsigned long elapsed = jiffies - info->start_seek;
int stat = hwif->tp_ops->read_status(hwif); int stat = hwif->tp_ops->read_status(hwif);
if ((stat & SEEK_STAT) != SEEK_STAT) { if ((stat & ATA_DSC) != ATA_DSC) {
if (elapsed < IDECD_SEEK_TIMEOUT) { if (elapsed < IDECD_SEEK_TIMEOUT) {
ide_stall_queue(drive, ide_stall_queue(drive,
IDECD_SEEK_TIMER); IDECD_SEEK_TIMER);
......
...@@ -106,7 +106,7 @@ ide_startstop_t ide_dma_intr (ide_drive_t *drive) ...@@ -106,7 +106,7 @@ ide_startstop_t ide_dma_intr (ide_drive_t *drive)
dma_stat = hwif->dma_ops->dma_end(drive); dma_stat = hwif->dma_ops->dma_end(drive);
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (OK_STAT(stat,DRIVE_READY,drive->bad_wstat|DRQ_STAT)) { if (OK_STAT(stat, DRIVE_READY, drive->bad_wstat | ATA_DRQ)) {
if (!dma_stat) { if (!dma_stat) {
struct request *rq = HWGROUP(drive)->rq; struct request *rq = HWGROUP(drive)->rq;
......
...@@ -945,7 +945,7 @@ static int idefloppy_get_format_progress(ide_drive_t *drive, int __user *arg) ...@@ -945,7 +945,7 @@ static int idefloppy_get_format_progress(ide_drive_t *drive, int __user *arg)
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
local_irq_restore(flags); local_irq_restore(flags);
progress_indication = ((stat & SEEK_STAT) == 0) ? 0 : 0x10000; progress_indication = ((stat & ATA_DSC) == 0) ? 0 : 0x10000;
} }
if (put_user(progress_indication, arg)) if (put_user(progress_indication, arg))
return (-EFAULT); return (-EFAULT);
......
...@@ -322,7 +322,7 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) ...@@ -322,7 +322,7 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err)
ide_task_t *task = (ide_task_t *)rq->special; ide_task_t *task = (ide_task_t *)rq->special;
if (rq->errors == 0) if (rq->errors == 0)
rq->errors = !OK_STAT(stat, READY_STAT, BAD_STAT); rq->errors = !OK_STAT(stat, ATA_DRDY, BAD_STAT);
if (task) { if (task) {
struct ide_taskfile *tf = &task->tf; struct ide_taskfile *tf = &task->tf;
...@@ -373,12 +373,12 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8 ...@@ -373,12 +373,12 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8
{ {
ide_hwif_t *hwif = drive->hwif; ide_hwif_t *hwif = drive->hwif;
if (stat & BUSY_STAT || ((stat & WRERR_STAT) && !drive->nowerr)) { if ((stat & ATA_BUSY) || ((stat & ATA_DF) && !drive->nowerr)) {
/* other bits are useless when BUSY */ /* other bits are useless when BUSY */
rq->errors |= ERROR_RESET; rq->errors |= ERROR_RESET;
} else if (stat & ERR_STAT) { } else if (stat & ATA_ERR) {
/* err has different meaning on cdrom and tape */ /* err has different meaning on cdrom and tape */
if (err == ABRT_ERR) { if (err == ATA_ABORTED) {
if (drive->select.b.lba && if (drive->select.b.lba &&
/* some newer drives don't support ATA_CMD_INIT_DEV_PARAMS */ /* some newer drives don't support ATA_CMD_INIT_DEV_PARAMS */
hwif->tp_ops->read_status(hwif) == ATA_CMD_INIT_DEV_PARAMS) hwif->tp_ops->read_status(hwif) == ATA_CMD_INIT_DEV_PARAMS)
...@@ -386,16 +386,16 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8 ...@@ -386,16 +386,16 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8
} else if ((err & BAD_CRC) == BAD_CRC) { } else if ((err & BAD_CRC) == BAD_CRC) {
/* UDMA crc error, just retry the operation */ /* UDMA crc error, just retry the operation */
drive->crc_count++; drive->crc_count++;
} else if (err & (BBD_ERR | ECC_ERR)) { } else if (err & (ATA_BBK | ATA_UNC)) {
/* retries won't help these */ /* retries won't help these */
rq->errors = ERROR_MAX; rq->errors = ERROR_MAX;
} else if (err & TRK0_ERR) { } else if (err & ATA_TRK0NF) {
/* help it find track zero */ /* help it find track zero */
rq->errors |= ERROR_RECAL; rq->errors |= ERROR_RECAL;
} }
} }
if ((stat & DRQ_STAT) && rq_data_dir(rq) == READ && if ((stat & ATA_DRQ) && rq_data_dir(rq) == READ &&
(hwif->host_flags & IDE_HFLAG_ERROR_STOPS_FIFO) == 0) { (hwif->host_flags & IDE_HFLAG_ERROR_STOPS_FIFO) == 0) {
int nsect = drive->mult_count ? drive->mult_count : 1; int nsect = drive->mult_count ? drive->mult_count : 1;
...@@ -407,7 +407,7 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8 ...@@ -407,7 +407,7 @@ static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, u8
return ide_stopped; return ide_stopped;
} }
if (hwif->tp_ops->read_status(hwif) & (BUSY_STAT | DRQ_STAT)) if (hwif->tp_ops->read_status(hwif) & (ATA_BUSY | ATA_DRQ))
rq->errors |= ERROR_RESET; rq->errors |= ERROR_RESET;
if ((rq->errors & ERROR_RESET) == ERROR_RESET) { if ((rq->errors & ERROR_RESET) == ERROR_RESET) {
...@@ -427,14 +427,14 @@ static ide_startstop_t ide_atapi_error(ide_drive_t *drive, struct request *rq, u ...@@ -427,14 +427,14 @@ static ide_startstop_t ide_atapi_error(ide_drive_t *drive, struct request *rq, u
{ {
ide_hwif_t *hwif = drive->hwif; ide_hwif_t *hwif = drive->hwif;
if (stat & BUSY_STAT || ((stat & WRERR_STAT) && !drive->nowerr)) { if ((stat & ATA_BUSY) || ((stat & ATA_DF) && !drive->nowerr)) {
/* other bits are useless when BUSY */ /* other bits are useless when BUSY */
rq->errors |= ERROR_RESET; rq->errors |= ERROR_RESET;
} else { } else {
/* add decoding error stuff */ /* add decoding error stuff */
} }
if (hwif->tp_ops->read_status(hwif) & (BUSY_STAT | DRQ_STAT)) if (hwif->tp_ops->read_status(hwif) & (ATA_BUSY | ATA_DRQ))
/* force an abort */ /* force an abort */
hwif->tp_ops->exec_command(hwif, ATA_CMD_IDLEIMMEDIATE); hwif->tp_ops->exec_command(hwif, ATA_CMD_IDLEIMMEDIATE);
...@@ -804,7 +804,8 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) ...@@ -804,7 +804,8 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq)
ide_check_pm_state(drive, rq); ide_check_pm_state(drive, rq);
SELECT_DRIVE(drive); SELECT_DRIVE(drive);
if (ide_wait_stat(&startstop, drive, drive->ready_stat, BUSY_STAT|DRQ_STAT, WAIT_READY)) { if (ide_wait_stat(&startstop, drive, drive->ready_stat,
ATA_BUSY | ATA_DRQ, WAIT_READY)) {
printk(KERN_ERR "%s: drive not ready for command\n", drive->name); printk(KERN_ERR "%s: drive not ready for command\n", drive->name);
return startstop; return startstop;
} }
...@@ -1324,7 +1325,7 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup) ...@@ -1324,7 +1325,7 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
if (hwif->irq == irq) { if (hwif->irq == irq) {
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (!OK_STAT(stat, READY_STAT, BAD_STAT)) { if (!OK_STAT(stat, ATA_DRDY, BAD_STAT)) {
/* Try to not flood the console with msgs */ /* Try to not flood the console with msgs */
static unsigned long last_msgtime, count; static unsigned long last_msgtime, count;
++count; ++count;
......
...@@ -473,7 +473,7 @@ int drive_is_ready (ide_drive_t *drive) ...@@ -473,7 +473,7 @@ int drive_is_ready (ide_drive_t *drive)
/* Note: this may clear a pending IRQ!! */ /* Note: this may clear a pending IRQ!! */
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (stat & BUSY_STAT) if (stat & ATA_BUSY)
/* drive busy: definitely not interrupting */ /* drive busy: definitely not interrupting */
return 0; return 0;
...@@ -505,10 +505,10 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad, unsigned long ti ...@@ -505,10 +505,10 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad, unsigned long ti
udelay(1); /* spec allows drive 400ns to assert "BUSY" */ udelay(1); /* spec allows drive 400ns to assert "BUSY" */
stat = tp_ops->read_status(hwif); stat = tp_ops->read_status(hwif);
if (stat & BUSY_STAT) { if (stat & ATA_BUSY) {
local_irq_set(flags); local_irq_set(flags);
timeout += jiffies; timeout += jiffies;
while ((stat = tp_ops->read_status(hwif)) & BUSY_STAT) { while ((stat = tp_ops->read_status(hwif)) & ATA_BUSY) {
if (time_after(jiffies, timeout)) { if (time_after(jiffies, timeout)) {
/* /*
* One last read after the timeout in case * One last read after the timeout in case
...@@ -516,7 +516,7 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad, unsigned long ti ...@@ -516,7 +516,7 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad, unsigned long ti
* progress during the timeout.. * progress during the timeout..
*/ */
stat = tp_ops->read_status(hwif); stat = tp_ops->read_status(hwif);
if (!(stat & BUSY_STAT)) if ((stat & ATA_BUSY) == 0)
break; break;
local_irq_restore(flags); local_irq_restore(flags);
...@@ -685,12 +685,12 @@ int ide_driveid_update(ide_drive_t *drive) ...@@ -685,12 +685,12 @@ int ide_driveid_update(ide_drive_t *drive)
msleep(50); /* give drive a breather */ msleep(50); /* give drive a breather */
stat = tp_ops->read_altstatus(hwif); stat = tp_ops->read_altstatus(hwif);
} while (stat & BUSY_STAT); } while (stat & ATA_BUSY);
msleep(50); /* wait for IRQ and DRQ_STAT */ msleep(50); /* wait for IRQ and ATA_DRQ */
stat = tp_ops->read_status(hwif); stat = tp_ops->read_status(hwif);
if (!OK_STAT(stat, DRQ_STAT, BAD_R_STAT)) { if (!OK_STAT(stat, ATA_DRQ, BAD_R_STAT)) {
SELECT_MASK(drive, 0); SELECT_MASK(drive, 0);
printk("%s: CHECK for good STATUS\n", drive->name); printk("%s: CHECK for good STATUS\n", drive->name);
return 0; return 0;
...@@ -776,7 +776,7 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) ...@@ -776,7 +776,7 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
tp_ops->set_irq(hwif, 1); tp_ops->set_irq(hwif, 1);
error = __ide_wait_stat(drive, drive->ready_stat, error = __ide_wait_stat(drive, drive->ready_stat,
BUSY_STAT|DRQ_STAT|ERR_STAT, ATA_BUSY | ATA_DRQ | ATA_ERR,
WAIT_CMD, &stat); WAIT_CMD, &stat);
SELECT_MASK(drive, 0); SELECT_MASK(drive, 0);
...@@ -923,7 +923,7 @@ static ide_startstop_t atapi_reset_pollfunc (ide_drive_t *drive) ...@@ -923,7 +923,7 @@ static ide_startstop_t atapi_reset_pollfunc (ide_drive_t *drive)
udelay (10); udelay (10);
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (OK_STAT(stat, 0, BUSY_STAT)) if (OK_STAT(stat, 0, ATA_BUSY))
printk("%s: ATAPI reset complete\n", drive->name); printk("%s: ATAPI reset complete\n", drive->name);
else { else {
if (time_before(jiffies, hwgroup->poll_timeout)) { if (time_before(jiffies, hwgroup->poll_timeout)) {
...@@ -969,7 +969,7 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive) ...@@ -969,7 +969,7 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive)
tmp = hwif->tp_ops->read_status(hwif); tmp = hwif->tp_ops->read_status(hwif);
if (!OK_STAT(tmp, 0, BUSY_STAT)) { if (!OK_STAT(tmp, 0, ATA_BUSY)) {
if (time_before(jiffies, hwgroup->poll_timeout)) { if (time_before(jiffies, hwgroup->poll_timeout)) {
ide_set_handler(drive, &reset_pollfunc, HZ/20, NULL); ide_set_handler(drive, &reset_pollfunc, HZ/20, NULL);
/* continue polling */ /* continue polling */
...@@ -1183,7 +1183,7 @@ int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout) ...@@ -1183,7 +1183,7 @@ int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout)
*/ */
mdelay(1); mdelay(1);
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if ((stat & BUSY_STAT) == 0) if ((stat & ATA_BUSY) == 0)
return 0; return 0;
/* /*
* Assume a value of 0xff means nothing is connected to * Assume a value of 0xff means nothing is connected to
......
...@@ -340,16 +340,16 @@ static void ide_dump_sector(ide_drive_t *drive) ...@@ -340,16 +340,16 @@ static void ide_dump_sector(ide_drive_t *drive)
static void ide_dump_ata_error(ide_drive_t *drive, u8 err) static void ide_dump_ata_error(ide_drive_t *drive, u8 err)
{ {
printk("{ "); printk("{ ");
if (err & ABRT_ERR) printk("DriveStatusError "); if (err & ATA_ABORTED) printk("DriveStatusError ");
if (err & ICRC_ERR) if (err & ATA_ICRC)
printk((err & ABRT_ERR) ? "BadCRC " : "BadSector "); printk((err & ATA_ABORTED) ? "BadCRC " : "BadSector ");
if (err & ECC_ERR) printk("UncorrectableError "); if (err & ATA_UNC) printk("UncorrectableError ");
if (err & ID_ERR) printk("SectorIdNotFound "); if (err & ATA_IDNF) printk("SectorIdNotFound ");
if (err & TRK0_ERR) printk("TrackZeroNotFound "); if (err & ATA_TRK0NF) printk("TrackZeroNotFound ");
if (err & MARK_ERR) printk("AddrMarkNotFound "); if (err & ATA_AMNF) printk("AddrMarkNotFound ");
printk("}"); printk("}");
if ((err & (BBD_ERR | ABRT_ERR)) == BBD_ERR || if ((err & (ATA_BBK | ATA_ABORTED)) == ATA_BBK ||
(err & (ECC_ERR|ID_ERR|MARK_ERR))) { (err & (ATA_UNC | ATA_IDNF | ATA_AMNF))) {
ide_dump_sector(drive); ide_dump_sector(drive);
if (HWGROUP(drive) && HWGROUP(drive)->rq) if (HWGROUP(drive) && HWGROUP(drive)->rq)
printk(", sector=%llu", printk(", sector=%llu",
...@@ -361,12 +361,12 @@ static void ide_dump_ata_error(ide_drive_t *drive, u8 err) ...@@ -361,12 +361,12 @@ static void ide_dump_ata_error(ide_drive_t *drive, u8 err)
static void ide_dump_atapi_error(ide_drive_t *drive, u8 err) static void ide_dump_atapi_error(ide_drive_t *drive, u8 err)
{ {
printk("{ "); printk("{ ");
if (err & ILI_ERR) printk("IllegalLengthIndication "); if (err & ATAPI_ILI) printk("IllegalLengthIndication ");
if (err & EOM_ERR) printk("EndOfMedia "); if (err & ATAPI_EOM) printk("EndOfMedia ");
if (err & ABRT_ERR) printk("AbortedCommand "); if (err & ATA_ABORTED) printk("AbortedCommand ");
if (err & MCR_ERR) printk("MediaChangeRequested "); if (err & ATA_MCR) printk("MediaChangeRequested ");
if (err & LFS_ERR) printk("LastFailedSense=0x%02x ", if (err & ATAPI_LFS) printk("LastFailedSense=0x%02x ",
(err & LFS_ERR) >> 4); (err & ATAPI_LFS) >> 4);
printk("}\n"); printk("}\n");
} }
...@@ -388,19 +388,19 @@ u8 ide_dump_status(ide_drive_t *drive, const char *msg, u8 stat) ...@@ -388,19 +388,19 @@ u8 ide_dump_status(ide_drive_t *drive, const char *msg, u8 stat)
local_irq_save(flags); local_irq_save(flags);
printk("%s: %s: status=0x%02x { ", drive->name, msg, stat); printk("%s: %s: status=0x%02x { ", drive->name, msg, stat);
if (stat & BUSY_STAT) if (stat & ATA_BUSY)
printk("Busy "); printk("Busy ");
else { else {
if (stat & READY_STAT) printk("DriveReady "); if (stat & ATA_DRDY) printk("DriveReady ");
if (stat & WRERR_STAT) printk("DeviceFault "); if (stat & ATA_DF) printk("DeviceFault ");
if (stat & SEEK_STAT) printk("SeekComplete "); if (stat & ATA_DSC) printk("SeekComplete ");
if (stat & DRQ_STAT) printk("DataRequest "); if (stat & ATA_DRQ) printk("DataRequest ");
if (stat & ECC_STAT) printk("CorrectedError "); if (stat & ATA_CORR) printk("CorrectedError ");
if (stat & INDEX_STAT) printk("Index "); if (stat & ATA_IDX) printk("Index ");
if (stat & ERR_STAT) printk("Error "); if (stat & ATA_ERR) printk("Error ");
} }
printk("}\n"); printk("}\n");
if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) { if ((stat & (ATA_BUSY | ATA_ERR)) == ATA_ERR) {
err = ide_read_error(drive); err = ide_read_error(drive);
printk("%s: %s: error=0x%02x ", drive->name, msg, err); printk("%s: %s: error=0x%02x ", drive->name, msg, err);
if (drive->media == ide_disk) if (drive->media == ide_disk)
......
...@@ -264,7 +264,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd) ...@@ -264,7 +264,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd)
if (io_ports->ctl_addr) { if (io_ports->ctl_addr) {
a = tp_ops->read_altstatus(hwif); a = tp_ops->read_altstatus(hwif);
s = tp_ops->read_status(hwif); s = tp_ops->read_status(hwif);
if ((a ^ s) & ~INDEX_STAT) if ((a ^ s) & ~ATA_IDX)
/* ancient Seagate drives, broken interfaces */ /* ancient Seagate drives, broken interfaces */
printk(KERN_INFO "%s: probing with STATUS(0x%02x) " printk(KERN_INFO "%s: probing with STATUS(0x%02x) "
"instead of ALTSTATUS(0x%02x)\n", "instead of ALTSTATUS(0x%02x)\n",
...@@ -301,13 +301,13 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd) ...@@ -301,13 +301,13 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd)
msleep(50); msleep(50);
s = use_altstatus ? tp_ops->read_altstatus(hwif) s = use_altstatus ? tp_ops->read_altstatus(hwif)
: tp_ops->read_status(hwif); : tp_ops->read_status(hwif);
} while (s & BUSY_STAT); } while (s & ATA_BUSY);
/* wait for IRQ and DRQ_STAT */ /* wait for IRQ and ATA_DRQ */
msleep(50); msleep(50);
s = tp_ops->read_status(hwif); s = tp_ops->read_status(hwif);
if (OK_STAT(s, DRQ_STAT, BAD_R_STAT)) { if (OK_STAT(s, ATA_DRQ, BAD_R_STAT)) {
unsigned long flags; unsigned long flags;
/* local CPU only; some systems need this */ /* local CPU only; some systems need this */
...@@ -391,7 +391,7 @@ static int ide_busy_sleep(ide_hwif_t *hwif) ...@@ -391,7 +391,7 @@ static int ide_busy_sleep(ide_hwif_t *hwif)
do { do {
msleep(50); msleep(50);
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if ((stat & BUSY_STAT) == 0) if ((stat & ATA_BUSY) == 0)
return 0; return 0;
} while (time_before(jiffies, timeout)); } while (time_before(jiffies, timeout));
...@@ -460,7 +460,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd) ...@@ -460,7 +460,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
if (drive->select.b.unit != 0) { if (drive->select.b.unit != 0) {
/* exit with drive0 selected */ /* exit with drive0 selected */
SELECT_DRIVE(&hwif->drives[0]); SELECT_DRIVE(&hwif->drives[0]);
/* allow BUSY_STAT to assert & clear */ /* allow ATA_BUSY to assert & clear */
msleep(50); msleep(50);
} }
/* no i/f present: mmm.. this should be a 4 -ml */ /* no i/f present: mmm.. this should be a 4 -ml */
...@@ -469,7 +469,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd) ...@@ -469,7 +469,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
stat = tp_ops->read_status(hwif); stat = tp_ops->read_status(hwif);
if (OK_STAT(stat, READY_STAT, BUSY_STAT) || if (OK_STAT(stat, ATA_DRDY, ATA_BUSY) ||
drive->present || cmd == ATA_CMD_ID_ATAPI) { drive->present || cmd == ATA_CMD_ID_ATAPI) {
/* send cmd and wait */ /* send cmd and wait */
if ((rc = try_to_identify(drive, cmd))) { if ((rc = try_to_identify(drive, cmd))) {
...@@ -479,7 +479,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd) ...@@ -479,7 +479,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
stat = tp_ops->read_status(hwif); stat = tp_ops->read_status(hwif);
if (stat == (BUSY_STAT | READY_STAT)) if (stat == (ATA_BUSY | ATA_DRDY))
return 4; return 4;
if (rc == 1 && cmd == ATA_CMD_ID_ATAPI) { if (rc == 1 && cmd == ATA_CMD_ID_ATAPI) {
......
...@@ -920,8 +920,8 @@ static ide_startstop_t idetape_media_access_finished(ide_drive_t *drive) ...@@ -920,8 +920,8 @@ static ide_startstop_t idetape_media_access_finished(ide_drive_t *drive)
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (stat & SEEK_STAT) { if (stat & ATA_DSC) {
if (stat & ERR_STAT) { if (stat & ATA_ERR) {
/* Error detected */ /* Error detected */
if (pc->c[0] != TEST_UNIT_READY) if (pc->c[0] != TEST_UNIT_READY)
printk(KERN_ERR "ide-tape: %s: I/O error, ", printk(KERN_ERR "ide-tape: %s: I/O error, ",
...@@ -1022,7 +1022,7 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive, ...@@ -1022,7 +1022,7 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive,
} }
if (!test_and_clear_bit(IDE_AFLAG_IGNORE_DSC, &drive->atapi_flags) && if (!test_and_clear_bit(IDE_AFLAG_IGNORE_DSC, &drive->atapi_flags) &&
(stat & SEEK_STAT) == 0) { (stat & ATA_DSC) == 0) {
if (postponed_rq == NULL) { if (postponed_rq == NULL) {
tape->dsc_polling_start = jiffies; tape->dsc_polling_start = jiffies;
tape->dsc_poll_freq = tape->best_dsc_rw_freq; tape->dsc_poll_freq = tape->best_dsc_rw_freq;
......
...@@ -136,7 +136,7 @@ static ide_startstop_t set_multmode_intr(ide_drive_t *drive) ...@@ -136,7 +136,7 @@ static ide_startstop_t set_multmode_intr(ide_drive_t *drive)
local_irq_enable_in_hardirq(); local_irq_enable_in_hardirq();
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (OK_STAT(stat, READY_STAT, BAD_STAT)) if (OK_STAT(stat, ATA_DRDY, BAD_STAT))
drive->mult_count = drive->mult_req; drive->mult_count = drive->mult_req;
else { else {
drive->mult_req = drive->mult_count = 0; drive->mult_req = drive->mult_count = 0;
...@@ -159,15 +159,15 @@ static ide_startstop_t set_geometry_intr(ide_drive_t *drive) ...@@ -159,15 +159,15 @@ static ide_startstop_t set_geometry_intr(ide_drive_t *drive)
while (1) { while (1) {
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if ((stat & BUSY_STAT) == 0 || retries-- == 0) if ((stat & ATA_BUSY) == 0 || retries-- == 0)
break; break;
udelay(10); udelay(10);
}; };
if (OK_STAT(stat, READY_STAT, BAD_STAT)) if (OK_STAT(stat, ATA_DRDY, BAD_STAT))
return ide_stopped; return ide_stopped;
if (stat & (ERR_STAT|DRQ_STAT)) if (stat & (ATA_ERR | ATA_DRQ))
return ide_error(drive, "set_geometry_intr", stat); return ide_error(drive, "set_geometry_intr", stat);
ide_set_handler(drive, &set_geometry_intr, WAIT_WORSTCASE, NULL); ide_set_handler(drive, &set_geometry_intr, WAIT_WORSTCASE, NULL);
...@@ -185,7 +185,7 @@ static ide_startstop_t recal_intr(ide_drive_t *drive) ...@@ -185,7 +185,7 @@ static ide_startstop_t recal_intr(ide_drive_t *drive)
local_irq_enable_in_hardirq(); local_irq_enable_in_hardirq();
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (!OK_STAT(stat, READY_STAT, BAD_STAT)) if (!OK_STAT(stat, ATA_DRDY, BAD_STAT))
return ide_error(drive, "recal_intr", stat); return ide_error(drive, "recal_intr", stat);
return ide_stopped; return ide_stopped;
} }
...@@ -202,7 +202,7 @@ static ide_startstop_t task_no_data_intr(ide_drive_t *drive) ...@@ -202,7 +202,7 @@ static ide_startstop_t task_no_data_intr(ide_drive_t *drive)
local_irq_enable_in_hardirq(); local_irq_enable_in_hardirq();
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (!OK_STAT(stat, READY_STAT, BAD_STAT)) if (!OK_STAT(stat, ATA_DRDY, BAD_STAT))
return ide_error(drive, "task_no_data_intr", stat); return ide_error(drive, "task_no_data_intr", stat);
/* calls ide_end_drive_cmd */ /* calls ide_end_drive_cmd */
...@@ -225,13 +225,13 @@ static u8 wait_drive_not_busy(ide_drive_t *drive) ...@@ -225,13 +225,13 @@ static u8 wait_drive_not_busy(ide_drive_t *drive)
for (retries = 0; retries < 1000; retries++) { for (retries = 0; retries < 1000; retries++) {
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (stat & BUSY_STAT) if (stat & ATA_BUSY)
udelay(10); udelay(10);
else else
break; break;
} }
if (stat & BUSY_STAT) if (stat & ATA_BUSY)
printk(KERN_ERR "%s: drive still BUSY!\n", drive->name); printk(KERN_ERR "%s: drive still BUSY!\n", drive->name);
return stat; return stat;
...@@ -390,7 +390,7 @@ void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat) ...@@ -390,7 +390,7 @@ void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat)
static ide_startstop_t task_in_unexpected(ide_drive_t *drive, struct request *rq, u8 stat) static ide_startstop_t task_in_unexpected(ide_drive_t *drive, struct request *rq, u8 stat)
{ {
/* Command all done? */ /* Command all done? */
if (OK_STAT(stat, READY_STAT, BUSY_STAT)) { if (OK_STAT(stat, ATA_DRDY, ATA_BUSY)) {
task_end_request(drive, rq, stat); task_end_request(drive, rq, stat);
return ide_stopped; return ide_stopped;
} }
...@@ -410,11 +410,11 @@ static ide_startstop_t task_in_intr(ide_drive_t *drive) ...@@ -410,11 +410,11 @@ static ide_startstop_t task_in_intr(ide_drive_t *drive)
u8 stat = hwif->tp_ops->read_status(hwif); u8 stat = hwif->tp_ops->read_status(hwif);
/* Error? */ /* Error? */
if (stat & ERR_STAT) if (stat & ATA_ERR)
return task_error(drive, rq, __func__, stat); return task_error(drive, rq, __func__, stat);
/* Didn't want any data? Odd. */ /* Didn't want any data? Odd. */
if (!(stat & DRQ_STAT)) if ((stat & ATA_DRQ) == 0)
return task_in_unexpected(drive, rq, stat); return task_in_unexpected(drive, rq, stat);
ide_pio_datablock(drive, rq, 0); ide_pio_datablock(drive, rq, 0);
...@@ -447,7 +447,7 @@ static ide_startstop_t task_out_intr (ide_drive_t *drive) ...@@ -447,7 +447,7 @@ static ide_startstop_t task_out_intr (ide_drive_t *drive)
return task_error(drive, rq, __func__, stat); return task_error(drive, rq, __func__, stat);
/* Deal with unexpected ATA data phase. */ /* Deal with unexpected ATA data phase. */
if (((stat & DRQ_STAT) == 0) ^ !hwif->nleft) if (((stat & ATA_DRQ) == 0) ^ !hwif->nleft)
return task_error(drive, rq, __func__, stat); return task_error(drive, rq, __func__, stat);
if (!hwif->nleft) { if (!hwif->nleft) {
...@@ -466,7 +466,7 @@ static ide_startstop_t pre_task_out_intr(ide_drive_t *drive, struct request *rq) ...@@ -466,7 +466,7 @@ static ide_startstop_t pre_task_out_intr(ide_drive_t *drive, struct request *rq)
{ {
ide_startstop_t startstop; ide_startstop_t startstop;
if (ide_wait_stat(&startstop, drive, DRQ_STAT, if (ide_wait_stat(&startstop, drive, ATA_DRQ,
drive->bad_wstat, WAIT_DRQ)) { drive->bad_wstat, WAIT_DRQ)) {
printk(KERN_ERR "%s: no DRQ after issuing %sWRITE%s\n", printk(KERN_ERR "%s: no DRQ after issuing %sWRITE%s\n",
drive->name, drive->name,
......
...@@ -119,7 +119,7 @@ static void ide_port_init_devices_data(ide_hwif_t *hwif) ...@@ -119,7 +119,7 @@ static void ide_port_init_devices_data(ide_hwif_t *hwif)
drive->media = ide_disk; drive->media = ide_disk;
drive->select.all = (unit<<4)|0xa0; drive->select.all = (unit<<4)|0xa0;
drive->hwif = hwif; drive->hwif = hwif;
drive->ready_stat = READY_STAT; drive->ready_stat = ATA_DRDY;
drive->bad_wstat = BAD_W_STAT; drive->bad_wstat = BAD_W_STAT;
drive->special.b.recalibrate = 1; drive->special.b.recalibrate = 1;
drive->special.b.set_geometry = 1; drive->special.b.set_geometry = 1;
...@@ -884,7 +884,7 @@ MODULE_PARM_DESC(noprobe, "skip probing for a device"); ...@@ -884,7 +884,7 @@ MODULE_PARM_DESC(noprobe, "skip probing for a device");
static unsigned int ide_nowerr; static unsigned int ide_nowerr;
module_param_call(nowerr, ide_set_dev_param_mask, NULL, &ide_nowerr, 0); module_param_call(nowerr, ide_set_dev_param_mask, NULL, &ide_nowerr, 0);
MODULE_PARM_DESC(nowerr, "ignore the WRERR_STAT bit for a device"); MODULE_PARM_DESC(nowerr, "ignore the ATA_DF bit for a device");
static unsigned int ide_cdroms; static unsigned int ide_cdroms;
...@@ -949,7 +949,7 @@ static void ide_dev_apply_params(ide_drive_t *drive) ...@@ -949,7 +949,7 @@ static void ide_dev_apply_params(ide_drive_t *drive)
drive->noprobe = 1; drive->noprobe = 1;
} }
if (ide_nowerr & (1 << i)) { if (ide_nowerr & (1 << i)) {
printk(KERN_INFO "ide: ignoring the WRERR_STAT bit for %s\n", printk(KERN_INFO "ide: ignoring the ATA_DF bit for %s\n",
drive->name); drive->name);
drive->bad_wstat = BAD_R_STAT; drive->bad_wstat = BAD_R_STAT;
} }
...@@ -970,7 +970,7 @@ static void ide_dev_apply_params(ide_drive_t *drive) ...@@ -970,7 +970,7 @@ static void ide_dev_apply_params(ide_drive_t *drive)
drive->cyl, drive->head, drive->sect); drive->cyl, drive->head, drive->sect);
drive->present = 1; drive->present = 1;
drive->media = ide_disk; drive->media = ide_disk;
drive->ready_stat = READY_STAT; drive->ready_stat = ATA_DRDY;
} }
} }
......
...@@ -274,9 +274,9 @@ static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif) ...@@ -274,9 +274,9 @@ static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif)
do { do {
udelay(50); udelay(50);
stat = hwif->tp_ops->read_status(hwif); stat = hwif->tp_ops->read_status(hwif);
if (stat == 0xff) if (stat == 0xff)
break; break;
} while ((stat & BUSY_STAT) && --timeout); } while ((stat & ATA_BUSY) && --timeout);
#endif #endif
} }
......
...@@ -400,7 +400,7 @@ static int scc_dma_end(ide_drive_t *drive) ...@@ -400,7 +400,7 @@ static int scc_dma_end(ide_drive_t *drive)
/* errata A308 workaround: Step5 (check data loss) */ /* errata A308 workaround: Step5 (check data loss) */
/* We don't check non ide_disk because it is limited to UDMA4 */ /* We don't check non ide_disk because it is limited to UDMA4 */
if (!(in_be32((void __iomem *)hwif->io_ports.ctl_addr) if (!(in_be32((void __iomem *)hwif->io_ports.ctl_addr)
& ERR_STAT) && & ATA_ERR) &&
drive->media == ide_disk && drive->current_speed > XFER_UDMA_4) { drive->media == ide_disk && drive->current_speed > XFER_UDMA_4) {
reg = in_be32((void __iomem *)intsts_port); reg = in_be32((void __iomem *)intsts_port);
if (!(reg & INTSTS_ACTEINT)) { if (!(reg & INTSTS_ACTEINT)) {
...@@ -504,7 +504,7 @@ static int scc_dma_test_irq(ide_drive_t *drive) ...@@ -504,7 +504,7 @@ static int scc_dma_test_irq(ide_drive_t *drive)
/* SCC errata A252,A308 workaround: Step4 */ /* SCC errata A252,A308 workaround: Step4 */
if ((in_be32((void __iomem *)hwif->io_ports.ctl_addr) if ((in_be32((void __iomem *)hwif->io_ports.ctl_addr)
& ERR_STAT) && & ATA_ERR) &&
(int_stat & INTSTS_INTRQ)) (int_stat & INTSTS_INTRQ))
return 1; return 1;
......
...@@ -244,7 +244,7 @@ idescsi_atapi_error(ide_drive_t *drive, struct request *rq, u8 stat, u8 err) ...@@ -244,7 +244,7 @@ idescsi_atapi_error(ide_drive_t *drive, struct request *rq, u8 stat, u8 err)
{ {
ide_hwif_t *hwif = drive->hwif; ide_hwif_t *hwif = drive->hwif;
if (hwif->tp_ops->read_status(hwif) & (BUSY_STAT | DRQ_STAT)) if (hwif->tp_ops->read_status(hwif) & (ATA_BUSY | ATA_DRQ))
/* force an abort */ /* force an abort */
hwif->tp_ops->exec_command(hwif, ATA_CMD_IDLEIMMEDIATE); hwif->tp_ops->exec_command(hwif, ATA_CMD_IDLEIMMEDIATE);
......
...@@ -87,12 +87,13 @@ struct ide_io_ports { ...@@ -87,12 +87,13 @@ struct ide_io_ports {
}; };
#define OK_STAT(stat,good,bad) (((stat)&((good)|(bad)))==(good)) #define OK_STAT(stat,good,bad) (((stat)&((good)|(bad)))==(good))
#define BAD_R_STAT (BUSY_STAT | ERR_STAT)
#define BAD_W_STAT (BAD_R_STAT | WRERR_STAT)
#define BAD_STAT (BAD_R_STAT | DRQ_STAT)
#define DRIVE_READY (READY_STAT | SEEK_STAT)
#define BAD_CRC (ABRT_ERR | ICRC_ERR) #define BAD_R_STAT (ATA_BUSY | ATA_ERR)
#define BAD_W_STAT (BAD_R_STAT | ATA_DF)
#define BAD_STAT (BAD_R_STAT | ATA_DRQ)
#define DRIVE_READY (ATA_DRDY | ATA_DSC)
#define BAD_CRC (ATA_ABORTED | ATA_ICRC)
#define SATA_NR_PORTS (3) /* 16 possible ?? */ #define SATA_NR_PORTS (3) /* 16 possible ?? */
...@@ -438,8 +439,8 @@ struct ide_drive_s { ...@@ -438,8 +439,8 @@ struct ide_drive_s {
u8 mult_req; /* requested multiple sector setting */ u8 mult_req; /* requested multiple sector setting */
u8 tune_req; /* requested drive tuning setting */ u8 tune_req; /* requested drive tuning setting */
u8 io_32bit; /* 0=16-bit, 1=32-bit, 2/3=32bit+sync */ u8 io_32bit; /* 0=16-bit, 1=32-bit, 2/3=32bit+sync */
u8 bad_wstat; /* used for ignoring WRERR_STAT */ u8 bad_wstat; /* used for ignoring ATA_DF */
u8 nowerr; /* used for ignoring WRERR_STAT */ u8 nowerr; /* used for ignoring ATA_DF */
u8 sect0; /* offset of first sector for DM6:DDO */ u8 sect0; /* offset of first sector for DM6:DDO */
u8 head; /* "real" number of heads */ u8 head; /* "real" number of heads */
u8 sect; /* "real" sectors per track */ u8 sect; /* "real" sectors per track */
......
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