Lines Matching refs:drive
7 ide_drive_t *drive = to_ide_device(dev); in generic_ide_suspend() local
8 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_suspend()
9 ide_hwif_t *hwif = drive->hwif; in generic_ide_suspend()
16 if ((drive->dn & 1) == 0 || pair == NULL) in generic_ide_suspend()
21 rq = blk_get_request(drive->queue, READ, __GFP_WAIT); in generic_ide_suspend()
29 ret = blk_execute_rq(drive->queue, NULL, rq, 0); in generic_ide_suspend()
34 if ((drive->dn & 1) || pair == NULL) in generic_ide_suspend()
43 ide_drive_t *drive = to_ide_device(dev); in generic_ide_resume() local
44 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_resume()
45 ide_hwif_t *hwif = drive->hwif; in generic_ide_resume()
52 if ((drive->dn & 1) == 0 || pair == NULL) { in generic_ide_resume()
57 ide_acpi_exec_tfs(drive); in generic_ide_resume()
61 rq = blk_get_request(drive->queue, READ, __GFP_WAIT); in generic_ide_resume()
68 err = blk_execute_rq(drive->queue, NULL, rq, 1); in generic_ide_resume()
75 drv->resume(drive); in generic_ide_resume()
81 void ide_complete_power_step(ide_drive_t *drive, struct request *rq) in ide_complete_power_step() argument
87 drive->name, pm->pm_step); in ide_complete_power_step()
89 if (drive->media != ide_disk) in ide_complete_power_step()
111 ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request *rq) in ide_start_power_step() argument
118 if (drive->media != ide_disk) in ide_start_power_step()
121 if (ata_id_flush_enabled(drive->id) == 0 || in ide_start_power_step()
122 (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) { in ide_start_power_step()
123 ide_complete_power_step(drive, rq); in ide_start_power_step()
126 if (ata_id_flush_ext_enabled(drive->id)) in ide_start_power_step()
135 ide_set_max_pio(drive); in ide_start_power_step()
139 if (drive->media != ide_disk) in ide_start_power_step()
142 ide_complete_power_step(drive, rq); in ide_start_power_step()
153 if (drive->hwif->dma_ops == NULL) in ide_start_power_step()
158 ide_set_dma(drive); in ide_start_power_step()
171 return do_rw_taskfile(drive, &cmd); in ide_start_power_step()
182 void ide_complete_pm_rq(ide_drive_t *drive, struct request *rq) in ide_complete_pm_rq() argument
184 struct request_queue *q = drive->queue; in ide_complete_pm_rq()
188 ide_complete_power_step(drive, rq); in ide_complete_pm_rq()
193 printk("%s: completing PM request, %s\n", drive->name, in ide_complete_pm_rq()
200 drive->dev_flags &= ~IDE_DFLAG_BLOCKED; in ide_complete_pm_rq()
203 drive->hwif->rq = NULL; in ide_complete_pm_rq()
209 void ide_check_pm_state(ide_drive_t *drive, struct request *rq) in ide_check_pm_state() argument
216 drive->dev_flags |= IDE_DFLAG_BLOCKED; in ide_check_pm_state()
227 ide_hwif_t *hwif = drive->hwif; in ide_check_pm_state()
229 struct request_queue *q = drive->queue; in ide_check_pm_state()
233 printk("%s: Wakeup request inited, waiting for !BSY...\n", drive->name); in ide_check_pm_state()
237 printk(KERN_WARNING "%s: bus not ready on wakeup\n", drive->name); in ide_check_pm_state()
238 tp_ops->dev_select(drive); in ide_check_pm_state()
242 printk(KERN_WARNING "%s: drive not ready on wakeup\n", drive->name); in ide_check_pm_state()