Esempio n. 1
0
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);
	}
}
Esempio n. 2
0
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);
}