Lines Matching full: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()
93 ide_drive_t *drive = cdi->handle; in ide_cdrom_check_events_real() local
97 (void) cdrom_check_status(drive, NULL); in ide_cdrom_check_events_real()
98 retval = (drive->dev_flags & IDE_DFLAG_MEDIA_CHANGED) ? 1 : 0; in ide_cdrom_check_events_real()
99 drive->dev_flags &= ~IDE_DFLAG_MEDIA_CHANGED; in ide_cdrom_check_events_real()
109 int cdrom_eject(ide_drive_t *drive, int ejectflag) in cdrom_eject() argument
111 struct cdrom_info *cd = drive->driver_data; in cdrom_eject()
116 if ((drive->atapi_flags & IDE_AFLAG_NO_EJECT) && !ejectflag) in cdrom_eject()
120 if ((drive->atapi_flags & IDE_AFLAG_DOOR_LOCKED) && ejectflag) in cdrom_eject()
123 /* only tell drive to close tray if open, if it can do that */ in cdrom_eject()
132 return ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in cdrom_eject()
137 int ide_cd_lockdoor(ide_drive_t *drive, int lockflag) in ide_cd_lockdoor() argument
142 /* If the drive cannot lock the door, just pretend. */ in ide_cd_lockdoor()
143 if ((drive->dev_flags & IDE_DFLAG_DOORLOCKING) == 0) { in ide_cd_lockdoor()
153 stat = ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, in ide_cd_lockdoor()
157 /* If we got an illegal field error, the drive in ide_cd_lockdoor()
163 drive->name); in ide_cd_lockdoor()
164 drive->dev_flags &= ~IDE_DFLAG_DOORLOCKING; in ide_cd_lockdoor()
174 drive->atapi_flags |= IDE_AFLAG_DOOR_LOCKED; in ide_cd_lockdoor()
176 drive->atapi_flags &= ~IDE_AFLAG_DOOR_LOCKED; in ide_cd_lockdoor()
184 ide_drive_t *drive = cdi->handle; in ide_cdrom_tray_move() local
187 int stat = ide_cd_lockdoor(drive, 0); in ide_cdrom_tray_move()
193 return cdrom_eject(drive, !position); in ide_cdrom_tray_move()
198 ide_drive_t *drive = cdi->handle; in ide_cdrom_lock_door() local
200 return ide_cd_lockdoor(drive, lock); in ide_cdrom_lock_door()
209 ide_drive_t *drive = cdi->handle; in ide_cdrom_select_speed() local
210 struct cdrom_info *cd = drive->driver_data; in ide_cdrom_select_speed()
223 /* Read Drive speed in kbytes/second MSB/LSB */ in ide_cdrom_select_speed()
228 /* Write Drive speed in kbytes/second MSB/LSB */ in ide_cdrom_select_speed()
233 stat = ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in ide_cdrom_select_speed()
235 if (!ide_cdrom_get_capabilities(drive, buf)) { in ide_cdrom_select_speed()
236 ide_cdrom_update_speed(drive, buf); in ide_cdrom_select_speed()
247 ide_drive_t *drive = cdi->handle; in ide_cdrom_get_last_session() local
248 struct cdrom_info *info = drive->driver_data; in ide_cdrom_get_last_session()
251 if ((drive->atapi_flags & IDE_AFLAG_TOC_VALID) == 0 || !info->toc) { in ide_cdrom_get_last_session()
252 ret = ide_cd_read_toc(drive); in ide_cdrom_get_last_session()
267 ide_drive_t *drive = cdi->handle; in ide_cdrom_get_mcn() local
281 stat = ide_cd_queue_pc(drive, cmd, 0, buf, &len, NULL, 0, 0); in ide_cdrom_get_mcn()
294 ide_drive_t *drive = cdi->handle; in ide_cdrom_reset() local
295 struct cdrom_info *cd = drive->driver_data; in ide_cdrom_reset()
299 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0); in ide_cdrom_reset()
302 blk_execute_rq(drive->queue, cd->disk, rq, 0); in ide_cdrom_reset()
309 if (drive->atapi_flags & IDE_AFLAG_DOOR_LOCKED) in ide_cdrom_reset()
310 (void)ide_cd_lockdoor(drive, 1); in ide_cdrom_reset()
315 static int ide_cd_get_toc_entry(ide_drive_t *drive, int track, in ide_cd_get_toc_entry() argument
318 struct cdrom_info *info = drive->driver_data; in ide_cd_get_toc_entry()
325 if ((drive->atapi_flags & IDE_AFLAG_TOC_VALID) == 0) in ide_cd_get_toc_entry()
344 static int ide_cd_fake_play_trkind(ide_drive_t *drive, void *arg) in ide_cd_fake_play_trkind() argument
352 stat = ide_cd_get_toc_entry(drive, ti->cdti_trk0, &first_toc); in ide_cd_fake_play_trkind()
356 stat = ide_cd_get_toc_entry(drive, ti->cdti_trk1, &last_toc); in ide_cd_fake_play_trkind()
374 return ide_cd_queue_pc(drive, cmd, 0, NULL, NULL, NULL, 0, 0); in ide_cd_fake_play_trkind()
377 static int ide_cd_read_tochdr(ide_drive_t *drive, void *arg) in ide_cd_read_tochdr() argument
379 struct cdrom_info *cd = drive->driver_data; in ide_cd_read_tochdr()
385 stat = ide_cd_read_toc(drive); in ide_cd_read_tochdr()
396 static int ide_cd_read_tocentry(ide_drive_t *drive, void *arg) in ide_cd_read_tocentry() argument
402 stat = ide_cd_get_toc_entry(drive, tocentry->cdte_track, &toce); in ide_cd_read_tocentry()
422 ide_drive_t *drive = cdi->handle; in ide_cdrom_audio_ioctl() local
430 return ide_cd_fake_play_trkind(drive, arg); in ide_cdrom_audio_ioctl()
432 return ide_cd_read_tochdr(drive, arg); in ide_cdrom_audio_ioctl()
434 return ide_cd_read_tocentry(drive, arg); in ide_cdrom_audio_ioctl()
444 ide_drive_t *drive = cdi->handle; in ide_cdrom_packet() local
461 cgc->stat = ide_cd_queue_pc(drive, cgc->cmd, in ide_cdrom_packet()