Lines Matching refs:ata
28 #include <gpxe/ata.h>
44 * @v ata ATA device
49 ata_command ( struct ata_device *ata, struct ata_command *command ) {
62 if ( ( rc = ata->command ( ata, command ) ) != 0 ) {
91 struct ata_device *ata = block_to_ata ( blockdev );
97 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
98 command.cb.lba48 = ata->lba48;
99 if ( ! ata->lba48 )
101 command.cb.cmd_stat = ( ata->lba48 ? ATA_CMD_READ_EXT : ATA_CMD_READ );
103 return ata_command ( ata, &command );
117 struct ata_device *ata = block_to_ata ( blockdev );
123 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
124 command.cb.lba48 = ata->lba48;
125 if ( ! ata->lba48 )
127 command.cb.cmd_stat = ( ata->lba48 ?
130 return ata_command ( ata, &command );
140 struct ata_device *ata = block_to_ata ( blockdev );
148 command.cb.device = ( ata->device | ATA_DEV_OBSOLETE | ATA_DEV_LBA );
153 if ( ( rc = ata_command ( ata, &command ) ) != 0 )
159 ata->lba48 = 1;
175 * @v ata ATA device
184 int init_atadev ( struct ata_device *ata ) {
186 ata->blockdev.op = &ata_operations;
187 return ata_identify ( &ata->blockdev );