ide: use ->tf_load in ide_config_drive_speed()

Convert ide_config_drive_speed() to use ->tf_load instead of ->OUTB.

There should be no functional changes caused by this patch.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 3c09384e
...@@ -792,9 +792,9 @@ int ide_driveid_update(ide_drive_t *drive) ...@@ -792,9 +792,9 @@ int ide_driveid_update(ide_drive_t *drive)
int ide_config_drive_speed(ide_drive_t *drive, u8 speed) int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
{ {
ide_hwif_t *hwif = drive->hwif; ide_hwif_t *hwif = drive->hwif;
struct ide_io_ports *io_ports = &hwif->io_ports;
int error = 0; int error = 0;
u8 stat; u8 stat;
ide_task_t task;
#ifdef CONFIG_BLK_DEV_IDEDMA #ifdef CONFIG_BLK_DEV_IDEDMA
if (hwif->dma_ops) /* check if host supports DMA */ if (hwif->dma_ops) /* check if host supports DMA */
...@@ -828,9 +828,16 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) ...@@ -828,9 +828,16 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
SELECT_MASK(drive, 0); SELECT_MASK(drive, 0);
udelay(1); udelay(1);
hwif->set_irq(hwif, 0); hwif->set_irq(hwif, 0);
hwif->OUTB(SETFEATURES_XFER, io_ports->feature_addr);
hwif->OUTB(speed, io_ports->nsect_addr); memset(&task, 0, sizeof(task));
task.tf_flags = IDE_TFLAG_OUT_FEATURE | IDE_TFLAG_OUT_NSECT;
task.tf.feature = SETFEATURES_XFER;
task.tf.nsect = speed;
hwif->tf_load(drive, &task);
hwif->exec_command(hwif, WIN_SETFEATURES); hwif->exec_command(hwif, WIN_SETFEATURES);
if (drive->quirk_list == 2) if (drive->quirk_list == 2)
hwif->set_irq(hwif, 1); hwif->set_irq(hwif, 1);
......
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