diff options
Diffstat (limited to 'drivers/ide/pdc202xx_new.c')
-rw-r--r-- | drivers/ide/pdc202xx_new.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/pdc202xx_new.c b/drivers/ide/pdc202xx_new.c index 65ba8239e7b..9546fe2a93f 100644 --- a/drivers/ide/pdc202xx_new.c +++ b/drivers/ide/pdc202xx_new.c | |||
@@ -129,11 +129,11 @@ static struct udma_timing { | |||
129 | { 0x1a, 0x01, 0xcb }, /* UDMA mode 6 */ | 129 | { 0x1a, 0x01, 0xcb }, /* UDMA mode 6 */ |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static void pdcnew_set_dma_mode(ide_drive_t *drive, const u8 speed) | 132 | static void pdcnew_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
133 | { | 133 | { |
134 | ide_hwif_t *hwif = drive->hwif; | ||
135 | struct pci_dev *dev = to_pci_dev(hwif->dev); | 134 | struct pci_dev *dev = to_pci_dev(hwif->dev); |
136 | u8 adj = (drive->dn & 1) ? 0x08 : 0x00; | 135 | u8 adj = (drive->dn & 1) ? 0x08 : 0x00; |
136 | const u8 speed = drive->dma_mode; | ||
137 | 137 | ||
138 | /* | 138 | /* |
139 | * IDE core issues SETFEATURES_XFER to the drive first (thanks to | 139 | * IDE core issues SETFEATURES_XFER to the drive first (thanks to |
@@ -167,11 +167,11 @@ static void pdcnew_set_dma_mode(ide_drive_t *drive, const u8 speed) | |||
167 | } | 167 | } |
168 | } | 168 | } |
169 | 169 | ||
170 | static void pdcnew_set_pio_mode(ide_drive_t *drive, const u8 pio) | 170 | static void pdcnew_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
171 | { | 171 | { |
172 | ide_hwif_t *hwif = drive->hwif; | ||
173 | struct pci_dev *dev = to_pci_dev(hwif->dev); | 172 | struct pci_dev *dev = to_pci_dev(hwif->dev); |
174 | u8 adj = (drive->dn & 1) ? 0x08 : 0x00; | 173 | u8 adj = (drive->dn & 1) ? 0x08 : 0x00; |
174 | const u8 pio = drive->pio_mode - XFER_PIO_0; | ||
175 | 175 | ||
176 | if (max_dma_rate(dev) == 4) { | 176 | if (max_dma_rate(dev) == 4) { |
177 | set_indexed_reg(hwif, 0x0c + adj, pio_timings[pio].reg0c); | 177 | set_indexed_reg(hwif, 0x0c + adj, pio_timings[pio].reg0c); |