diff options
Diffstat (limited to 'drivers/ide/palm_bk3710.c')
-rw-r--r-- | drivers/ide/palm_bk3710.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/ide/palm_bk3710.c b/drivers/ide/palm_bk3710.c index f8eddf05ecb8..9e8f4e1b0cc9 100644 --- a/drivers/ide/palm_bk3710.c +++ b/drivers/ide/palm_bk3710.c | |||
@@ -166,7 +166,7 @@ static void palm_bk3710_setpiomode(void __iomem *base, ide_drive_t *mate, | |||
166 | writel(val32, base + BK3710_DATRCVR); | 166 | writel(val32, base + BK3710_DATRCVR); |
167 | 167 | ||
168 | if (mate) { | 168 | if (mate) { |
169 | u8 mode2 = ide_get_best_pio_mode(mate, 255, 4); | 169 | u8 mode2 = mate->pio_mode - XFER_PIO_0; |
170 | 170 | ||
171 | if (mode2 < mode) | 171 | if (mode2 < mode) |
172 | mode = mode2; | 172 | mode = mode2; |
@@ -188,10 +188,11 @@ static void palm_bk3710_setpiomode(void __iomem *base, ide_drive_t *mate, | |||
188 | writel(val32, base + BK3710_REGRCVR); | 188 | writel(val32, base + BK3710_REGRCVR); |
189 | } | 189 | } |
190 | 190 | ||
191 | static void palm_bk3710_set_dma_mode(ide_drive_t *drive, u8 xferspeed) | 191 | static void palm_bk3710_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
192 | { | 192 | { |
193 | int is_slave = drive->dn & 1; | 193 | int is_slave = drive->dn & 1; |
194 | void __iomem *base = (void *)drive->hwif->dma_base; | 194 | void __iomem *base = (void *)hwif->dma_base; |
195 | const u8 xferspeed = drive->dma_mode; | ||
195 | 196 | ||
196 | if (xferspeed >= XFER_UDMA_0) { | 197 | if (xferspeed >= XFER_UDMA_0) { |
197 | palm_bk3710_setudmamode(base, is_slave, | 198 | palm_bk3710_setudmamode(base, is_slave, |
@@ -203,12 +204,13 @@ static void palm_bk3710_set_dma_mode(ide_drive_t *drive, u8 xferspeed) | |||
203 | } | 204 | } |
204 | } | 205 | } |
205 | 206 | ||
206 | static void palm_bk3710_set_pio_mode(ide_drive_t *drive, u8 pio) | 207 | static void palm_bk3710_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
207 | { | 208 | { |
208 | unsigned int cycle_time; | 209 | unsigned int cycle_time; |
209 | int is_slave = drive->dn & 1; | 210 | int is_slave = drive->dn & 1; |
210 | ide_drive_t *mate; | 211 | ide_drive_t *mate; |
211 | void __iomem *base = (void *)drive->hwif->dma_base; | 212 | void __iomem *base = (void *)hwif->dma_base; |
213 | const u8 pio = drive->pio_mode - XFER_PIO_0; | ||
212 | 214 | ||
213 | /* | 215 | /* |
214 | * Obtain the drive PIO data for tuning the Palm Chip registers | 216 | * Obtain the drive PIO data for tuning the Palm Chip registers |