Lines Matching refs:drive
31 ide_drive_t *drive = cdi->handle; in ide_cdrom_release_real() local
34 drive->atapi_flags &= ~IDE_AFLAG_TOC_VALID; in ide_cdrom_release_real()
44 ide_drive_t *drive = cdi->handle; in ide_cdrom_drive_status() local
52 stat = cdrom_check_status(drive, &sshdr); in ide_cdrom_drive_status()
92 ide_drive_t *drive = cdi->handle; in ide_cdrom_check_events_real() local
96 (void) cdrom_check_status(drive, NULL); in ide_cdrom_check_events_real()
97 retval = (drive->dev_flags & IDE_DFLAG_MEDIA_CHANGED) ? 1 : 0; in ide_cdrom_check_events_real()
98 drive->dev_flags &= ~IDE_DFLAG_MEDIA_CHANGED; in ide_cdrom_check_events_real()
108 int cdrom_eject(ide_drive_t *drive, int ejectflag) in cdrom_eject() argument
110 struct cdrom_info *cd = drive->driver_data; in cdrom_eject()
115 if ((drive->atapi_flags & IDE_AFLAG_NO_EJECT) && !ejectflag) in cdrom_eject()
119 if ((drive->atapi_flags & IDE_AFLAG_DOOR_LOCKED) && ejectflag) in cdrom_eject()
131 return ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in cdrom_eject()
136 int ide_cd_lockdoor(ide_drive_t *drive, int lockflag) in ide_cd_lockdoor() argument
142 if ((drive->dev_flags & IDE_DFLAG_DOORLOCKING) == 0) { in ide_cd_lockdoor()
152 stat = ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, in ide_cd_lockdoor()
162 drive->name); in ide_cd_lockdoor()
163 drive->dev_flags &= ~IDE_DFLAG_DOORLOCKING; in ide_cd_lockdoor()
173 drive->atapi_flags |= IDE_AFLAG_DOOR_LOCKED; in ide_cd_lockdoor()
175 drive->atapi_flags &= ~IDE_AFLAG_DOOR_LOCKED; in ide_cd_lockdoor()
183 ide_drive_t *drive = cdi->handle; in ide_cdrom_tray_move() local
186 int stat = ide_cd_lockdoor(drive, 0); in ide_cdrom_tray_move()
192 return cdrom_eject(drive, !position); in ide_cdrom_tray_move()
197 ide_drive_t *drive = cdi->handle; in ide_cdrom_lock_door() local
199 return ide_cd_lockdoor(drive, lock); in ide_cdrom_lock_door()
208 ide_drive_t *drive = cdi->handle; in ide_cdrom_select_speed() local
209 struct cdrom_info *cd = drive->driver_data; in ide_cdrom_select_speed()
232 stat = ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in ide_cdrom_select_speed()
234 if (!ide_cdrom_get_capabilities(drive, buf)) { in ide_cdrom_select_speed()
235 ide_cdrom_update_speed(drive, buf); in ide_cdrom_select_speed()
246 ide_drive_t *drive = cdi->handle; in ide_cdrom_get_last_session() local
247 struct cdrom_info *info = drive->driver_data; in ide_cdrom_get_last_session()
250 if ((drive->atapi_flags & IDE_AFLAG_TOC_VALID) == 0 || !info->toc) { in ide_cdrom_get_last_session()
251 ret = ide_cd_read_toc(drive); in ide_cdrom_get_last_session()
266 ide_drive_t *drive = cdi->handle; in ide_cdrom_get_mcn() local
280 stat = ide_cd_queue_pc(drive, cmd, 0, buf, &len, NULL, 0, 0); in ide_cdrom_get_mcn()
293 ide_drive_t *drive = cdi->handle; in ide_cdrom_reset() local
294 struct cdrom_info *cd = drive->driver_data; in ide_cdrom_reset()
298 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0); in ide_cdrom_reset()
301 blk_execute_rq(drive->queue, cd->disk, rq, 0); in ide_cdrom_reset()
308 if (drive->atapi_flags & IDE_AFLAG_DOOR_LOCKED) in ide_cdrom_reset()
309 (void)ide_cd_lockdoor(drive, 1); in ide_cdrom_reset()
314 static int ide_cd_get_toc_entry(ide_drive_t *drive, int track, in ide_cd_get_toc_entry() argument
317 struct cdrom_info *info = drive->driver_data; in ide_cd_get_toc_entry()
324 if ((drive->atapi_flags & IDE_AFLAG_TOC_VALID) == 0) in ide_cd_get_toc_entry()
343 static int ide_cd_fake_play_trkind(ide_drive_t *drive, void *arg) in ide_cd_fake_play_trkind() argument
351 stat = ide_cd_get_toc_entry(drive, ti->cdti_trk0, &first_toc); in ide_cd_fake_play_trkind()
355 stat = ide_cd_get_toc_entry(drive, ti->cdti_trk1, &last_toc); in ide_cd_fake_play_trkind()
373 return ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in ide_cd_fake_play_trkind()
376 static int ide_cd_read_tochdr(ide_drive_t *drive, void *arg) in ide_cd_read_tochdr() argument
378 struct cdrom_info *cd = drive->driver_data; in ide_cd_read_tochdr()
384 stat = ide_cd_read_toc(drive); in ide_cd_read_tochdr()
395 static int ide_cd_read_tocentry(ide_drive_t *drive, void *arg) in ide_cd_read_tocentry() argument
401 stat = ide_cd_get_toc_entry(drive, tocentry->cdte_track, &toce); in ide_cd_read_tocentry()
421 ide_drive_t *drive = cdi->handle; in ide_cdrom_audio_ioctl() local
429 return ide_cd_fake_play_trkind(drive, arg); in ide_cdrom_audio_ioctl()
431 return ide_cd_read_tochdr(drive, arg); in ide_cdrom_audio_ioctl()
433 return ide_cd_read_tocentry(drive, arg); in ide_cdrom_audio_ioctl()
443 ide_drive_t *drive = cdi->handle; in ide_cdrom_packet() local
460 cgc->stat = ide_cd_queue_pc(drive, cgc->cmd, in ide_cdrom_packet()