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 * dev
Device to which the command is sent
struct ata_taskfile * tf
Taskfile registers for the command and the result
const u8 * cdb
CDB for packet command
int dma_dir
Data transfer direction of the command
struct scatterlist * sgl
sg list for the data buffer of the command
unsigned int n_elem
Number of sg entries
unsigned long timeout
Timeout 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.