Lines Matching full:track
28 * - Initialize track register when testing presence of floppy
51 * - increase gap size at start of track for HD/ED disks
93 #define FDCSELREG_TRA (0x82) /* track register */
127 #define FDCCMDADD_U (0x10) /* update track register */
141 #define FDCSTAT_TR00 (0x04) /* Track 00 flag (Type I) */
162 int track; /* to be formatted */ member
170 unsigned spt; /* sectors per track */
173 unsigned stretch; /* track doubling ? */
294 int track; /* current head position or -1 if member
338 * operations. Second, a track buffer is used to cache a whole track
340 * because that allows write operations without clearing the track buffer.
355 static int UseTrackbuffer = -1; /* Do track buffering? */
364 #define IS_BUFFERED(drive,side,track) \ argument
365 (BufferDrive == (drive) && BufferSide == (side) && BufferTrack == (track))
504 /* Select a drive, update the FDC's track register and set the correct
524 /* restore track register to saved value */ in fd_select_drive()
525 FDC_WRITE( FDCREG_TRACK, UD.track ); in fd_select_drive()
594 * as possible) and keep track of the current state of the write protection.
707 SUD.track = -1; in fd_error()
750 if (!UDT || desc->track >= UDT->blocks/UDT->spt/2 || desc->head >= 2) { in do_format()
757 /* The track buffer is used for the raw track data, so its in do_format()
768 *p++ = desc->track; in do_format()
785 ReqTrack = desc->track; in do_format()
800 * required parameter settings (drive select, side select, track
829 /* cmd == WRITE, pay attention to track buffer in do_fd_action()
839 if (UD.track == -1) in do_fd_action()
841 else if (UD.track != ReqTrack << UDT->stretch) in do_fd_action()
850 /* Seek to track 0 if the current track is unknown */
854 if (SUD.track >= 0) { in fd_calibrate()
886 SUD.track = 0; in fd_calibrate_done()
892 /* Seek the drive to the requested track. The drive must have been
898 if (SUD.track == ReqTrack << SUDT->stretch) { in fd_seek()
908 DPRINT(("fd_seek() to track %d\n",ReqTrack)); in fd_seek()
930 printk(KERN_ERR "fd%d: seek error (to track %d)\n", in fd_seek_done()
932 /* we don't know exactly which track we are on now! */ in fd_seek_done()
933 SUD.track = -1; in fd_seek_done()
937 SUD.track = ReqTrack << SUDT->stretch; in fd_seek_done()
948 * over the correct track.
958 unsigned int track; in fd_rwsec() local
986 /* Cheat for track if stretch != 0 */ in fd_rwsec()
988 track = FDC_READ( FDCREG_TRACK); in fd_rwsec()
990 FDC_WRITE( FDCREG_TRACK, track >> SUDT->stretch); in fd_rwsec()
1036 /* If reading a whole track, wait about one disk rotation and in fd_rwsec()
1123 unsigned int track; in fd_rwsec_done1() local
1127 /* Correct the track if stretch != 0 */ in fd_rwsec_done1()
1129 track = FDC_READ( FDCREG_TRACK); in fd_rwsec_done1()
1131 FDC_WRITE( FDCREG_TRACK, track << SUDT->stretch); in fd_rwsec_done1()
1188 printk(KERN_ERR "fd%d: sector %d not found (side %d, track %d)\n", in fd_rwsec_done1()
1193 printk(KERN_ERR "fd%d: CRC error (side %d, track %d, sector %d)\n", in fd_rwsec_done1()
1198 printk(KERN_ERR "fd%d: lost data (side %d, track %d, sector %d)\n", in fd_rwsec_done1()
1241 unsigned int track; in fd_writetrack() local
1250 /* Cheat for track if stretch != 0 */ in fd_writetrack()
1252 track = FDC_READ( FDCREG_TRACK); in fd_writetrack()
1254 FDC_WRITE(FDCREG_TRACK,track >> SUDT->stretch); in fd_writetrack()
1308 printk(KERN_ERR "fd%d: lost data (side %d, track %d)\n", in fd_writetrack_done()
1344 * no matter what :-( To save time, the seek goes to the track we're
1355 FDC_WRITE (FDCREG_DATA, SUD.track); in finish_fdc()
1596 getprm.track = dtp->blocks/dtp->spt/2; in fd_locked_ioctl()
1700 if (setprm.track != dtp->blocks/dtp->spt/2 || in fd_locked_ioctl()
1732 /* invalidate the buffer track to force a reread */ in fd_locked_ioctl()
1766 UD.track = 0; in fd_probe()
2007 track buffering off for all Medusas, though it in atari_floppy_init()
2028 unit[i].track = -1; in atari_floppy_init()