Lines Matching defs:drive_state

402 static struct floppy_drive_struct drive_state[N_DRIVE];
607 return !current_type[drive] && !ITYPE(drive_state[drive].fd_device);
737 if (time_before(jiffies, drive_state[drive].select_date + drive_params[drive].select_delay))
752 drive_state[drive].flags);
756 &drive_state[drive].flags);
758 set_bit(FD_VERIFY_BIT, &drive_state[drive].flags);
761 if (drive_state[drive].maxblock) /* mark it changed */
763 &drive_state[drive].flags);
766 if (drive_state[drive].keep_data >= 0) {
776 drive_state[drive].last_checked = jiffies;
777 clear_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[drive].flags);
819 drive_state[drive].select_date = jiffies;
832 drive_state[drive].select_date = jiffies;
849 (mode || drive_state[drive].track != NEED_1_RECAL))
850 drive_state[drive].track = NEED_2_RECAL;
946 delta = jiffies - drive_state[drive].first_read_date + HZ -
972 if (drive_state[drive].fd_ref == 0 || drive_params[drive].select_delay != 0)
1447 &drive_state[current_drive].flags);
1452 &drive_state[current_drive].flags);
1462 drive_state[current_drive].track = NEED_2_RECAL;
1495 ready_date = drive_state[current_drive].spinup_date + drive_params[current_drive].spinup;
1546 drive_state[current_drive].track = NEED_2_RECAL;
1551 if (drive_state[current_drive].track >= 0 &&
1552 drive_state[current_drive].track != reply_buffer[ST1] &&
1559 &drive_state[current_drive].flags);
1561 drive_state[current_drive].select_date = jiffies;
1563 drive_state[current_drive].track = reply_buffer[ST1];
1569 if (test_bit(FD_VERIFY_BIT, &drive_state[drive].flags)) {
1577 clear_bit(FD_VERIFY_BIT, &drive_state[drive].flags);
1579 &drive_state[drive].flags);
1586 &drive_state[drive].flags);
1589 &drive_state[drive].flags);
1602 if (!test_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[current_drive].flags) &&
1609 &drive_state[current_drive].flags);
1614 if (drive_state[current_drive].track <= NEED_1_RECAL) {
1617 } else if (test_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[current_drive].flags) &&
1619 (drive_state[current_drive].track <= NO_TRACK || drive_state[current_drive].track == raw_cmd->track)) {
1634 if (raw_cmd->track != drive_state[current_drive].track &&
1659 switch (drive_state[current_drive].track) {
1681 &drive_state[current_drive].flags);
1682 drive_state[current_drive].select_date = jiffies;
1692 drive_state[current_drive].track = NEED_1_RECAL;
1696 drive_state[current_drive].track = reply_buffer[ST1];
1909 drive_state[current_drive].first_read_date = 0;
1911 drive_state[current_drive].spinup_date = jiffies;
1922 return fd_wait_for_completion(drive_state[current_drive].select_date + drive_params[current_drive].select_delay,
1971 set_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[current_drive].flags);
2073 probed_format = drive_state[drive].probed_format;
2077 drive_state[drive].probed_format = 0;
2081 drive_state[drive].probed_format = probed_format;
2093 drive_state[current_drive].probed_format++;
2104 drive_state[current_drive].track = NEED_2_RECAL;
2109 int type = ITYPE(drive_state[drive].fd_device);
2294 INFBOUND(drive_state[current_drive].maxblock, block);
2296 drive_state[current_drive].maxtrack = 1;
2305 write_errors[current_drive].first_error_generation = drive_state[current_drive].generation;
2308 write_errors[current_drive].last_error_generation = drive_state[current_drive].generation;
2329 if (!drive_state[current_drive].first_read_date)
2330 drive_state[current_drive].first_read_date = jiffies;
2606 test_bit(FD_NEED_TWADDLE_BIT, &drive_state[current_drive].flags)) &&
2724 (drive_params[current_drive].read_track & (1 << drive_state[current_drive].probed_format)))))) {
2891 test_bit(FD_DISK_CHANGED_BIT, &drive_state[current_drive].flags)) {
2898 drive_state[current_drive].probed_format = 0;
2907 _floppy = floppy_type + drive_params[current_drive].autodetect[drive_state[current_drive].probed_format];
2916 if (test_bit(FD_NEED_TWADDLE_BIT, &drive_state[current_drive].flags))
2988 set_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[current_drive].flags);
3239 if (drive_state[drive].fd_ref > 1) {
3243 } else if (drive_state[drive].fd_ref) {
3267 drive_state[current_drive].track = NO_TRACK;
3347 if (!bdev || ITYPE(drive_state[cnt].fd_device) != type)
3370 drive_state[current_drive].keep_data = -1;
3372 drive_state[current_drive].keep_data = 1;
3378 if (drive_state[current_drive].maxblock > user_params[drive].sect ||
3379 drive_state[current_drive].maxtrack ||
3456 int type = ITYPE(drive_state[drive].fd_device);
3492 int type = ITYPE(drive_state[drive].fd_device);
3539 if (drive_state[drive].fd_ref != 1)
3549 set_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags);
3550 set_bit(FD_VERIFY_BIT, &drive_state[drive].flags);
3558 drive_state[drive].keep_data = 0;
3583 ret = drive_state[drive].flags;
3591 if (drive_state[drive].fd_ref != 1)
3629 outparam = &drive_state[drive];
3767 type = ITYPE(drive_state[drive].fd_device);
3783 err = get_floppy_geometry(drive, ITYPE(drive_state[drive].fd_device),
3881 v.spinup_date = drive_state[drive].spinup_date;
3882 v.select_date = drive_state[drive].select_date;
3883 v.first_read_date = drive_state[drive].first_read_date;
3884 v.probed_format = drive_state[drive].probed_format;
3885 v.track = drive_state[drive].track;
3886 v.maxblock = drive_state[drive].maxblock;
3887 v.maxtrack = drive_state[drive].maxtrack;
3888 v.generation = drive_state[drive].generation;
3889 v.keep_data = drive_state[drive].keep_data;
3890 v.fd_ref = drive_state[drive].fd_ref;
3891 v.fd_device = drive_state[drive].fd_device;
3892 v.last_checked = drive_state[drive].last_checked;
3893 v.dmabuf = (uintptr_t) drive_state[drive].dmabuf;
3894 v.bufblocks = drive_state[drive].bufblocks;
4063 if (!drive_state[drive].fd_ref--) {
4065 drive_state[drive].fd_ref = 0;
4067 if (!drive_state[drive].fd_ref)
4088 old_dev = drive_state[drive].fd_device;
4092 if (!drive_state[drive].fd_ref && (drive_params[drive].flags & FD_BROKEN_DCL)) {
4093 set_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags);
4094 set_bit(FD_VERIFY_BIT, &drive_state[drive].flags);
4097 drive_state[drive].fd_ref++;
4134 drive_state[drive].fd_device = new_dev;
4146 drive_state[drive].last_checked = 0;
4148 &drive_state[drive].flags);
4151 if (test_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags))
4153 if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &drive_state[drive].flags))
4158 !test_bit(FD_DISK_WRITABLE_BIT, &drive_state[drive].flags))
4165 drive_state[drive].fd_ref--;
4167 if (!drive_state[drive].fd_ref)
4183 if (test_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags) ||
4184 test_bit(FD_VERIFY_BIT, &drive_state[drive].flags))
4187 if (time_after(jiffies, drive_state[drive].last_checked + drive_params[drive].checkfreq)) {
4194 if (test_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags) ||
4195 test_bit(FD_VERIFY_BIT, &drive_state[drive].flags) ||
4221 set_bit(FD_OPEN_SHOULD_FAIL_BIT, &drive_state[drive].flags);
4273 if (test_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags) ||
4274 test_bit(FD_VERIFY_BIT, &drive_state[drive].flags) ||
4284 cf = (test_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags) ||
4285 test_bit(FD_VERIFY_BIT, &drive_state[drive].flags));
4290 drive_state[drive].maxblock = 0;
4291 drive_state[drive].maxtrack = 0;
4295 clear_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags);
4297 drive_state[drive].generation++;
4307 set_capacity(disk, floppy_sizes[drive_state[drive].fd_device]);
4713 memset(&drive_state[drive], 0, sizeof(drive_state[drive]));
4715 set_bit(FD_DISK_NEWCHANGE_BIT, &drive_state[drive].flags);
4716 set_bit(FD_DISK_CHANGED_BIT, &drive_state[drive].flags);
4717 set_bit(FD_VERIFY_BIT, &drive_state[drive].flags);
4718 drive_state[drive].fd_device = -1;