• Home
  • Raw
  • Download

Lines Matching refs:drive

19 int ide_setting_ioctl(ide_drive_t *drive, struct block_device *bdev,  in ide_setting_ioctl()  argument
37 err = ds->get(drive); in ide_setting_ioctl()
49 err = ide_devset_execute(drive, ds, arg); in ide_setting_ioctl()
57 static int ide_get_identity_ioctl(ide_drive_t *drive, unsigned int cmd, in ide_get_identity_ioctl() argument
64 if ((drive->dev_flags & IDE_DFLAG_ID_READ) == 0) { in ide_get_identity_ioctl()
76 memcpy(id, drive->id, size); in ide_get_identity_ioctl()
87 static int ide_get_nice_ioctl(ide_drive_t *drive, unsigned long arg) in ide_get_nice_ioctl() argument
89 return put_user((!!(drive->dev_flags & IDE_DFLAG_DSC_OVERLAP) in ide_get_nice_ioctl()
91 (!!(drive->dev_flags & IDE_DFLAG_NICE1) in ide_get_nice_ioctl()
95 static int ide_set_nice_ioctl(ide_drive_t *drive, unsigned long arg) in ide_set_nice_ioctl() argument
101 (drive->media != ide_tape)) in ide_set_nice_ioctl()
105 drive->dev_flags |= IDE_DFLAG_DSC_OVERLAP; in ide_set_nice_ioctl()
107 drive->dev_flags &= ~IDE_DFLAG_DSC_OVERLAP; in ide_set_nice_ioctl()
110 drive->dev_flags |= IDE_DFLAG_NICE1; in ide_set_nice_ioctl()
112 drive->dev_flags &= ~IDE_DFLAG_NICE1; in ide_set_nice_ioctl()
117 static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg) in ide_cmd_ioctl() argument
128 rq = blk_get_request(drive->queue, READ, __GFP_RECLAIM); in ide_cmd_ioctl()
130 err = blk_execute_rq(drive->queue, NULL, rq, 0); in ide_cmd_ioctl()
167 xfer_rate = ide_find_dma_mode(drive, tf->nsect); in ide_cmd_ioctl()
176 err = ide_raw_taskfile(drive, &cmd, buf, args[3]); in ide_cmd_ioctl()
192 static int ide_task_ioctl(ide_drive_t *drive, unsigned long arg) in ide_task_ioctl() argument
208 err = ide_no_data_taskfile(drive, &cmd); in ide_task_ioctl()
219 static int generic_drive_reset(ide_drive_t *drive) in generic_drive_reset() argument
224 rq = blk_get_request(drive->queue, READ, __GFP_RECLAIM); in generic_drive_reset()
228 if (blk_execute_rq(drive->queue, NULL, rq, 1)) in generic_drive_reset()
234 int generic_ide_ioctl(ide_drive_t *drive, struct block_device *bdev, in generic_ide_ioctl() argument
239 err = ide_setting_ioctl(drive, bdev, cmd, arg, ide_ioctl_settings); in generic_ide_ioctl()
248 return ide_get_identity_ioctl(drive, cmd, arg); in generic_ide_ioctl()
250 return ide_get_nice_ioctl(drive, arg); in generic_ide_ioctl()
254 return ide_set_nice_ioctl(drive, arg); in generic_ide_ioctl()
259 if (drive->media == ide_disk) in generic_ide_ioctl()
260 return ide_taskfile_ioctl(drive, arg); in generic_ide_ioctl()
266 return ide_cmd_ioctl(drive, arg); in generic_ide_ioctl()
270 return ide_task_ioctl(drive, arg); in generic_ide_ioctl()
274 return generic_drive_reset(drive); in generic_ide_ioctl()