Commit 32b3fe4fff0974d823a0c0d17d7b25690ecd5fc8
1 parent
24cc434acc
Exists in
master
and in
20 other branches
ide: always use ->OUTBSYNC method for executing commands
Always use ->OUTBSYNC method for executing commands so the posting is done if needed (this affects only pmac and scc_pata host drivers at the moment). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Showing 6 changed files with 14 additions and 9 deletions Side-by-side Diff
drivers/ide/ide-floppy.c
... | ... | @@ -696,7 +696,8 @@ |
696 | 696 | return ide_started; |
697 | 697 | } else { |
698 | 698 | /* Issue the packet command */ |
699 | - hwif->OUTB(WIN_PACKETCMD, hwif->io_ports.command_addr); | |
699 | + hwif->OUTBSYNC(drive, WIN_PACKETCMD, | |
700 | + hwif->io_ports.command_addr); | |
700 | 701 | return (*pkt_xfer_routine) (drive); |
701 | 702 | } |
702 | 703 | } |
drivers/ide/ide-io.c
... | ... | @@ -502,7 +502,8 @@ |
502 | 502 | |
503 | 503 | if (ide_read_status(drive) & (BUSY_STAT | DRQ_STAT)) |
504 | 504 | /* force an abort */ |
505 | - hwif->OUTB(WIN_IDLEIMMEDIATE, hwif->io_ports.command_addr); | |
505 | + hwif->OUTBSYNC(drive, WIN_IDLEIMMEDIATE, | |
506 | + hwif->io_ports.command_addr); | |
506 | 507 | |
507 | 508 | if (rq->errors >= ERROR_MAX) { |
508 | 509 | ide_kill_rq(drive, rq); |
drivers/ide/ide-iops.c
... | ... | @@ -593,7 +593,7 @@ |
593 | 593 | SELECT_MASK(drive, 1); |
594 | 594 | ide_set_irq(drive, 1); |
595 | 595 | msleep(50); |
596 | - hwif->OUTB(WIN_IDENTIFY, hwif->io_ports.command_addr); | |
596 | + hwif->OUTBSYNC(drive, WIN_IDENTIFY, hwif->io_ports.command_addr); | |
597 | 597 | timeout = jiffies + WAIT_WORSTCASE; |
598 | 598 | do { |
599 | 599 | if (time_after(jiffies, timeout)) { |
drivers/ide/ide-probe.c
... | ... | @@ -293,7 +293,7 @@ |
293 | 293 | hwif->OUTB(0, io_ports->feature_addr); |
294 | 294 | |
295 | 295 | /* ask drive for ID */ |
296 | - hwif->OUTB(cmd, io_ports->command_addr); | |
296 | + hwif->OUTBSYNC(drive, cmd, io_ports->command_addr); | |
297 | 297 | |
298 | 298 | timeout = ((cmd == WIN_IDENTIFY) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; |
299 | 299 | timeout += jiffies; |
... | ... | @@ -480,7 +480,7 @@ |
480 | 480 | msleep(50); |
481 | 481 | hwif->OUTB(drive->select.all, io_ports->device_addr); |
482 | 482 | msleep(50); |
483 | - hwif->OUTB(WIN_SRST, io_ports->command_addr); | |
483 | + hwif->OUTBSYNC(drive, WIN_SRST, io_ports->command_addr); | |
484 | 484 | (void)ide_busy_sleep(hwif); |
485 | 485 | rc = try_to_identify(drive, cmd); |
486 | 486 | } |
... | ... | @@ -516,7 +516,7 @@ |
516 | 516 | printk("%s: enabling %s -- ", hwif->name, drive->id->model); |
517 | 517 | SELECT_DRIVE(drive); |
518 | 518 | msleep(50); |
519 | - hwif->OUTB(EXABYTE_ENABLE_NEST, hwif->io_ports.command_addr); | |
519 | + hwif->OUTBSYNC(drive, EXABYTE_ENABLE_NEST, hwif->io_ports.command_addr); | |
520 | 520 | |
521 | 521 | if (ide_busy_sleep(hwif)) { |
522 | 522 | printk(KERN_CONT "failed (timeout)\n"); |
drivers/ide/ide-tape.c
... | ... | @@ -1056,7 +1056,8 @@ |
1056 | 1056 | IDETAPE_WAIT_CMD, NULL); |
1057 | 1057 | return ide_started; |
1058 | 1058 | } else { |
1059 | - hwif->OUTB(WIN_PACKETCMD, hwif->io_ports.command_addr); | |
1059 | + hwif->OUTBSYNC(drive, WIN_PACKETCMD, | |
1060 | + hwif->io_ports.command_addr); | |
1060 | 1061 | return idetape_transfer_pc(drive); |
1061 | 1062 | } |
1062 | 1063 | } |
drivers/scsi/ide-scsi.c
... | ... | @@ -256,7 +256,8 @@ |
256 | 256 | |
257 | 257 | if (ide_read_status(drive) & (BUSY_STAT | DRQ_STAT)) |
258 | 258 | /* force an abort */ |
259 | - hwif->OUTB(WIN_IDLEIMMEDIATE, hwif->io_ports.command_addr); | |
259 | + hwif->OUTBSYNC(drive, WIN_IDLEIMMEDIATE, | |
260 | + hwif->io_ports.command_addr); | |
260 | 261 | |
261 | 262 | rq->errors++; |
262 | 263 | |
... | ... | @@ -573,7 +574,8 @@ |
573 | 574 | return ide_started; |
574 | 575 | } else { |
575 | 576 | /* Issue the packet command */ |
576 | - hwif->OUTB(WIN_PACKETCMD, hwif->io_ports.command_addr); | |
577 | + hwif->OUTBSYNC(drive, WIN_PACKETCMD, | |
578 | + hwif->io_ports.command_addr); | |
577 | 579 | return idescsi_transfer_pc(drive); |
578 | 580 | } |
579 | 581 | } |