ide-{floppy,tape,scsi}: fix register loading order when issuing packet command

Load IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command.

It shouldn't affect anything (just a usual paranoia to separate changes
which change the way in which hardware is accessed from code cleanups).
Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
上级 3a6a3549
......@@ -1071,8 +1071,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p
HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
/* Use PIO/DMA */
hwif->OUTB(dma, IDE_FEATURE_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG);
if (dma) { /* Begin DMA, if necessary */
......
......@@ -2174,8 +2174,8 @@ static ide_startstop_t idetape_issue_packet_command (ide_drive_t *drive, idetape
if (IDE_CONTROL_REG)
hwif->OUTB(drive->ctl, IDE_CONTROL_REG);
hwif->OUTB(dma_ok ? 1 : 0, IDE_FEATURE_REG); /* Use PIO/DMA */
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
hwif->OUTB(drive->select.all, IDE_SELECT_REG);
if (dma_ok) /* Will begin DMA later */
set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
......
......@@ -594,8 +594,8 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc)
HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
hwif->OUTB(dma, IDE_FEATURE_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
if (dma)
set_bit(PC_DMA_OK, &pc->flags);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册