static void palm_bk3710_set_dma_mode(ide_drive_t *drive, u8 xferspeed) { int is_slave = drive->dn & 1; void __iomem *base = (void *)drive->hwif->dma_base; if (xferspeed >= XFER_UDMA_0) { palm_bk3710_setudmamode(base, is_slave, xferspeed - XFER_UDMA_0); } else { palm_bk3710_setdmamode(base, is_slave, drive->id[ATA_ID_EIDE_DMA_MIN], xferspeed); } }
static int palm_bk3710_tune_chipset(ide_drive_t *drive, u8 speed) { int is_slave = drive->dn & 1; void __iomem *base = (void *)drive->hwif->dma_base; speed = ide_rate_filter(palm_bk3710_ratemask(drive), speed); if (speed >= XFER_UDMA_0) { palm_bk3710_setudmamode(base, is_slave, speed - XFER_UDMA_0); } else { palm_bk3710_setdmamode(base, is_slave, drive->id->eide_dma_min, speed); } return ide_config_drive_speed(drive, speed); }