diff options
| -rw-r--r-- | drivers/ide/ide-iops.c | 41 |
1 files changed, 6 insertions, 35 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index b443b04a4c5a..0b0aa4f51628 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
| @@ -601,44 +601,15 @@ EXPORT_SYMBOL(ide_wait_stat); | |||
| 601 | */ | 601 | */ |
| 602 | u8 eighty_ninty_three (ide_drive_t *drive) | 602 | u8 eighty_ninty_three (ide_drive_t *drive) |
| 603 | { | 603 | { |
| 604 | #if 0 | 604 | if(HWIF(drive)->udma_four == 0) |
| 605 | if (!HWIF(drive)->udma_four) | 605 | return 0; |
| 606 | if (!(drive->id->hw_config & 0x6000)) | ||
| 606 | return 0; | 607 | return 0; |
| 607 | |||
| 608 | if (drive->id->major_rev_num) { | ||
| 609 | int hssbd = 0; | ||
| 610 | int i; | ||
| 611 | /* | ||
| 612 | * Determine highest Supported SPEC | ||
| 613 | */ | ||
| 614 | for (i=1; i<=15; i++) | ||
| 615 | if (drive->id->major_rev_num & (1<<i)) | ||
| 616 | hssbd++; | ||
| 617 | |||
| 618 | switch (hssbd) { | ||
| 619 | case 7: | ||
| 620 | case 6: | ||
| 621 | case 5: | ||
| 622 | /* ATA-4 and older do not support above Ultra 33 */ | ||
| 623 | default: | ||
| 624 | return 0; | ||
| 625 | } | ||
| 626 | } | ||
| 627 | |||
| 628 | return ((u8) ( | ||
| 629 | #ifndef CONFIG_IDEDMA_IVB | ||
| 630 | (drive->id->hw_config & 0x4000) && | ||
| 631 | #endif /* CONFIG_IDEDMA_IVB */ | ||
| 632 | (drive->id->hw_config & 0x6000)) ? 1 : 0); | ||
| 633 | |||
| 634 | #else | ||
| 635 | |||
| 636 | return ((u8) ((HWIF(drive)->udma_four) && | ||
| 637 | #ifndef CONFIG_IDEDMA_IVB | 608 | #ifndef CONFIG_IDEDMA_IVB |
| 638 | (drive->id->hw_config & 0x4000) && | 609 | if(!(drive->id->hw_config & 0x4000)) |
| 610 | return 0; | ||
| 639 | #endif /* CONFIG_IDEDMA_IVB */ | 611 | #endif /* CONFIG_IDEDMA_IVB */ |
| 640 | (drive->id->hw_config & 0x6000)) ? 1 : 0); | 612 | return 1; |
| 641 | #endif | ||
| 642 | } | 613 | } |
| 643 | 614 | ||
| 644 | EXPORT_SYMBOL(eighty_ninty_three); | 615 | EXPORT_SYMBOL(eighty_ninty_three); |
