Lines Matching full:track

34  * 28.02.92 - made track-buffering routines, based on the routines written
313 #define TRACK 2 macro
432 | Sectors per track
525 * Track buffer
591 static unsigned char fsector_t; /* sector in track */
849 (mode || drive_state[drive].track != NEED_1_RECAL)) in reset_fdc_info()
850 drive_state[drive].track = NEED_2_RECAL; in reset_fdc_info()
1254 output_byte(fdc, 0); /* pre-compensation from track 0 upwards */ in fdc_configure()
1384 pr_cont(": track %d, head %d, sector %d, size %d", in tell_sector()
1462 drive_state[current_drive].track = NEED_2_RECAL; in interpret_errors()
1480 * selected, and the head is sitting on the right track).
1546 drive_state[current_drive].track = NEED_2_RECAL; in seek_interrupt()
1551 if (drive_state[current_drive].track >= 0 && in seek_interrupt()
1552 drive_state[current_drive].track != reply_buffer[ST1] && in seek_interrupt()
1563 drive_state[current_drive].track = reply_buffer[ST1]; in seek_interrupt()
1595 int track; in seek_floppy() local
1614 if (drive_state[current_drive].track <= NEED_1_RECAL) { in seek_floppy()
1619 …(drive_state[current_drive].track <= NO_TRACK || drive_state[current_drive].track == raw_cmd->trac… in seek_floppy()
1622 if (raw_cmd->track) in seek_floppy()
1623 track = raw_cmd->track - 1; in seek_floppy()
1630 track = 1; in seek_floppy()
1634 if (raw_cmd->track != drive_state[current_drive].track && in seek_floppy()
1636 track = raw_cmd->track; in seek_floppy()
1646 if (output_byte(current_fdc, track) < 0) { in seek_floppy()
1659 switch (drive_state[current_drive].track) { in recal_interrupt()
1663 * reached track 0. Probably no drive. Raise an in recal_interrupt()
1672 * and we are not at track 0, this in recal_interrupt()
1675 * be already at track 0.) Clear the in recal_interrupt()
1689 * track 0, this might mean that we in recal_interrupt()
1690 * started beyond track 80. Try in recal_interrupt()
1692 drive_state[current_drive].track = NEED_1_RECAL; in recal_interrupt()
1696 drive_state[current_drive].track = reply_buffer[ST1]; in recal_interrupt()
2104 drive_state[current_drive].track = NEED_2_RECAL; in bad_flp_intr()
2138 static void setup_format_params(int track) in setup_format_params() argument
2146 unsigned char track, head, sect, size; in setup_format_params() member
2150 raw_cmd->track = track; in setup_format_params()
2169 /* allow for about 30ms for data transport per track */ in setup_format_params()
2175 /* position of logical sector 1 on this track */ in setup_format_params()
2176 n = (track_shift * format_req.track + head_shift * format_req.head) in setup_format_params()
2186 here[count].track = format_req.track; in setup_format_params()
2213 setup_format_params(format_req.track << STRETCH(_floppy)); in redo_format()
2234 _floppy->track > drive_params[current_drive].tracks || in do_format()
2235 tmp_format_req->track >= _floppy->track || in do_format()
2345 nr_sectors = (((reply_buffer[R_TRACK] - raw_cmd->cmd[TRACK]) * heads + in rw_interrupt()
2358 raw_cmd->cmd[TRACK]); in rw_interrupt()
2403 buffer_track = raw_cmd->track; in rw_interrupt()
2425 * Move data from/to the track buffer to/from the buffer cache.
2513 raw_cmd->cmd[COMMAND] &= ~0x80; /* switch off multiple track mode */ in virtualdmabug_workaround()
2532 * track, or a single sector)
2533 * All floppy_track_buffer handling goes in here. If we ever add track buffer
2567 raw_cmd->cmd[TRACK] = (int)blk_rq_pos(current_req) / max_sector; in make_raw_rw_request()
2569 if (_floppy->track && raw_cmd->cmd[TRACK] >= _floppy->track) { in make_raw_rw_request()
2583 /* 2M disks have phantom sectors on the first track */ in make_raw_rw_request()
2584 if ((_floppy->rate & FD_2M) && (!raw_cmd->cmd[TRACK]) && (!raw_cmd->cmd[HEAD])) { in make_raw_rw_request()
2597 (raw_cmd->cmd[TRACK] || raw_cmd->cmd[HEAD]) && raw_cmd->rate == 2) in make_raw_rw_request()
2604 raw_cmd->track = raw_cmd->cmd[TRACK] << STRETCH(_floppy); in make_raw_rw_request()
2632 } else if (!raw_cmd->cmd[TRACK] && !raw_cmd->cmd[HEAD] && !(_floppy->rate & FD_2M) && probing) { in make_raw_rw_request()
2642 if ((raw_cmd->track == buffer_track) && in make_raw_rw_request()
2645 /* data already in track buffer */ in make_raw_rw_request()
2668 /* claim buffer track if needed */ in make_raw_rw_request()
2669 if (buffer_track != raw_cmd->track || /* bad track */ in make_raw_rw_request()
2686 /* copy write buffer to track buffer. in make_raw_rw_request()
2692 buffer_track = raw_cmd->track; in make_raw_rw_request()
2720 pr_info("command=%x SECTOR=%d HEAD=%d, TRACK=%d\n", in make_raw_rw_request()
2722 raw_cmd->cmd[HEAD], raw_cmd->cmd[TRACK]); in make_raw_rw_request()
2724 pr_info("buffer track=%d\n", buffer_track); in make_raw_rw_request()
2896 raw_cmd->track = 0; in poll_drive()
3175 drive_state[current_drive].track = NO_TRACK; in raw_cmd_ioctl()
3215 /* invalidate the buffer track to force a reread */ in invalidate_drive()
3235 g->track <= 0 || g->track > drive_params[drive].tracks >> STRETCH(g) || in set_geometry()
3374 geo->cylinders = g->track; in fd_getgeo()
3610 short track; member
3635 unsigned char track[4]; member
3793 v.track = drive_state[drive].track; in compat_getdrvstat()
3836 memcpy(v32.track, v.track, 4); in compat_getfdcstat()
4672 fdc_state[i].track[unit] = 0; in do_floppy_init()