Lines Matching defs:drive
10 static int set_io_32bit(ide_drive_t *drive, int arg)
12 if (drive->dev_flags & IDE_DFLAG_NO_IO_32BIT)
18 drive->io_32bit = arg;
25 static int set_ksettings(ide_drive_t *drive, int arg)
31 drive->dev_flags |= IDE_DFLAG_KEEP_SETTINGS;
33 drive->dev_flags &= ~IDE_DFLAG_KEEP_SETTINGS;
40 static int set_using_dma(ide_drive_t *drive, int arg)
48 if (ata_id_has_dma(drive->id) == 0)
51 if (drive->hwif->dma_ops == NULL)
57 if (ide_set_dma(drive))
60 ide_dma_off(drive);
96 static int set_pio_mode(ide_drive_t *drive, int arg)
98 ide_hwif_t *hwif = drive->hwif;
108 if (set_pio_mode_abuse(drive->hwif, arg)) {
109 drive->pio_mode = arg + XFER_PIO_0;
116 port_ops->set_pio_mode(hwif, drive);
119 port_ops->set_pio_mode(hwif, drive);
121 int keep_dma = !!(drive->dev_flags & IDE_DFLAG_USING_DMA);
123 ide_set_pio(drive, arg);
127 ide_dma_on(drive);
136 static int set_unmaskirq(ide_drive_t *drive, int arg)
138 if (drive->dev_flags & IDE_DFLAG_NO_UNMASK)
145 drive->dev_flags |= IDE_DFLAG_UNMASK;
147 drive->dev_flags &= ~IDE_DFLAG_UNMASK;
158 int ide_devset_execute(ide_drive_t *drive, const struct ide_devset *setting,
161 struct request_queue *q = drive->queue;
166 return setting->set(drive, arg);
182 ide_startstop_t ide_do_devset(ide_drive_t *drive, struct request *rq)
186 err = setfunc(drive, *(int *)&rq->cmd[1]);
189 ide_complete_rq(drive, err, blk_rq_bytes(rq));