Lines Matching defs:drive
11 static int set_io_32bit(ide_drive_t *drive, int arg)
13 if (drive->dev_flags & IDE_DFLAG_NO_IO_32BIT)
19 drive->io_32bit = arg;
26 static int set_ksettings(ide_drive_t *drive, int arg)
32 drive->dev_flags |= IDE_DFLAG_KEEP_SETTINGS;
34 drive->dev_flags &= ~IDE_DFLAG_KEEP_SETTINGS;
41 static int set_using_dma(ide_drive_t *drive, int arg)
49 if (ata_id_has_dma(drive->id) == 0)
52 if (drive->hwif->dma_ops == NULL)
58 if (ide_set_dma(drive))
61 ide_dma_off(drive);
97 static int set_pio_mode(ide_drive_t *drive, int arg)
99 ide_hwif_t *hwif = drive->hwif;
109 if (set_pio_mode_abuse(drive->hwif, arg)) {
110 drive->pio_mode = arg + XFER_PIO_0;
117 port_ops->set_pio_mode(hwif, drive);
120 port_ops->set_pio_mode(hwif, drive);
122 int keep_dma = !!(drive->dev_flags & IDE_DFLAG_USING_DMA);
124 ide_set_pio(drive, arg);
128 ide_dma_on(drive);
137 static int set_unmaskirq(ide_drive_t *drive, int arg)
139 if (drive->dev_flags & IDE_DFLAG_NO_UNMASK)
146 drive->dev_flags |= IDE_DFLAG_UNMASK;
148 drive->dev_flags &= ~IDE_DFLAG_UNMASK;
159 int ide_devset_execute(ide_drive_t *drive, const struct ide_devset *setting,
162 struct request_queue *q = drive->queue;
167 return setting->set(drive, arg);
183 ide_startstop_t ide_do_devset(ide_drive_t *drive, struct request *rq)
187 err = setfunc(drive, *(int *)&scsi_req(rq)->cmd[1]);
190 ide_complete_rq(drive, 0, blk_rq_bytes(rq));