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
94 #define FDCSELREG_TRA (0x82) /* track register */
128 #define FDCCMDADD_U (0x10) /* update track register */
163 int track; /* to be formatted */
171 unsigned spt; /* sectors per track */
174 unsigned stretch; /* track doubling ? */
295 int track; /* current head position or -1 if
341 * operations. Second, a track buffer is used to cache a whole track
343 * because that allows write operations without clearing the track buffer.
358 static int UseTrackbuffer = -1; /* Do track buffering? */
367 #define IS_BUFFERED(drive,side,track) \
368 (BufferDrive == (drive) && BufferSide == (side) && BufferTrack == (track))
517 /* Select a drive, update the FDC's track register and set the correct
537 /* restore track register to saved value */
538 FDC_WRITE( FDCREG_TRACK, UD.track );
607 * as possible) and keep track of the current state of the write protection.
719 SUD.track = -1;
774 if (!UDT || desc->track >= UDT->blocks/UDT->spt/2 || desc->head >= 2) {
782 /* The track buffer is used for the raw track data, so its
793 *p++ = desc->track;
810 ReqTrack = desc->track;
826 * required parameter settings (drive select, side select, track
856 /* cmd == WRITE, pay attention to track buffer
866 if (UD.track == -1)
868 else if (UD.track != ReqTrack << UDT->stretch)
877 /* Seek to track 0 if the current track is unknown */
881 if (SUD.track >= 0) {
913 SUD.track = 0;
919 /* Seek the drive to the requested track. The drive must have been
925 if (SUD.track == ReqTrack << SUDT->stretch) {
935 DPRINT(("fd_seek() to track %d\n",ReqTrack));
957 printk(KERN_ERR "fd%d: seek error (to track %d)\n",
959 /* we don't know exactly which track we are on now! */
960 SUD.track = -1;
964 SUD.track = ReqTrack << SUDT->stretch;
975 * over the correct track.
985 unsigned int track;
1013 /* Cheat for track if stretch != 0 */
1015 track = FDC_READ( FDCREG_TRACK);
1017 FDC_WRITE( FDCREG_TRACK, track >> SUDT->stretch);
1063 /* If reading a whole track, wait about one disk rotation and
1150 unsigned int track;
1154 /* Correct the track if stretch != 0 */
1156 track = FDC_READ( FDCREG_TRACK);
1158 FDC_WRITE( FDCREG_TRACK, track << SUDT->stretch);
1215 printk(KERN_ERR "fd%d: sector %d not found (side %d, track %d)\n",
1220 printk(KERN_ERR "fd%d: CRC error (side %d, track %d, sector %d)\n",
1225 printk(KERN_ERR "fd%d: lost data (side %d, track %d, sector %d)\n",
1269 unsigned int track;
1278 /* Cheat for track if stretch != 0 */
1280 track = FDC_READ( FDCREG_TRACK);
1282 FDC_WRITE(FDCREG_TRACK,track >> SUDT->stretch);
1336 printk(KERN_ERR "fd%d: lost data (side %d, track %d)\n",
1372 * no matter what :-( To save time, the seek goes to the track we're
1383 FDC_WRITE (FDCREG_DATA, SUD.track);
1621 getprm.track = dtp->blocks/dtp->spt/2;
1726 if (setprm.track != dtp->blocks/dtp->spt/2 ||
1760 /* invalidate the buffer track to force a reread */
1796 UD.track = 0;
2102 track buffering off for all Medusas, though it
2123 unit[i].track = -1;