projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
jmicron: make ide jmicron driver play nice with libata ones
[powerpc.git]
/
drivers
/
ide
/
pci
/
pdc202xx_new.c
diff --git
a/drivers/ide/pci/pdc202xx_new.c
b/drivers/ide/pci/pdc202xx_new.c
index
236a031
..
6ceb25b
100644
(file)
--- a/
drivers/ide/pci/pdc202xx_new.c
+++ b/
drivers/ide/pci/pdc202xx_new.c
@@
-101,8
+101,8
@@
static u8 get_indexed_reg(ide_hwif_t *hwif, u8 index)
{
u8 value;
{
u8 value;
-
hwif->OUTB
(index, hwif->dma_vendor1);
- value =
hwif->INB
(hwif->dma_vendor3);
+
outb
(index, hwif->dma_vendor1);
+ value =
inb
(hwif->dma_vendor3);
DBG("index[%02X] value[%02X]\n", index, value);
return value;
DBG("index[%02X] value[%02X]\n", index, value);
return value;
@@
-115,8
+115,8
@@
static u8 get_indexed_reg(ide_hwif_t *hwif, u8 index)
*/
static void set_indexed_reg(ide_hwif_t *hwif, u8 index, u8 value)
{
*/
static void set_indexed_reg(ide_hwif_t *hwif, u8 index, u8 value)
{
-
hwif->OUTB
(index, hwif->dma_vendor1);
-
hwif->OUTB
(value, hwif->dma_vendor3);
+
outb
(index, hwif->dma_vendor1);
+
outb
(value, hwif->dma_vendor3);
DBG("index[%02X] value[%02X]\n", index, value);
}
DBG("index[%02X] value[%02X]\n", index, value);
}
@@
-281,25
+281,15
@@
static int config_chipset_for_dma(ide_drive_t *drive)
static int pdcnew_config_drive_xfer_rate(ide_drive_t *drive)
{
static int pdcnew_config_drive_xfer_rate(ide_drive_t *drive)
{
- ide_hwif_t *hwif = HWIF(drive);
- struct hd_driveid *id = drive->id;
-
drive->init_speed = 0;
drive->init_speed = 0;
- if ((id->capability & 1) && drive->autodma) {
-
- if (ide_use_dma(drive) && config_chipset_for_dma(drive))
- return hwif->ide_dma_on(drive);
+ if (ide_use_dma(drive) && config_chipset_for_dma(drive))
+ return 0;
- goto fast_ata_pio;
+ if (ide_use_fast_pio(drive))
+ pdcnew_tune_drive(drive, 255);
- } else if ((id->capability & 8) || (id->field_valid & 2)) {
-fast_ata_pio:
- hwif->tuneproc(drive, 255);
- return hwif->ide_dma_off_quietly(drive);
- }
- /* IORDY not supported */
- return 0;
+ return -1;
}
static int pdcnew_quirkproc(ide_drive_t *drive)
}
static int pdcnew_quirkproc(ide_drive_t *drive)