ata_exec_internal_sg — execute libata internal command
unsigned ata_exec_internal_sg ( | struct ata_device * dev, |
| struct ata_taskfile * tf, | |
| const u8 * cdb, | |
| int dma_dir, | |
| struct scatterlist * sgl, | |
| unsigned int n_elem, | |
unsigned long timeout); |
devDevice to which the command is sent
tfTaskfile registers for the command and the result
cdbCDB for packet command
dma_dirData transfer direction of the command
sglsg list for the data buffer of the command
n_elemNumber of sg entries
timeoutTimeout in msecs (0 for default)
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.