aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/alim15x3.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/alim15x3.c')
-rw-r--r--drivers/ide/pci/alim15x3.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c
index 946a12746cb5..26c27d946c67 100644
--- a/drivers/ide/pci/alim15x3.c
+++ b/drivers/ide/pci/alim15x3.c
@@ -783,8 +783,17 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif)
783 783
784 hwif->atapi_dma = 1; 784 hwif->atapi_dma = 1;
785 785
786 if (m5229_revision > 0x20) 786 if (m5229_revision <= 0x20)
787 hwif->ultra_mask = 0x7f; 787 hwif->ultra_mask = 0x00; /* no udma */
788 else if (m5229_revision < 0xC2)
789 hwif->ultra_mask = 0x07; /* udma0-2 */
790 else if (m5229_revision == 0xC2 || m5229_revision == 0xC3)
791 hwif->ultra_mask = 0x1f; /* udma0-4 */
792 else if (m5229_revision == 0xC4)
793 hwif->ultra_mask = 0x3f; /* udma0-5 */
794 else
795 hwif->ultra_mask = 0x7f; /* udma0-6 */
796
788 hwif->mwdma_mask = 0x07; 797 hwif->mwdma_mask = 0x07;
789 hwif->swdma_mask = 0x07; 798 hwif->swdma_mask = 0x07;
790 799