diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 19:56:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 19:56:35 -0400 |
commit | 2b0460b534f383eca744eb8fff66ec9f57e702b9 (patch) | |
tree | 1bf4b9d0ebccd3083da4de7e4273b8d29f5d5c5d /drivers/ide/pci/siimage.c | |
parent | d91f5bb69adde86173071cf7fffbdf705ae8c6e7 (diff) | |
parent | b02fcae007ac64012806bc57054e7fee6e2ffe5e (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits)
amd74xx: remove /proc/ide/amd74xx
amd74xx/via82cxxx: don't initialize drive->dn
sis5513: remove /proc/ide/sis
ide: remove CONFIG_IDEDMA_ONLYDISK
ide: add "hdx=nodma" kernel parameter
ide: remove hwif->autodma and drive->autodma
ide: remove "idex=dma" kernel parameter
ide: remove CONFIG_BLK_DEV_IDEDMA_FORCED
ide: use PCI_VDEVICE() macro
sis5513: clear prefetch and postwrite for ATAPI devices
it8213/piix/slc90e66: "de-couple" PIO and UDMA modes
ide: unexport noautodma
ide: unexport ide_tune_dma
ide: remove ->ide_dma_check (take 2)
ide-pmac: add PIO autotune fallback to ->ide_dma_check
ide-cris: add PIO autotune fallback to ->ide_dma_check
sl82c105: add PIO autotune fallback to ->ide_dma_check
cs5530/sc1200: add PIO autotune fallback to ->ide_dma_check
ide: remove ide_use_fast_pio()
ide: remove drive->init_speed zeroing
...
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 | }; |