diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-02-16 20:40:24 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-02-16 20:40:24 -0500 |
commit | ac4a306537b97fcae5da96bedcf521f6dfdf9753 (patch) | |
tree | bdbb4d111063e89abf765cc58bfbe700424aafbb /drivers/ide | |
parent | 74594fd1454e3588564311f8cd7260edf85204cb (diff) |
sis5513: sis5513_config_xfer_rate() cleanup
* remove bogus comment for sis5513_config_xfer_rate()
* there is no need to call config_drive_art_rwp() because
it is called by config_art_rwp_pio()
* remove needless wrapper
* remove stale "TODO" comment
(IDE core should provide generic tuning code)
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/pci/sis5513.c | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 1afff659ab55..e71552e64ae4 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -667,11 +667,13 @@ static int config_chipset_for_dma (ide_drive_t *drive) | |||
667 | return ide_dma_enable(drive); | 667 | return ide_dma_enable(drive); |
668 | } | 668 | } |
669 | 669 | ||
670 | static int sis5513_config_drive_xfer_rate (ide_drive_t *drive) | 670 | static int sis5513_config_xfer_rate(ide_drive_t *drive) |
671 | { | 671 | { |
672 | ide_hwif_t *hwif = HWIF(drive); | 672 | ide_hwif_t *hwif = HWIF(drive); |
673 | struct hd_driveid *id = drive->id; | 673 | struct hd_driveid *id = drive->id; |
674 | 674 | ||
675 | config_art_rwp_pio(drive, 5); | ||
676 | |||
675 | drive->init_speed = 0; | 677 | drive->init_speed = 0; |
676 | 678 | ||
677 | if (id && (id->capability & 1) && drive->autodma) { | 679 | if (id && (id->capability & 1) && drive->autodma) { |
@@ -692,43 +694,6 @@ fast_ata_pio: | |||
692 | return 0; | 694 | return 0; |
693 | } | 695 | } |
694 | 696 | ||
695 | /* initiates/aborts (U)DMA read/write operations on a drive. */ | ||
696 | static int sis5513_config_xfer_rate (ide_drive_t *drive) | ||
697 | { | ||
698 | config_drive_art_rwp(drive); | ||
699 | config_art_rwp_pio(drive, 5); | ||
700 | return sis5513_config_drive_xfer_rate(drive); | ||
701 | } | ||
702 | |||
703 | /* | ||
704 | Future simpler config_xfer_rate : | ||
705 | When ide_find_best_mode is made bad-drive aware | ||
706 | - remove config_drive_xfer_rate and config_chipset_for_dma, | ||
707 | - replace config_xfer_rate with the following | ||
708 | |||
709 | static int sis5513_config_xfer_rate (ide_drive_t *drive) | ||
710 | { | ||
711 | u16 w80 = HWIF(drive)->udma_four; | ||
712 | u16 speed; | ||
713 | |||
714 | config_drive_art_rwp(drive); | ||
715 | config_art_rwp_pio(drive, 5); | ||
716 | |||
717 | speed = ide_find_best_mode(drive, | ||
718 | XFER_PIO | XFER_EPIO | XFER_SWDMA | XFER_MWDMA | | ||
719 | (chipset_family >= ATA_33 ? XFER_UDMA : 0) | | ||
720 | (w80 && chipset_family >= ATA_66 ? XFER_UDMA_66 : 0) | | ||
721 | (w80 && chipset_family >= ATA_100a ? XFER_UDMA_100 : 0) | | ||
722 | (w80 && chipset_family >= ATA_133a ? XFER_UDMA_133 : 0)); | ||
723 | |||
724 | sis5513_tune_chipset(drive, speed); | ||
725 | |||
726 | if (drive->autodma && (speed & XFER_MODE) != XFER_PIO) | ||
727 | return HWIF(drive)->ide_dma_on(drive); | ||
728 | return HWIF(drive)->ide_dma_off_quietly(drive); | ||
729 | } | ||
730 | */ | ||
731 | |||
732 | /* Chip detection and general config */ | 697 | /* Chip detection and general config */ |
733 | static unsigned int __devinit init_chipset_sis5513 (struct pci_dev *dev, const char *name) | 698 | static unsigned int __devinit init_chipset_sis5513 (struct pci_dev *dev, const char *name) |
734 | { | 699 | { |