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); |
struct ata_device * devDevice to which the command is sent
struct ata_taskfile * tfTaskfile registers for the command and the result
const u8 * cdbCDB for packet command
int dma_dirData transfer direction of the command
struct scatterlist * sglsg list for the data buffer of the command
unsigned int n_elemNumber of sg entries
unsigned long 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.