Name

ata_exec_internal — execute libata internal command

Synopsis

unsigned ata_exec_internal (struct ata_port *  ap,
 struct ata_device *  dev,
 struct ata_taskfile *  tf,
 int  dma_dir,
 void *  buf,
 unsigned int  buflen);

Arguments

ap

Port to which the command is sent

dev

Device to which the command is sent

tf

Taskfile registers for the command and the result

dma_dir

Data tranfer direction of the command

buf

Data buffer of the command

buflen

Length of data buffer

Description

Executes libata internal command with timeout. tf contains command on entry and result on return. Timeout and error conditions are reported via return value. No recovery action is taken after a command times out. It's caller's duty to clean up after timeout.

LOCKING

None. Should be called with kernel context, might sleep.