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
94 #define FDCSELREG_TRA (0x82) /* track register */
128 #define FDCCMDADD_U (0x10) /* update track register */
142 #define FDCSTAT_TR00 (0x04) /* Track 00 flag (Type I) */
163 int track; /* to be formatted */ member
171 unsigned spt; /* sectors per track */
174 unsigned stretch; /* track doubling ? */
295 int track; /* current head position or -1 if member
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) \ argument
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 */ in fd_select_drive()
538 FDC_WRITE( FDCREG_TRACK, UD.track ); in fd_select_drive()
607 * as possible) and keep track of the current state of the write protection.
719 SUD.track = -1; in fd_error()
774 if (!UDT || desc->track >= UDT->blocks/UDT->spt/2 || desc->head >= 2) { in do_format()
782 /* The track buffer is used for the raw track data, so its in do_format()
793 *p++ = desc->track; in do_format()
810 ReqTrack = desc->track; in do_format()
826 * required parameter settings (drive select, side select, track
856 /* cmd == WRITE, pay attention to track buffer in do_fd_action()
866 if (UD.track == -1) in do_fd_action()
868 else if (UD.track != ReqTrack << UDT->stretch) in do_fd_action()
877 /* Seek to track 0 if the current track is unknown */
881 if (SUD.track >= 0) { in fd_calibrate()
913 SUD.track = 0; in fd_calibrate_done()
919 /* Seek the drive to the requested track. The drive must have been
925 if (SUD.track == ReqTrack << SUDT->stretch) { in fd_seek()
935 DPRINT(("fd_seek() to track %d\n",ReqTrack)); in fd_seek()
957 printk(KERN_ERR "fd%d: seek error (to track %d)\n", in fd_seek_done()
959 /* we don't know exactly which track we are on now! */ in fd_seek_done()
960 SUD.track = -1; in fd_seek_done()
964 SUD.track = ReqTrack << SUDT->stretch; in fd_seek_done()
975 * over the correct track.
985 unsigned int track; in fd_rwsec() local
1013 /* Cheat for track if stretch != 0 */ in fd_rwsec()
1015 track = FDC_READ( FDCREG_TRACK); in fd_rwsec()
1017 FDC_WRITE( FDCREG_TRACK, track >> SUDT->stretch); in fd_rwsec()
1063 /* If reading a whole track, wait about one disk rotation and in fd_rwsec()
1150 unsigned int track; in fd_rwsec_done1() local
1154 /* Correct the track if stretch != 0 */ in fd_rwsec_done1()
1156 track = FDC_READ( FDCREG_TRACK); in fd_rwsec_done1()
1158 FDC_WRITE( FDCREG_TRACK, track << SUDT->stretch); in fd_rwsec_done1()
1215 printk(KERN_ERR "fd%d: sector %d not found (side %d, track %d)\n", in fd_rwsec_done1()
1220 printk(KERN_ERR "fd%d: CRC error (side %d, track %d, sector %d)\n", in fd_rwsec_done1()
1225 printk(KERN_ERR "fd%d: lost data (side %d, track %d, sector %d)\n", in fd_rwsec_done1()
1269 unsigned int track; in fd_writetrack() local
1278 /* Cheat for track if stretch != 0 */ in fd_writetrack()
1280 track = FDC_READ( FDCREG_TRACK); in fd_writetrack()
1282 FDC_WRITE(FDCREG_TRACK,track >> SUDT->stretch); in fd_writetrack()
1336 printk(KERN_ERR "fd%d: lost data (side %d, track %d)\n", in fd_writetrack_done()
1372 * no matter what :-( To save time, the seek goes to the track we're
1383 FDC_WRITE (FDCREG_DATA, SUD.track); in finish_fdc()
1621 getprm.track = dtp->blocks/dtp->spt/2; in fd_locked_ioctl()
1726 if (setprm.track != dtp->blocks/dtp->spt/2 || in fd_locked_ioctl()
1760 /* invalidate the buffer track to force a reread */ in fd_locked_ioctl()
1796 UD.track = 0; in fd_probe()
2105 track buffering off for all Medusas, though it in atari_floppy_init()
2126 unit[i].track = -1; in atari_floppy_init()