Lines Matching refs:cmd

55 static void ide_tf_set_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 dma)
59 lba48 = (cmd->tf_flags & IDE_TFLAG_LBA48) ? 2 : 0;
60 write = (cmd->tf_flags & IDE_TFLAG_WRITE) ? 1 : 0;
63 cmd->protocol = ATA_PROT_DMA;
66 cmd->protocol = ATA_PROT_PIO;
68 cmd->tf_flags |= IDE_TFLAG_MULTI_PIO;
74 cmd->tf.command = ide_rw_cmds[index + lba48 + write];
88 struct ide_cmd cmd;
89 struct ide_taskfile *tf = &cmd.tf;
99 memset(&cmd, 0, sizeof(cmd));
100 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
101 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
114 tf = &cmd.hob;
122 cmd.valid.out.hob = IDE_VALID_OUT_HOB;
123 cmd.valid.in.hob = IDE_VALID_IN_HOB;
124 cmd.tf_flags |= IDE_TFLAG_LBA48;
149 cmd.tf_flags |= IDE_TFLAG_FS;
152 cmd.tf_flags |= IDE_TFLAG_WRITE;
154 ide_tf_set_cmd(drive, &cmd, dma);
155 cmd.rq = rq;
158 ide_init_sg_cmd(&cmd, nsectors << 9);
159 ide_map_sg(drive, &cmd);
162 rc = do_rw_taskfile(drive, &cmd);
166 cmd.tf_flags |= IDE_TFLAG_DMA_PIO_FALLBACK;
167 ide_tf_set_cmd(drive, &cmd, 0);
168 ide_init_sg_cmd(&cmd, nsectors << 9);
169 rc = do_rw_taskfile(drive, &cmd);
207 struct ide_cmd cmd;
208 struct ide_taskfile *tf = &cmd.tf;
211 memset(&cmd, 0, sizeof(cmd));
218 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
219 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
221 cmd.valid.out.hob = IDE_VALID_OUT_HOB;
222 cmd.valid.in.hob = IDE_VALID_IN_HOB;
223 cmd.tf_flags = IDE_TFLAG_LBA48;
226 ide_no_data_taskfile(drive, &cmd);
230 addr = ide_get_lba_addr(&cmd, lba48) + 1;
241 struct ide_cmd cmd;
242 struct ide_taskfile *tf = &cmd.tf;
247 memset(&cmd, 0, sizeof(cmd));
252 cmd.hob.lbal = (addr_req >>= 8) & 0xff;
253 cmd.hob.lbam = (addr_req >>= 8) & 0xff;
254 cmd.hob.lbah = (addr_req >>= 8) & 0xff;
262 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
263 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
265 cmd.valid.out.hob = IDE_VALID_OUT_HOB;
266 cmd.valid.in.hob = IDE_VALID_IN_HOB;
267 cmd.tf_flags = IDE_TFLAG_LBA48;
270 ide_no_data_taskfile(drive, &cmd);
274 addr_set = ide_get_lba_addr(&cmd, lba48) + 1;
432 struct ide_cmd *cmd;
438 cmd = rq->special;
439 memset(cmd, 0, sizeof(*cmd));
441 cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC);
444 /* FIXME: map struct ide_taskfile on rq->cmd[] */
445 BUG_ON(cmd == NULL);
449 cmd->tf.command = ATA_CMD_FLUSH_EXT;
451 cmd->tf.command = ATA_CMD_FLUSH;
452 cmd->valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
453 cmd->tf_flags = IDE_TFLAG_DYN;
454 cmd->protocol = ATA_PROT_NODATA;
457 rq->special = cmd;
458 cmd->rq = rq;
510 struct ide_cmd cmd;
512 memset(&cmd, 0, sizeof(cmd));
513 cmd.tf.feature = feature;
514 cmd.tf.nsect = nsect;
515 cmd.tf.command = ATA_CMD_SET_FEATURES;
516 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
517 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
519 return ide_no_data_taskfile(drive, &cmd);
584 struct ide_cmd cmd;
586 memset(&cmd, 0, sizeof(cmd));
588 cmd.tf.command = ATA_CMD_FLUSH_EXT;
590 cmd.tf.command = ATA_CMD_FLUSH;
591 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
592 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
594 return ide_no_data_taskfile(drive, &cmd);
768 struct ide_cmd cmd;
774 memset(&cmd, 0, sizeof(cmd));
775 cmd.tf.command = on ? ATA_CMD_MEDIA_LOCK : ATA_CMD_MEDIA_UNLOCK;
776 cmd.valid.out.tf = IDE_VALID_OUT_TF | IDE_VALID_DEVICE;
777 cmd.valid.in.tf = IDE_VALID_IN_TF | IDE_VALID_DEVICE;
779 ret = ide_no_data_taskfile(drive, &cmd);