Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4728d546 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

ide: remove ide_dma_enable()



* check ->speedproc return value in ide_tune_dma()
* use ide_tune_dma() in cmd64x/cs5530/sc1200/siimage/sl82c105/scc_pata drivers
* remove no longer needed ide_dma_enable()

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 46cedc9b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -792,9 +792,10 @@ int ide_tune_dma(ide_drive_t *drive)
	if (!speed)
		return 0;

	drive->hwif->speedproc(drive, speed);
	if (drive->hwif->speedproc(drive, speed))
		return 0;

	return ide_dma_enable(drive);
	return 1;
}

EXPORT_SYMBOL_GPL(ide_tune_dma);
+0 −12
Original line number Diff line number Diff line
@@ -111,18 +111,6 @@ u8 ide_rate_filter(ide_drive_t *drive, u8 speed)

EXPORT_SYMBOL(ide_rate_filter);

int ide_dma_enable (ide_drive_t *drive)
{
	ide_hwif_t *hwif	= HWIF(drive);
	struct hd_driveid *id	= drive->id;

	return ((int)	((((id->dma_ultra >> 8) & hwif->ultra_mask) ||
			  ((id->dma_mword >> 8) & hwif->mwdma_mask) ||
			  ((id->dma_1word >> 8) & hwif->swdma_mask)) ? 1 : 0));
}

EXPORT_SYMBOL(ide_dma_enable);

int ide_use_fast_pio(ide_drive_t *drive)
{
	struct hd_driveid *id = drive->id;
+1 −14
Original line number Diff line number Diff line
@@ -352,22 +352,9 @@ static int cmd64x_tune_chipset (ide_drive_t *drive, u8 speed)
	return ide_config_drive_speed(drive, speed);
}

static int config_chipset_for_dma (ide_drive_t *drive)
{
	u8 speed = ide_max_dma_mode(drive);

	if (!speed)
		return 0;

	if (cmd64x_tune_chipset(drive, speed))
		return 0;

	return ide_dma_enable(drive);
}

static int cmd64x_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;

	if (ide_use_fast_pio(drive))
+2 −6
Original line number Diff line number Diff line
@@ -137,12 +137,8 @@ out:

static int cs5530_config_dma(ide_drive_t *drive)
{
	if (ide_use_dma(drive)) {
		u8 mode = ide_max_dma_mode(drive);

		if (mode && drive->hwif->speedproc(drive, mode) == 0)
	if (ide_tune_dma(drive))
		return 0;
	}

	return 1;
}
+2 −6
Original line number Diff line number Diff line
@@ -240,12 +240,8 @@ static int sc1200_tune_chipset(ide_drive_t *drive, u8 mode)
 */
static int sc1200_config_dma (ide_drive_t *drive)
{
	if (ide_use_dma(drive)) {
		u8 mode = ide_max_dma_mode(drive);

		if (mode && drive->hwif->speedproc(drive, mode) == 0)
	if (ide_tune_dma(drive))
		return 0;
	}

	return 1;
}
Loading