Home | History | Annotate | Download | only in block

Lines Matching refs:command

42  * Issue ATA command
45 * @v command ATA command
49 ata_command ( struct ata_device *ata, struct ata_command *command ) {
53 command->cb.cmd_stat, command->cb.device,
54 ( command->cb.lba48 ? "48" : "" ),
55 ( unsigned long long ) command->cb.lba.native,
56 command->cb.count.native );
58 /* Flag command as in-progress */
59 command->rc = -EINPROGRESS;
61 /* Issue ATA command */
62 if ( ( rc = ata->command ( ata, command ) ) != 0 ) {
64 DBG ( "ATA could not issue command: %s\n", strerror ( rc ) );
68 /* Wait for command to complete */
69 while ( command->rc == -EINPROGRESS )
71 if ( ( rc = command->rc ) != 0 ) {
72 /* Something went wrong with the command execution */
73 DBG ( "ATA command failed: %s\n", strerror ( rc ) );
92 struct ata_command command;
94 memset ( &command, 0, sizeof ( command ) );
95 command.cb.lba.native = block;
96 command.cb.count.native = count;
97 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
98 command.cb.lba48 = ata->lba48;
100 command.cb.device |= command.cb.lba.bytes.low_prev;
101 command.cb.cmd_stat = ( ata->lba48 ? ATA_CMD_READ_EXT : ATA_CMD_READ );
102 command.data_in = buffer;
103 return ata_command ( ata, &command );
118 struct ata_command command;
120 memset ( &command, 0, sizeof ( command ) );
121 command.cb.lba.native = block;
122 command.cb.count.native = count;
123 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
124 command.cb.lba48 = ata->lba48;
126 command.cb.device |= command.cb.lba.bytes.low_prev;
127 command.cb.cmd_stat = ( ata->lba48 ?
129 command.data_out = buffer;
130 return ata_command ( ata, &command );
141 struct ata_command command;
146 memset ( &command, 0, sizeof ( command ) );
147 command.cb.count.native = 1;
148 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
149 command.cb.cmd_stat = ATA_CMD_IDENTIFY;
150 command.data_in = virt_to_user ( &identity );
153 if ( ( rc = ata_command ( ata, &command ) ) != 0 )
178 * Initialises an ATA device. The ata_device::command field and the