Lines Matching refs:disk

34  *    needed for the disk mechanic.
36 * february 1996 fixed error recovery and multiple disk access
92 #define DSKRDY (0x1<<5) /* disk ready when low */
94 #define DSKPROT (0x1<<3) /* disk protected when low */
95 #define DSKCHANGE (0x1<<2) /* low when disk removed */
115 #define DMAON (1<<14) /* disk DMA enabled */
116 #define DISKWRITE (1<<13) /* disk write bit in DSKLEN enabled */
196 int blocks; /* total # blocks on disk */
199 int disk; /* disk in drive (-1 == unknown) */
202 int dirty; /* true when trackbuf is not on disk */
216 #define FD_NOTREADY 4 /* unit is not ready (motor not on/no disk) */
289 #define RAW_BUF_SIZE 30000 /* size of raw disk data */
644 /* loop and read disk ID */
775 * written to disk and vice versa.
931 static unsigned long *putsec(int disk, unsigned long *raw, int cnt)
936 disk&=3;
942 hdr.track = unit[disk].track;
944 hdr.ord = unit[disk].dtype->sects * unit[disk].type->sect_mult - cnt;
949 hdr.datachk = checksum((ulong *)(unit[disk].trackbuf+cnt*512), 512);
959 encode_block(raw, (ulong *)(unit[disk].trackbuf+cnt*512), 512);
965 static void amiga_write(int disk)
970 disk&=3;
972 for (cnt = 0; cnt < 415 * unit[disk].type->sect_mult; cnt++)
976 for (cnt = 0; cnt < unit[disk].dtype->sects * unit[disk].type->sect_mult; cnt++)
977 ptr = putsec (disk, ptr, cnt);
1212 "%d, unit %d for sector%d, disk sector %d\n",
1322 static void dos_write(int disk)
1328 disk&=3;
1334 if (unit[disk].type->sect_mult==2) /* check for HD-Disks */
1349 for(cnt = 0; cnt < unit[disk].dtype->sects * unit[disk].type->sect_mult; cnt++)
1350 ptr=ms_putsec(disk,ptr,cnt);
1382 printk (KERN_NOTICE "floppy disk write protected\n");
1407 printk (KERN_NOTICE "floppy disk write protected "
1508 struct amiga_floppy_struct *floppy = rq->q->disk->private_data;
1645 unit[drive].disk = -1;
1656 static int floppy_open(struct gendisk *disk, blk_mode_t mode)
1658 int drive = disk->first_minor & 3;
1659 int system = (disk->first_minor & 4) >> 2;
1676 disk_check_media_change(disk);
1702 printk(KERN_INFO "fd%d: accessing %s-disk with %s-layout\n",drive,
1709 static void floppy_release(struct gendisk *disk)
1711 struct amiga_floppy_struct *p = disk->private_data;
1736 static unsigned amiga_check_events(struct gendisk *disk, unsigned int clearing)
1738 struct amiga_floppy_struct *p = disk->private_data;
1779 struct gendisk *disk;
1782 disk = blk_mq_alloc_disk(&unit[drive].tag_set, NULL, NULL);
1783 if (IS_ERR(disk))
1784 return PTR_ERR(disk);
1786 disk->major = FLOPPY_MAJOR;
1787 disk->first_minor = drive + system;
1788 disk->minors = 1;
1789 disk->fops = &floppy_fops;
1790 disk->flags |= GENHD_FL_NO_PART;
1791 disk->events = DISK_EVENT_MEDIA_CHANGE;
1793 sprintf(disk->disk_name, "fd%d_msdos", drive);
1795 sprintf(disk->disk_name, "fd%d", drive);
1796 disk->private_data = &unit[drive];
1797 set_capacity(disk, 880 * 2);
1799 unit[drive].gendisk[system] = disk;
1800 err = add_disk(disk);
1802 put_disk(disk);
1915 /* make sure that disk DMA is enabled */