Skip to content

Commit

Permalink
ide: use ide_tune_dma() part #2
Browse files Browse the repository at this point in the history
Use ide_tune_dma() in ide-cris/it821x/pdc202xx_old/serverworks drivers.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
  • Loading branch information
Bartlomiej Zolnierkiewicz committed May 15, 2007
1 parent 5fd216b commit bd203b5
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 58 deletions.
14 changes: 1 addition & 13 deletions drivers/ide/cris/ide-cris.c
Original file line number Diff line number Diff line change
Expand Up @@ -1002,18 +1002,6 @@ static int cris_ide_build_dmatable (ide_drive_t *drive)
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
*/
Expand Down Expand Up @@ -1043,7 +1031,7 @@ static ide_startstop_t cris_dma_intr (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 -1;
Expand Down
21 changes: 1 addition & 20 deletions drivers/ide/pci/it821x.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,25 +463,6 @@ static int it821x_tune_chipset (ide_drive_t *drive, byte xferspeed)
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
* @drive: drive we are going to set up
Expand All @@ -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)
{
if (ide_use_dma(drive) && config_chipset_for_dma(drive))
if (ide_tune_dma(drive))
return 0;

it821x_tuneproc(drive, 255);
Expand Down
14 changes: 1 addition & 13 deletions drivers/ide/pci/pdc202xx_old.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,23 +181,11 @@ static void pdc_old_disable_66MHz_clock(ide_hwif_t *hwif)
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)
{
drive->init_speed = 0;

if (ide_use_dma(drive) && config_chipset_for_dma(drive))
if (ide_tune_dma(drive))
return 0;

if (ide_use_fast_pio(drive))
Expand Down
13 changes: 1 addition & 12 deletions drivers/ide/pci/serverworks.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,22 +270,11 @@ static void svwks_tune_drive (ide_drive_t *drive, u8 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)
{
drive->init_speed = 0;

if (ide_use_dma(drive) && config_chipset_for_dma(drive))
if (ide_tune_dma(drive))
return 0;

if (ide_use_fast_pio(drive))
Expand Down

0 comments on commit bd203b5

Please sign in to comment.