Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 48808
b: refs/heads/master
c: fed2164
h: refs/heads/master
v: v3
  • Loading branch information
Sergei Shtylyov authored and Bartlomiej Zolnierkiewicz committed Feb 17, 2007
1 parent 6c7f498 commit e49d99d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 075cb65511df94b6900ef3288a76cd92185d5170
refs/heads/master: fed21641be7b31338dcf6753ef7f8a396242a410
24 changes: 7 additions & 17 deletions trunk/drivers/ide/pci/pdc202xx_old.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* linux/drivers/ide/pci/pdc202xx_old.c Version 0.36 Sept 11, 2002
*
* Copyright (C) 1998-2002 Andre Hedrick <andre@linux-ide.org>
* Copyright (C) 2006-2007 MontaVista Software, Inc.
*
* Promise Ultra33 cards with BIOS v1.20 through 1.28 will need this
* compiled into the kernel if you have more than one card installed.
Expand Down Expand Up @@ -216,21 +217,10 @@ static int pdc202xx_tune_chipset (ide_drive_t *drive, u8 xferspeed)
}


/* 0 1 2 3 4 5 6 7 8
* 960, 480, 390, 300, 240, 180, 120, 90, 60
* 180, 150, 120, 90, 60
* DMA_Speed
* 180, 120, 90, 90, 90, 60, 30
* 11, 5, 4, 3, 2, 1, 0
*/
static void config_chipset_for_pio (ide_drive_t *drive, u8 pio)
static void pdc202xx_tune_drive(ide_drive_t *drive, u8 pio)
{
u8 speed = 0;

if (pio == 5) pio = 4;
speed = XFER_PIO_0 + ide_get_best_pio_mode(drive, 255, pio, NULL);

pdc202xx_tune_chipset(drive, speed);
pio = ide_get_best_pio_mode(drive, pio, 4, NULL);
pdc202xx_tune_chipset(drive, XFER_PIO_0 + pio);
}

static u8 pdc202xx_old_cable_detect (ide_hwif_t *hwif)
Expand Down Expand Up @@ -348,7 +338,7 @@ static int pdc202xx_config_drive_xfer_rate (ide_drive_t *drive)

} else if ((id->capability & 8) || (id->field_valid & 2)) {
fast_ata_pio:
hwif->tuneproc(drive, 5);
pdc202xx_tune_drive(drive, 255);
return hwif->ide_dma_off_quietly(drive);
}
/* IORDY not supported */
Expand Down Expand Up @@ -463,7 +453,7 @@ static void pdc202xx_reset (ide_drive_t *drive)

pdc202xx_reset_host(hwif);
pdc202xx_reset_host(mate);
hwif->tuneproc(drive, 5);
pdc202xx_tune_drive(drive, 255);
}

static unsigned int __devinit init_chipset_pdc202xx(struct pci_dev *dev,
Expand All @@ -490,7 +480,7 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif)
hwif->rqsize = 256;

hwif->autodma = 0;
hwif->tuneproc = &config_chipset_for_pio;
hwif->tuneproc = &pdc202xx_tune_drive;
hwif->quirkproc = &pdc202xx_quirkproc;

if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246)
Expand Down

0 comments on commit e49d99d

Please sign in to comment.