Lines Matching refs:drive
8 ide_drive_t *drive = to_ide_device(dev);
9 ide_drive_t *pair = ide_get_pair_dev(drive);
10 ide_hwif_t *hwif = drive->hwif;
17 if ((drive->dn & 1) == 0 || pair == NULL)
22 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0);
30 blk_execute_rq(drive->queue, NULL, rq, 0);
36 if ((drive->dn & 1) || pair == NULL)
60 ide_drive_t *drive = to_ide_device(dev);
61 ide_drive_t *pair = ide_get_pair_dev(drive);
62 ide_hwif_t *hwif = drive->hwif;
67 blk_mq_start_stopped_hw_queues(drive->queue, true);
71 if ((drive->dn & 1) == 0 || pair == NULL) {
76 ide_acpi_exec_tfs(drive);
80 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, BLK_MQ_REQ_PM);
93 drv->resume(drive);
99 void ide_complete_power_step(ide_drive_t *drive, struct request *rq)
105 drive->name, pm->pm_step);
107 if (drive->media != ide_disk)
129 ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request *rq)
136 if (drive->media != ide_disk)
139 if (ata_id_flush_enabled(drive->id) == 0 ||
140 (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) {
141 ide_complete_power_step(drive, rq);
144 if (ata_id_flush_ext_enabled(drive->id))
153 ide_set_max_pio(drive);
157 if (drive->media != ide_disk)
160 ide_complete_power_step(drive, rq);
167 * Right now, all we do is call ide_set_dma(drive),
169 * in struct drive etc...
171 if (drive->hwif->dma_ops == NULL)
176 ide_set_dma(drive);
189 return do_rw_taskfile(drive, &cmd);
194 * @drive: target drive
200 void ide_complete_pm_rq(ide_drive_t *drive, struct request *rq)
202 struct request_queue *q = drive->queue;
205 ide_complete_power_step(drive, rq);
210 printk("%s: completing PM request, %s\n", drive->name,
216 drive->dev_flags &= ~IDE_DFLAG_BLOCKED;
218 drive->hwif->rq = NULL;
223 void ide_check_pm_state(ide_drive_t *drive, struct request *rq)
230 /* Mark drive blocked when starting the suspend sequence. */
231 drive->dev_flags |= IDE_DFLAG_BLOCKED;
237 * go away (with a looong timeout) as a drive on this hwif may
243 ide_hwif_t *hwif = drive->hwif;
245 struct request_queue *q = drive->queue;
248 printk("%s: Wakeup request inited, waiting for !BSY...\n", drive->name);
252 printk(KERN_WARNING "%s: bus not ready on wakeup\n", drive->name);
253 tp_ops->dev_select(drive);
257 printk(KERN_WARNING "%s: drive not ready on wakeup\n", drive->name);