Name

taskfile_load_raw — send taskfile registers to host controller

Synopsis

void taskfile_load_raw (struct ata_port *  ap,
 struct ata_device *  atadev,
 const struct taskfile_array *  gtf);

Arguments

ap

Port to which output is sent

atadev

-- undescribed --

gtf

raw ATA taskfile register set (0x1f1 - 0x1f7)

Description

Outputs ATA taskfile to standard ATA host controller using MMIO or PIO as indicated by the ATA_FLAG_MMIO flag. Writes the control, feature, nsect, lbal, lbam, and lbah registers. Optionally (ATA_TFLAG_LBA48) writes hob_feature, hob_nsect, hob_lbal, hob_lbam, and hob_lbah.

This function waits for idle (!BUSY and !DRQ) after writing registers. If the control register has a new value, this function also waits for idle after writing control and before writing the remaining registers.

LOCKING

TBD: Inherited from caller.