diff options
Diffstat (limited to 'drivers/ide/pci/siimage.c')
-rw-r--r-- | drivers/ide/pci/siimage.c | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index ce7784996d12..85d0afd00e66 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -311,27 +311,6 @@ static void sil_set_dma_mode(ide_drive_t *drive, const u8 speed) | |||
311 | } | 311 | } |
312 | } | 312 | } |
313 | 313 | ||
314 | /** | ||
315 | * siimage_configure_drive_for_dma - set up for DMA transfers | ||
316 | * @drive: drive we are going to set up | ||
317 | * | ||
318 | * Set up the drive for DMA, tune the controller and drive as | ||
319 | * required. If the drive isn't suitable for DMA or we hit | ||
320 | * other problems then we will drop down to PIO and set up | ||
321 | * PIO appropriately | ||
322 | */ | ||
323 | |||
324 | static int siimage_config_drive_for_dma (ide_drive_t *drive) | ||
325 | { | ||
326 | if (ide_tune_dma(drive)) | ||
327 | return 0; | ||
328 | |||
329 | if (ide_use_fast_pio(drive)) | ||
330 | ide_set_max_pio(drive); | ||
331 | |||
332 | return -1; | ||
333 | } | ||
334 | |||
335 | /* returns 1 if dma irq issued, 0 otherwise */ | 314 | /* returns 1 if dma irq issued, 0 otherwise */ |
336 | static int siimage_io_ide_dma_test_irq (ide_drive_t *drive) | 315 | static int siimage_io_ide_dma_test_irq (ide_drive_t *drive) |
337 | { | 316 | { |
@@ -894,8 +873,6 @@ static u8 __devinit ata66_siimage(ide_hwif_t *hwif) | |||
894 | 873 | ||
895 | static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | 874 | static void __devinit init_hwif_siimage(ide_hwif_t *hwif) |
896 | { | 875 | { |
897 | hwif->autodma = 0; | ||
898 | |||
899 | hwif->resetproc = &siimage_reset; | 876 | hwif->resetproc = &siimage_reset; |
900 | hwif->set_pio_mode = &sil_set_pio_mode; | 877 | hwif->set_pio_mode = &sil_set_pio_mode; |
901 | hwif->set_dma_mode = &sil_set_dma_mode; | 878 | hwif->set_dma_mode = &sil_set_dma_mode; |
@@ -925,8 +902,6 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | |||
925 | if (!is_sata(hwif)) | 902 | if (!is_sata(hwif)) |
926 | hwif->atapi_dma = 1; | 903 | hwif->atapi_dma = 1; |
927 | 904 | ||
928 | hwif->ide_dma_check = &siimage_config_drive_for_dma; | ||
929 | |||
930 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) | 905 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
931 | hwif->cbl = ata66_siimage(hwif); | 906 | hwif->cbl = ata66_siimage(hwif); |
932 | 907 | ||
@@ -935,15 +910,6 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | |||
935 | } else { | 910 | } else { |
936 | hwif->ide_dma_test_irq = & siimage_io_ide_dma_test_irq; | 911 | hwif->ide_dma_test_irq = & siimage_io_ide_dma_test_irq; |
937 | } | 912 | } |
938 | |||
939 | /* | ||
940 | * The BIOS often doesn't set up DMA on this controller | ||
941 | * so we always do it. | ||
942 | */ | ||
943 | |||
944 | hwif->autodma = 1; | ||
945 | hwif->drives[0].autodma = hwif->autodma; | ||
946 | hwif->drives[1].autodma = hwif->autodma; | ||
947 | } | 913 | } |
948 | 914 | ||
949 | #define DECLARE_SII_DEV(name_str) \ | 915 | #define DECLARE_SII_DEV(name_str) \ |
@@ -978,11 +944,11 @@ static int __devinit siimage_init_one(struct pci_dev *dev, const struct pci_devi | |||
978 | return ide_setup_pci_device(dev, &siimage_chipsets[id->driver_data]); | 944 | return ide_setup_pci_device(dev, &siimage_chipsets[id->driver_data]); |
979 | } | 945 | } |
980 | 946 | ||
981 | static struct pci_device_id siimage_pci_tbl[] = { | 947 | static const struct pci_device_id siimage_pci_tbl[] = { |
982 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 948 | { PCI_VDEVICE(CMD, PCI_DEVICE_ID_SII_680), 0 }, |
983 | #ifdef CONFIG_BLK_DEV_IDE_SATA | 949 | #ifdef CONFIG_BLK_DEV_IDE_SATA |
984 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, | 950 | { PCI_VDEVICE(CMD, PCI_DEVICE_ID_SII_3112), 1 }, |
985 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, | 951 | { PCI_VDEVICE(CMD, PCI_DEVICE_ID_SII_1210SA), 2 }, |
986 | #endif | 952 | #endif |
987 | { 0, }, | 953 | { 0, }, |
988 | }; | 954 | }; |