diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:12 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:12 -0500 |
commit | 790d1239898d4f893112280decd344d90f43ee96 (patch) | |
tree | a8ed2d8fedc4d62b28249d84db4c2904f738cbb3 /drivers/scsi/ide-scsi.c | |
parent | e5f9f5a89a01abc2b9c09747452aeb9218d6bffd (diff) |
ide: remove ata_nsector_t, ata_data_t and atapi_bcount_t
Remove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t.
While at it:
* replace 'HWIF(drive)' by 'hwif'
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/scsi/ide-scsi.c')
-rw-r--r-- | drivers/scsi/ide-scsi.c | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index c009f2351346..77e8a81228fc 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
@@ -395,11 +395,12 @@ static int idescsi_expiry(ide_drive_t *drive) | |||
395 | static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | 395 | static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) |
396 | { | 396 | { |
397 | idescsi_scsi_t *scsi = drive_to_idescsi(drive); | 397 | idescsi_scsi_t *scsi = drive_to_idescsi(drive); |
398 | idescsi_pc_t *pc=scsi->pc; | 398 | ide_hwif_t *hwif = drive->hwif; |
399 | idescsi_pc_t *pc = scsi->pc; | ||
399 | struct request *rq = pc->rq; | 400 | struct request *rq = pc->rq; |
400 | atapi_bcount_t bcount; | ||
401 | atapi_ireason_t ireason; | 401 | atapi_ireason_t ireason; |
402 | unsigned int temp; | 402 | unsigned int temp; |
403 | u16 bcount; | ||
403 | u8 stat; | 404 | u8 stat; |
404 | 405 | ||
405 | #if IDESCSI_DEBUG_LOG | 406 | #if IDESCSI_DEBUG_LOG |
@@ -436,8 +437,8 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
436 | idescsi_end_request (drive, 1, 0); | 437 | idescsi_end_request (drive, 1, 0); |
437 | return ide_stopped; | 438 | return ide_stopped; |
438 | } | 439 | } |
439 | bcount.b.low = HWIF(drive)->INB(IDE_BCOUNTL_REG); | 440 | bcount = (hwif->INB(IDE_BCOUNTH_REG) << 8) | |
440 | bcount.b.high = HWIF(drive)->INB(IDE_BCOUNTH_REG); | 441 | hwif->INB(IDE_BCOUNTL_REG); |
441 | ireason.all = HWIF(drive)->INB(IDE_IREASON_REG); | 442 | ireason.all = HWIF(drive)->INB(IDE_IREASON_REG); |
442 | 443 | ||
443 | if (ireason.b.cod) { | 444 | if (ireason.b.cod) { |
@@ -445,7 +446,7 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
445 | return ide_do_reset (drive); | 446 | return ide_do_reset (drive); |
446 | } | 447 | } |
447 | if (ireason.b.io) { | 448 | if (ireason.b.io) { |
448 | temp = pc->actually_transferred + bcount.all; | 449 | temp = pc->actually_transferred + bcount; |
449 | if (temp > pc->request_transfer) { | 450 | if (temp > pc->request_transfer) { |
450 | if (temp > pc->buffer_size) { | 451 | if (temp > pc->buffer_size) { |
451 | printk(KERN_ERR "ide-scsi: The scsi wants to " | 452 | printk(KERN_ERR "ide-scsi: The scsi wants to " |
@@ -458,11 +459,13 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
458 | idescsi_input_buffers(drive, pc, temp); | 459 | idescsi_input_buffers(drive, pc, temp); |
459 | else | 460 | else |
460 | drive->hwif->atapi_input_bytes(drive, pc->current_position, temp); | 461 | drive->hwif->atapi_input_bytes(drive, pc->current_position, temp); |
461 | printk(KERN_ERR "ide-scsi: transferred %d of %d bytes\n", temp, bcount.all); | 462 | printk(KERN_ERR "ide-scsi: transferred" |
463 | " %d of %d bytes\n", | ||
464 | temp, bcount); | ||
462 | } | 465 | } |
463 | pc->actually_transferred += temp; | 466 | pc->actually_transferred += temp; |
464 | pc->current_position += temp; | 467 | pc->current_position += temp; |
465 | idescsi_discard_data(drive, bcount.all - temp); | 468 | idescsi_discard_data(drive, bcount - temp); |
466 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); | 469 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); |
467 | return ide_started; | 470 | return ide_started; |
468 | } | 471 | } |
@@ -474,19 +477,21 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
474 | if (ireason.b.io) { | 477 | if (ireason.b.io) { |
475 | clear_bit(PC_WRITING, &pc->flags); | 478 | clear_bit(PC_WRITING, &pc->flags); |
476 | if (pc->sg) | 479 | if (pc->sg) |
477 | idescsi_input_buffers(drive, pc, bcount.all); | 480 | idescsi_input_buffers(drive, pc, bcount); |
478 | else | 481 | else |
479 | HWIF(drive)->atapi_input_bytes(drive, pc->current_position, bcount.all); | 482 | hwif->atapi_input_bytes(drive, pc->current_position, |
483 | bcount); | ||
480 | } else { | 484 | } else { |
481 | set_bit(PC_WRITING, &pc->flags); | 485 | set_bit(PC_WRITING, &pc->flags); |
482 | if (pc->sg) | 486 | if (pc->sg) |
483 | idescsi_output_buffers (drive, pc, bcount.all); | 487 | idescsi_output_buffers(drive, pc, bcount); |
484 | else | 488 | else |
485 | HWIF(drive)->atapi_output_bytes(drive, pc->current_position, bcount.all); | 489 | hwif->atapi_output_bytes(drive, pc->current_position, |
490 | bcount); | ||
486 | } | 491 | } |
487 | /* Update the current position */ | 492 | /* Update the current position */ |
488 | pc->actually_transferred += bcount.all; | 493 | pc->actually_transferred += bcount; |
489 | pc->current_position += bcount.all; | 494 | pc->current_position += bcount; |
490 | 495 | ||
491 | /* And set the interrupt handler again */ | 496 | /* And set the interrupt handler again */ |
492 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); | 497 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); |
@@ -570,13 +575,14 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc) | |||
570 | { | 575 | { |
571 | idescsi_scsi_t *scsi = drive_to_idescsi(drive); | 576 | idescsi_scsi_t *scsi = drive_to_idescsi(drive); |
572 | ide_hwif_t *hwif = drive->hwif; | 577 | ide_hwif_t *hwif = drive->hwif; |
573 | atapi_bcount_t bcount; | 578 | u16 bcount; |
574 | u8 dma = 0; | 579 | u8 dma = 0; |
575 | 580 | ||
576 | scsi->pc=pc; /* Set the current packet command */ | 581 | scsi->pc=pc; /* Set the current packet command */ |
577 | pc->actually_transferred=0; /* We haven't transferred any data yet */ | 582 | pc->actually_transferred=0; /* We haven't transferred any data yet */ |
578 | pc->current_position=pc->buffer; | 583 | pc->current_position=pc->buffer; |
579 | bcount.all = min(pc->request_transfer, 63 * 1024); /* Request to transfer the entire buffer at once */ | 584 | /* Request to transfer the entire buffer at once */ |
585 | bcount = min(pc->request_transfer, 63 * 1024); | ||
580 | 586 | ||
581 | if (drive->using_dma && !idescsi_map_sg(drive, pc)) { | 587 | if (drive->using_dma && !idescsi_map_sg(drive, pc)) { |
582 | hwif->sg_mapped = 1; | 588 | hwif->sg_mapped = 1; |
@@ -589,8 +595,8 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc) | |||
589 | HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG); | 595 | HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG); |
590 | 596 | ||
591 | hwif->OUTB(dma, IDE_FEATURE_REG); | 597 | hwif->OUTB(dma, IDE_FEATURE_REG); |
592 | HWIF(drive)->OUTB(bcount.b.high, IDE_BCOUNTH_REG); | 598 | hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG); |
593 | HWIF(drive)->OUTB(bcount.b.low, IDE_BCOUNTL_REG); | 599 | hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG); |
594 | 600 | ||
595 | if (dma) | 601 | if (dma) |
596 | set_bit(PC_DMA_OK, &pc->flags); | 602 | set_bit(PC_DMA_OK, &pc->flags); |