aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r--drivers/ide/pci/alim15x3.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c
index 88f084eae193..0b83443bf250 100644
--- a/drivers/ide/pci/alim15x3.c
+++ b/drivers/ide/pci/alim15x3.c
@@ -694,6 +694,10 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif)
694 return; 694 return;
695 } 695 }
696 696
697 /*
698 * check in ->init_dma guarantees m5229_revision >= 0x20 here
699 */
700
697 if (m5229_revision > 0x20) 701 if (m5229_revision > 0x20)
698 hwif->atapi_dma = 1; 702 hwif->atapi_dma = 1;
699 703
@@ -711,18 +715,15 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif)
711 hwif->mwdma_mask = 0x07; 715 hwif->mwdma_mask = 0x07;
712 hwif->swdma_mask = 0x07; 716 hwif->swdma_mask = 0x07;
713 717
714 if (m5229_revision >= 0x20) { 718 hwif->ide_dma_check = &ali15x3_config_drive_for_dma;
715 /* 719 hwif->dma_setup = &ali15x3_dma_setup;
716 * M1543C or newer for DMAing 720
717 */ 721 if (hwif->cbl != ATA_CBL_PATA40_SHORT)
718 hwif->ide_dma_check = &ali15x3_config_drive_for_dma; 722 hwif->cbl = ata66_ali15x3(hwif);
719 hwif->dma_setup = &ali15x3_dma_setup; 723
720 if (!noautodma) 724 if (!noautodma)
721 hwif->autodma = 1; 725 hwif->autodma = 1;
722 726
723 if (hwif->cbl != ATA_CBL_PATA40_SHORT)
724 hwif->cbl = ata66_ali15x3(hwif);
725 }
726 hwif->drives[0].autodma = hwif->autodma; 727 hwif->drives[0].autodma = hwif->autodma;
727 hwif->drives[1].autodma = hwif->autodma; 728 hwif->drives[1].autodma = hwif->autodma;
728} 729}