diff options
Diffstat (limited to 'drivers/ide/pci/slc90e66.c')
-rw-r--r-- | drivers/ide/pci/slc90e66.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c index fa8df6d43832..4f22dffdf8ef 100644 --- a/drivers/ide/pci/slc90e66.c +++ b/drivers/ide/pci/slc90e66.c | |||
@@ -133,25 +133,14 @@ static void __devinit init_hwif_slc90e66 (ide_hwif_t *hwif) | |||
133 | u8 reg47 = 0; | 133 | u8 reg47 = 0; |
134 | u8 mask = hwif->channel ? 0x01 : 0x02; /* bit0:Primary */ | 134 | u8 mask = hwif->channel ? 0x01 : 0x02; /* bit0:Primary */ |
135 | 135 | ||
136 | if (!hwif->irq) | ||
137 | hwif->irq = hwif->channel ? 15 : 14; | ||
138 | |||
139 | hwif->set_pio_mode = &slc90e66_set_pio_mode; | 136 | hwif->set_pio_mode = &slc90e66_set_pio_mode; |
140 | hwif->set_dma_mode = &slc90e66_set_dma_mode; | 137 | hwif->set_dma_mode = &slc90e66_set_dma_mode; |
141 | 138 | ||
142 | pci_read_config_byte(hwif->pci_dev, 0x47, ®47); | 139 | pci_read_config_byte(hwif->pci_dev, 0x47, ®47); |
143 | 140 | ||
144 | hwif->drives[0].autotune = 1; | ||
145 | hwif->drives[1].autotune = 1; | ||
146 | |||
147 | if (hwif->dma_base == 0) | 141 | if (hwif->dma_base == 0) |
148 | return; | 142 | return; |
149 | 143 | ||
150 | hwif->atapi_dma = 1; | ||
151 | hwif->ultra_mask = 0x1f; | ||
152 | hwif->mwdma_mask = 0x06; | ||
153 | hwif->swdma_mask = 0x04; | ||
154 | |||
155 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) | 144 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
156 | /* bit[0(1)]: 0:80, 1:40 */ | 145 | /* bit[0(1)]: 0:80, 1:40 */ |
157 | hwif->cbl = (reg47 & mask) ? ATA_CBL_PATA40 : ATA_CBL_PATA80; | 146 | hwif->cbl = (reg47 & mask) ? ATA_CBL_PATA40 : ATA_CBL_PATA80; |
@@ -160,10 +149,12 @@ static void __devinit init_hwif_slc90e66 (ide_hwif_t *hwif) | |||
160 | static ide_pci_device_t slc90e66_chipset __devinitdata = { | 149 | static ide_pci_device_t slc90e66_chipset __devinitdata = { |
161 | .name = "SLC90E66", | 150 | .name = "SLC90E66", |
162 | .init_hwif = init_hwif_slc90e66, | 151 | .init_hwif = init_hwif_slc90e66, |
163 | .autodma = AUTODMA, | ||
164 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, | 152 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, |
165 | .bootable = ON_BOARD, | 153 | .host_flags = IDE_HFLAG_LEGACY_IRQS | IDE_HFLAG_BOOTABLE, |
166 | .pio_mask = ATA_PIO4, | 154 | .pio_mask = ATA_PIO4, |
155 | .swdma_mask = ATA_SWDMA2_ONLY, | ||
156 | .mwdma_mask = ATA_MWDMA12_ONLY, | ||
157 | .udma_mask = ATA_UDMA4, | ||
167 | }; | 158 | }; |
168 | 159 | ||
169 | static int __devinit slc90e66_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 160 | static int __devinit slc90e66_init_one(struct pci_dev *dev, const struct pci_device_id *id) |