aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pdc202xx_old.c
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2009-06-07 09:37:05 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-06-07 09:37:05 -0400
commitffddf1717b0d388879c646eaf6261a2b393c06ad (patch)
treea39a6356cbd2f7bdf54dff50e7bac91a75991cb7 /drivers/ide/pdc202xx_old.c
parent1221e241e3a6f1ff5b0de03d58d871f7c995781b (diff)
pdc202xx_old: kill resetproc() method
The driver's resetproc() method resets both channels at once -- most probably by driving RESET- on them. Not only such reset can severely disturb concurrent operations on another channel, it also ensues 2-second delay, while there's no apparent reason why SRST reset being performed prior to resetproc() call needs to be followed up by another reset. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pdc202xx_old.c')
-rw-r--r--drivers/ide/pdc202xx_old.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/ide/pdc202xx_old.c b/drivers/ide/pdc202xx_old.c
index 494b5404f277..4980dd7b2e28 100644
--- a/drivers/ide/pdc202xx_old.c
+++ b/drivers/ide/pdc202xx_old.c
@@ -203,22 +203,6 @@ static int pdc202xx_dma_end(ide_drive_t *drive)
203 return ide_dma_end(drive); 203 return ide_dma_end(drive);
204} 204}
205 205
206static void pdc202xx_reset(ide_drive_t *drive)
207{
208 ide_hwif_t *hwif = drive->hwif;
209 unsigned long high_16 = hwif->extra_base - 16;
210 u8 udma_speed_flag = inb(high_16 | 0x001f);
211
212 printk(KERN_WARNING "PDC202xx: software reset...\n");
213
214 outb(udma_speed_flag | 0x10, high_16 | 0x001f);
215 mdelay(100);
216 outb(udma_speed_flag & ~0x10, high_16 | 0x001f);
217 mdelay(2000); /* 2 seconds ?! */
218
219 ide_set_max_pio(drive);
220}
221
222static int init_chipset_pdc202xx(struct pci_dev *dev) 206static int init_chipset_pdc202xx(struct pci_dev *dev)
223{ 207{
224 unsigned long dmabase = pci_resource_start(dev, 4); 208 unsigned long dmabase = pci_resource_start(dev, 4);
@@ -279,7 +263,6 @@ static const struct ide_port_ops pdc2026x_port_ops = {
279 .set_pio_mode = pdc202xx_set_pio_mode, 263 .set_pio_mode = pdc202xx_set_pio_mode,
280 .set_dma_mode = pdc202xx_set_mode, 264 .set_dma_mode = pdc202xx_set_mode,
281 .quirkproc = pdc202xx_quirkproc, 265 .quirkproc = pdc202xx_quirkproc,
282 .resetproc = pdc202xx_reset,
283 .cable_detect = pdc2026x_cable_detect, 266 .cable_detect = pdc2026x_cable_detect,
284}; 267};
285 268