Lines Matching refs: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 */
162 int track; /* to be formatted */
170 unsigned spt; /* sectors per track */
173 unsigned stretch; /* track doubling ? */
294 int track; /* current head position or -1 if
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) \
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 */
525 FDC_WRITE( FDCREG_TRACK, UD.track );
594 * as possible) and keep track of the current state of the write protection.
707 SUD.track = -1;
750 if (!UDT || desc->track >= UDT->blocks/UDT->spt/2 || desc->head >= 2) {
757 /* The track buffer is used for the raw track data, so its
768 *p++ = desc->track;
785 ReqTrack = desc->track;
800 * required parameter settings (drive select, side select, track
829 /* cmd == WRITE, pay attention to track buffer
839 if (UD.track == -1)
841 else if (UD.track != ReqTrack << UDT->stretch)
850 /* Seek to track 0 if the current track is unknown */
854 if (SUD.track >= 0) {
886 SUD.track = 0;
892 /* Seek the drive to the requested track. The drive must have been
898 if (SUD.track == ReqTrack << SUDT->stretch) {
908 DPRINT(("fd_seek() to track %d\n",ReqTrack));
930 printk(KERN_ERR "fd%d: seek error (to track %d)\n",
932 /* we don't know exactly which track we are on now! */
933 SUD.track = -1;
937 SUD.track = ReqTrack << SUDT->stretch;
948 * over the correct track.
958 unsigned int track;
986 /* Cheat for track if stretch != 0 */
988 track = FDC_READ( FDCREG_TRACK);
990 FDC_WRITE( FDCREG_TRACK, track >> SUDT->stretch);
1036 /* If reading a whole track, wait about one disk rotation and
1123 unsigned int track;
1127 /* Correct the track if stretch != 0 */
1129 track = FDC_READ( FDCREG_TRACK);
1131 FDC_WRITE( FDCREG_TRACK, track << SUDT->stretch);
1188 printk(KERN_ERR "fd%d: sector %d not found (side %d, track %d)\n",
1193 printk(KERN_ERR "fd%d: CRC error (side %d, track %d, sector %d)\n",
1198 printk(KERN_ERR "fd%d: lost data (side %d, track %d, sector %d)\n",
1241 unsigned int track;
1250 /* Cheat for track if stretch != 0 */
1252 track = FDC_READ( FDCREG_TRACK);
1254 FDC_WRITE(FDCREG_TRACK,track >> SUDT->stretch);
1308 printk(KERN_ERR "fd%d: lost data (side %d, track %d)\n",
1344 * no matter what :-( To save time, the seek goes to the track we're
1355 FDC_WRITE (FDCREG_DATA, SUD.track);
1596 getprm.track = dtp->blocks/dtp->spt/2;
1700 if (setprm.track != dtp->blocks/dtp->spt/2 ||
1732 /* invalidate the buffer track to force a reread */
1766 UD.track = 0;
2007 track buffering off for all Medusas, though it
2028 unit[i].track = -1;