Name

ata_tf_load — send taskfile registers to host controller

Synopsis

void ata_tf_load (struct ata_port * ap, const struct ata_taskfile * tf);

Arguments

ap

Port to which output is sent

tf

ATA taskfile register set

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.

May be used as the tf_load entry in ata_port_operations.

LOCKING

Inherited from caller.