|
@@ -2171,12 +2171,9 @@ static ide_startstop_t idetape_issue_packet_command (ide_drive_t *drive, idetape
|
|
if (test_bit(PC_DMA_RECOMMENDED, &pc->flags) && drive->using_dma)
|
|
if (test_bit(PC_DMA_RECOMMENDED, &pc->flags) && drive->using_dma)
|
|
dma_ok = !hwif->dma_setup(drive);
|
|
dma_ok = !hwif->dma_setup(drive);
|
|
|
|
|
|
- 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 & 0xff, IDE_BCOUNTL_REG);
|
|
|
|
- hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
|
|
|
|
- hwif->OUTB(drive->select.all, IDE_SELECT_REG);
|
|
|
|
|
|
+ ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK |
|
|
|
|
+ IDE_TFLAG_OUT_DEVICE, bcount, dma_ok);
|
|
|
|
+
|
|
if (dma_ok) /* Will begin DMA later */
|
|
if (dma_ok) /* Will begin DMA later */
|
|
set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
|
|
set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
|
|
if (test_bit(IDETAPE_DRQ_INTERRUPT, &tape->flags)) {
|
|
if (test_bit(IDETAPE_DRQ_INTERRUPT, &tape->flags)) {
|