ide: use ide_tune_dma() part #2
Use ide_tune_dma() in ide-cris/it821x/pdc202xx_old/serverworks drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
5fd216bbb2
commit
bd203b57c7
|
@ -1002,18 +1002,6 @@ static int cris_ide_build_dmatable (ide_drive_t *drive)
|
||||||
return 1; /* let the PIO routines handle this weirdness */
|
return 1; /* let the PIO routines handle this weirdness */
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cris_config_drive_for_dma (ide_drive_t *drive)
|
|
||||||
{
|
|
||||||
u8 speed = ide_max_dma_mode(drive);
|
|
||||||
|
|
||||||
if (!speed)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
speed_cris_ide(drive, speed);
|
|
||||||
|
|
||||||
return ide_dma_enable(drive);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cris_dma_intr() is the handler for disk read/write DMA interrupts
|
* cris_dma_intr() is the handler for disk read/write DMA interrupts
|
||||||
*/
|
*/
|
||||||
|
@ -1043,7 +1031,7 @@ static ide_startstop_t cris_dma_intr (ide_drive_t *drive)
|
||||||
|
|
||||||
static int cris_dma_check(ide_drive_t *drive)
|
static int cris_dma_check(ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
if (ide_use_dma(drive) && cris_config_drive_for_dma(drive))
|
if (ide_tune_dma(drive))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -463,25 +463,6 @@ static int it821x_tune_chipset (ide_drive_t *drive, byte xferspeed)
|
||||||
return ide_config_drive_speed(drive, speed);
|
return ide_config_drive_speed(drive, speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* config_chipset_for_dma - configure for DMA
|
|
||||||
* @drive: drive to configure
|
|
||||||
*
|
|
||||||
* Called by the IDE layer when it wants the timings set up.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static int config_chipset_for_dma (ide_drive_t *drive)
|
|
||||||
{
|
|
||||||
u8 speed = ide_max_dma_mode(drive);
|
|
||||||
|
|
||||||
if (speed == 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
it821x_tune_chipset(drive, speed);
|
|
||||||
|
|
||||||
return ide_dma_enable(drive);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* it821x_configure_drive_for_dma - set up for DMA transfers
|
* it821x_configure_drive_for_dma - set up for DMA transfers
|
||||||
* @drive: drive we are going to set up
|
* @drive: drive we are going to set up
|
||||||
|
@ -494,7 +475,7 @@ static int config_chipset_for_dma (ide_drive_t *drive)
|
||||||
|
|
||||||
static int it821x_config_drive_for_dma (ide_drive_t *drive)
|
static int it821x_config_drive_for_dma (ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
if (ide_use_dma(drive) && config_chipset_for_dma(drive))
|
if (ide_tune_dma(drive))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
it821x_tuneproc(drive, 255);
|
it821x_tuneproc(drive, 255);
|
||||||
|
|
|
@ -181,23 +181,11 @@ static void pdc_old_disable_66MHz_clock(ide_hwif_t *hwif)
|
||||||
outb(clock & ~(hwif->channel ? 0x08 : 0x02), clock_reg);
|
outb(clock & ~(hwif->channel ? 0x08 : 0x02), clock_reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int config_chipset_for_dma (ide_drive_t *drive)
|
|
||||||
{
|
|
||||||
u8 speed = ide_max_dma_mode(drive);
|
|
||||||
|
|
||||||
if (!speed)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
(void)pdc202xx_tune_chipset(drive, speed);
|
|
||||||
|
|
||||||
return ide_dma_enable(drive);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int pdc202xx_config_drive_xfer_rate (ide_drive_t *drive)
|
static int pdc202xx_config_drive_xfer_rate (ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
drive->init_speed = 0;
|
drive->init_speed = 0;
|
||||||
|
|
||||||
if (ide_use_dma(drive) && config_chipset_for_dma(drive))
|
if (ide_tune_dma(drive))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (ide_use_fast_pio(drive))
|
if (ide_use_fast_pio(drive))
|
||||||
|
|
|
@ -270,22 +270,11 @@ static void svwks_tune_drive (ide_drive_t *drive, u8 pio)
|
||||||
(void)svwks_tune_chipset(drive, XFER_PIO_0 + pio);
|
(void)svwks_tune_chipset(drive, XFER_PIO_0 + pio);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int config_chipset_for_dma (ide_drive_t *drive)
|
|
||||||
{
|
|
||||||
u8 speed = ide_max_dma_mode(drive);
|
|
||||||
|
|
||||||
if (!speed)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
(void) svwks_tune_chipset(drive, speed);
|
|
||||||
return ide_dma_enable(drive);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int svwks_config_drive_xfer_rate (ide_drive_t *drive)
|
static int svwks_config_drive_xfer_rate (ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
drive->init_speed = 0;
|
drive->init_speed = 0;
|
||||||
|
|
||||||
if (ide_use_dma(drive) && config_chipset_for_dma(drive))
|
if (ide_tune_dma(drive))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (ide_use_fast_pio(drive))
|
if (ide_use_fast_pio(drive))
|
||||||
|
|
Loading…
Reference in New Issue