diff options
| -rw-r--r-- | drivers/ide/ide-tape.c | 45 |
1 files changed, 11 insertions, 34 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 73f06c859301..ad13527ff440 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
| @@ -311,8 +311,6 @@ typedef struct ide_tape_obj { | |||
| 311 | u8 partition; | 311 | u8 partition; |
| 312 | /* Current block */ | 312 | /* Current block */ |
| 313 | unsigned int first_frame_position; | 313 | unsigned int first_frame_position; |
| 314 | unsigned int last_frame_position; | ||
| 315 | unsigned int blocks_in_buffer; | ||
| 316 | 314 | ||
| 317 | /* | 315 | /* |
| 318 | * Last error information | 316 | * Last error information |
| @@ -399,11 +397,6 @@ typedef struct ide_tape_obj { | |||
| 399 | int avg_size; | 397 | int avg_size; |
| 400 | int avg_speed; | 398 | int avg_speed; |
| 401 | 399 | ||
| 402 | char vendor_id[10]; | ||
| 403 | char product_id[18]; | ||
| 404 | char firmware_revision[6]; | ||
| 405 | int firmware_revision_num; | ||
| 406 | |||
| 407 | /* the door is currently locked */ | 400 | /* the door is currently locked */ |
| 408 | int door_locked; | 401 | int door_locked; |
| 409 | /* the tape hardware is write protected */ | 402 | /* the tape hardware is write protected */ |
| @@ -441,12 +434,6 @@ typedef struct ide_tape_obj { | |||
| 441 | int measure_insert_time; | 434 | int measure_insert_time; |
| 442 | 435 | ||
| 443 | /* | 436 | /* |
| 444 | * Measure tape still time, in milliseconds | ||
| 445 | */ | ||
| 446 | unsigned long tape_still_time_begin; | ||
| 447 | int tape_still_time; | ||
| 448 | |||
| 449 | /* | ||
| 450 | * Speed regulation negative feedback loop | 437 | * Speed regulation negative feedback loop |
| 451 | */ | 438 | */ |
| 452 | int speed_control; | 439 | int speed_control; |
| @@ -454,7 +441,6 @@ typedef struct ide_tape_obj { | |||
| 454 | int controlled_pipeline_head_speed; | 441 | int controlled_pipeline_head_speed; |
| 455 | int uncontrolled_pipeline_head_speed; | 442 | int uncontrolled_pipeline_head_speed; |
| 456 | int controlled_last_pipeline_head; | 443 | int controlled_last_pipeline_head; |
| 457 | int uncontrolled_last_pipeline_head; | ||
| 458 | unsigned long uncontrolled_pipeline_head_time; | 444 | unsigned long uncontrolled_pipeline_head_time; |
| 459 | unsigned long controlled_pipeline_head_time; | 445 | unsigned long controlled_pipeline_head_time; |
| 460 | int controlled_previous_pipeline_head; | 446 | int controlled_previous_pipeline_head; |
| @@ -1696,8 +1682,6 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive, | |||
| 1696 | drive->post_reset = 0; | 1682 | drive->post_reset = 0; |
| 1697 | } | 1683 | } |
| 1698 | 1684 | ||
| 1699 | if (tape->tape_still_time > 100 && tape->tape_still_time < 200) | ||
| 1700 | tape->measure_insert_time = 1; | ||
| 1701 | if (time_after(jiffies, tape->insert_time)) | 1685 | if (time_after(jiffies, tape->insert_time)) |
| 1702 | tape->insert_speed = tape->insert_size / 1024 * HZ / (jiffies - tape->insert_time); | 1686 | tape->insert_speed = tape->insert_size / 1024 * HZ / (jiffies - tape->insert_time); |
| 1703 | idetape_calculate_speeds(drive); | 1687 | idetape_calculate_speeds(drive); |
| @@ -2009,9 +1993,6 @@ static ide_startstop_t idetape_read_position_callback(ide_drive_t *drive) | |||
| 2009 | tape->partition = readpos[1]; | 1993 | tape->partition = readpos[1]; |
| 2010 | tape->first_frame_position = | 1994 | tape->first_frame_position = |
| 2011 | be32_to_cpu(*(u32 *)&readpos[4]); | 1995 | be32_to_cpu(*(u32 *)&readpos[4]); |
| 2012 | tape->last_frame_position = | ||
| 2013 | be32_to_cpu(*(u32 *)&readpos[8]); | ||
| 2014 | tape->blocks_in_buffer = readpos[15]; | ||
| 2015 | set_bit(IDETAPE_ADDRESS_VALID, &tape->flags); | 1996 | set_bit(IDETAPE_ADDRESS_VALID, &tape->flags); |
| 2016 | idetape_end_request(drive, 1, 0); | 1997 | idetape_end_request(drive, 1, 0); |
| 2017 | } | 1998 | } |
| @@ -2540,7 +2521,7 @@ static void idetape_restart_speed_control (ide_drive_t *drive) | |||
| 2540 | 2521 | ||
| 2541 | tape->restart_speed_control_req = 0; | 2522 | tape->restart_speed_control_req = 0; |
| 2542 | tape->pipeline_head = 0; | 2523 | tape->pipeline_head = 0; |
| 2543 | tape->controlled_last_pipeline_head = tape->uncontrolled_last_pipeline_head = 0; | 2524 | tape->controlled_last_pipeline_head = 0; |
| 2544 | tape->controlled_previous_pipeline_head = tape->uncontrolled_previous_pipeline_head = 0; | 2525 | tape->controlled_previous_pipeline_head = tape->uncontrolled_previous_pipeline_head = 0; |
| 2545 | tape->pipeline_head_speed = tape->controlled_pipeline_head_speed = 5000; | 2526 | tape->pipeline_head_speed = tape->controlled_pipeline_head_speed = 5000; |
| 2546 | tape->uncontrolled_pipeline_head_speed = 0; | 2527 | tape->uncontrolled_pipeline_head_speed = 0; |
| @@ -3438,9 +3419,9 @@ static int idetape_identify_device (ide_drive_t *drive) | |||
| 3438 | 3419 | ||
| 3439 | static void idetape_get_inquiry_results(ide_drive_t *drive) | 3420 | static void idetape_get_inquiry_results(ide_drive_t *drive) |
| 3440 | { | 3421 | { |
| 3441 | char *r; | ||
| 3442 | idetape_tape_t *tape = drive->driver_data; | 3422 | idetape_tape_t *tape = drive->driver_data; |
| 3443 | idetape_pc_t pc; | 3423 | idetape_pc_t pc; |
| 3424 | char fw_rev[6], vendor_id[10], product_id[18]; | ||
| 3444 | 3425 | ||
| 3445 | idetape_create_inquiry_cmd(&pc); | 3426 | idetape_create_inquiry_cmd(&pc); |
| 3446 | if (idetape_queue_pc_tail(drive, &pc)) { | 3427 | if (idetape_queue_pc_tail(drive, &pc)) { |
| @@ -3448,20 +3429,16 @@ static void idetape_get_inquiry_results(ide_drive_t *drive) | |||
| 3448 | tape->name); | 3429 | tape->name); |
| 3449 | return; | 3430 | return; |
| 3450 | } | 3431 | } |
| 3451 | memcpy(tape->vendor_id, &pc.buffer[8], 8); | 3432 | memcpy(vendor_id, &pc.buffer[8], 8); |
| 3452 | memcpy(tape->product_id, &pc.buffer[16], 16); | 3433 | memcpy(product_id, &pc.buffer[16], 16); |
| 3453 | memcpy(tape->firmware_revision, &pc.buffer[32], 4); | 3434 | memcpy(fw_rev, &pc.buffer[32], 4); |
| 3454 | 3435 | ||
| 3455 | ide_fixstring(tape->vendor_id, 10, 0); | 3436 | ide_fixstring(vendor_id, 10, 0); |
| 3456 | ide_fixstring(tape->product_id, 18, 0); | 3437 | ide_fixstring(product_id, 18, 0); |
| 3457 | ide_fixstring(tape->firmware_revision, 6, 0); | 3438 | ide_fixstring(fw_rev, 6, 0); |
| 3458 | r = tape->firmware_revision; | 3439 | |
| 3459 | if (*(r + 1) == '.') | ||
| 3460 | tape->firmware_revision_num = (*r - '0') * 100 + | ||
| 3461 | (*(r + 2) - '0') * 10 + *(r + 3) - '0'; | ||
| 3462 | printk(KERN_INFO "ide-tape: %s <-> %s: %s %s rev %s\n", | 3440 | printk(KERN_INFO "ide-tape: %s <-> %s: %s %s rev %s\n", |
| 3463 | drive->name, tape->name, tape->vendor_id, | 3441 | drive->name, tape->name, vendor_id, product_id, fw_rev); |
| 3464 | tape->product_id, tape->firmware_revision); | ||
| 3465 | } | 3442 | } |
| 3466 | 3443 | ||
| 3467 | /* | 3444 | /* |
