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