Lines Matching refs:floppy

3  * IDE ATAPI floppy driver.
9 * This driver supports the following IDE floppy drives:
16 * Documentation/ide/ChangeLog.ide-floppy.1996-2002
44 #include "ide-floppy.h"
66 struct ide_disk_obj *floppy = drive->driver_data;
84 floppy->sense_key = buf[2] & 0x0F;
85 floppy->asc = buf[12];
86 floppy->ascq = buf[13];
87 floppy->progress_indication = buf[15] & 0x80 ?
95 "ascq = %x", floppy->sense_key,
96 floppy->asc, floppy->ascq);
108 static void ide_floppy_report_error(struct ide_disk_obj *floppy,
112 if (floppy->sense_key == 0x02 &&
113 floppy->asc == 0x3a &&
114 floppy->ascq == 0x00)
119 floppy->drive->name, pc->c[0], floppy->sense_key,
120 floppy->asc, floppy->ascq);
128 struct ide_disk_obj *floppy = drive->driver_data;
141 ide_floppy_report_error(floppy, pc);
168 /* A mode sense command is used to "sense" floppy parameters. */
196 struct ide_disk_obj *floppy = drive->driver_data;
197 int block = sector / floppy->bs_factor;
198 int blocks = blk_rq_sectors(rq) / floppy->bs_factor;
217 static void idefloppy_blockpc_cmd(struct ide_disk_obj *floppy,
233 struct ide_disk_obj *floppy = drive->driver_data;
246 ide_floppy_report_error(floppy, drive->failed_pc);
261 if (((long)blk_rq_pos(rq) % floppy->bs_factor) ||
262 (blk_rq_sectors(rq) % floppy->bs_factor)) {
267 pc = &floppy->queued_pc;
272 pc = &floppy->queued_pc;
273 idefloppy_blockpc_cmd(floppy, pc, rq);
319 struct ide_disk_obj *floppy = drive->driver_data;
320 struct gendisk *disk = floppy->disk;
351 if (memcmp(page, &floppy->flexible_disk_page, 32))
357 memcpy(&floppy->flexible_disk_page, page, 32);
361 lba_capacity = floppy->blocks * floppy->block_size;
367 floppy->blocks = floppy->block_size ?
368 capacity / floppy->block_size : 0;
369 drive->capacity64 = floppy->blocks * floppy->bs_factor;
376 * Determine if a media is present in the floppy drive, and if so, its LBA
381 struct ide_disk_obj *floppy = drive->driver_data;
382 struct gendisk *disk = floppy->disk;
392 floppy->blocks = 0;
393 floppy->bs_factor = 1;
398 printk(KERN_ERR PFX "Can't get floppy parameters\n");
434 if (memcmp(cap_desc, &floppy->cap_desc, 8))
439 memcpy(&floppy->cap_desc, cap_desc, 8);
445 floppy->blocks = blocks;
446 floppy->block_size = length;
447 floppy->bs_factor = length / 512;
448 if (floppy->bs_factor != 1)
454 floppy->blocks * floppy->bs_factor;
484 struct ide_disk_obj *floppy = drive->driver_data;
518 ide_proc_register_driver(drive, floppy->driver);