aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r--drivers/ide/pci/cs5520.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
index a73c318ff086..e6af534a7190 100644
--- a/drivers/ide/pci/cs5520.c
+++ b/drivers/ide/pci/cs5520.c
@@ -73,7 +73,6 @@ static int cs5520_tune_chipset(ide_drive_t *drive, const u8 speed)
73 int pio = speed; 73 int pio = speed;
74 u8 reg; 74 u8 reg;
75 int controller = drive->dn > 1 ? 1 : 0; 75 int controller = drive->dn > 1 ? 1 : 0;
76 int error;
77 76
78 switch(speed) 77 switch(speed)
79 { 78 {
@@ -114,14 +113,9 @@ static int cs5520_tune_chipset(ide_drive_t *drive, const u8 speed)
114 reg = inb(hwif->dma_base + 0x02 + 8*controller); 113 reg = inb(hwif->dma_base + 0x02 + 8*controller);
115 reg |= 1<<((drive->dn&1)+5); 114 reg |= 1<<((drive->dn&1)+5);
116 outb(reg, hwif->dma_base + 0x02 + 8*controller); 115 outb(reg, hwif->dma_base + 0x02 + 8*controller);
117
118 error = ide_config_drive_speed(drive, speed);
119 /* ATAPI is harder so leave it for now */
120 if(!error && drive->media == ide_disk)
121 error = hwif->ide_dma_on(drive);
122 116
123 return error; 117 return ide_config_drive_speed(drive, speed);
124} 118}
125 119
126static void cs5520_set_pio_mode(ide_drive_t *drive, const u8 pio) 120static void cs5520_set_pio_mode(ide_drive_t *drive, const u8 pio)
127{ 121{
@@ -177,7 +171,8 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
177 hwif->drives[1].autotune = 1; 171 hwif->drives[1].autotune = 1;
178 return; 172 return;
179 } 173 }
180 174
175 /* ATAPI is harder so leave it for now */
181 hwif->atapi_dma = 0; 176 hwif->atapi_dma = 0;
182 hwif->ultra_mask = 0; 177 hwif->ultra_mask = 0;
183 hwif->swdma_mask = 0; 178 hwif->swdma_mask = 0;