ide: merge ->dma_host_{on,off} methods into ->dma_host_set method

Merge ->dma_host_{on,off} methods into ->dma_host_set method
which takes 'int on' argument.

There should be no functionality changes caused by this patch.
Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
上级 f37aaf9e
...@@ -287,11 +287,7 @@ static void icside_set_dma_mode(ide_drive_t *drive, const u8 xfer_mode) ...@@ -287,11 +287,7 @@ static void icside_set_dma_mode(ide_drive_t *drive, const u8 xfer_mode)
ide_xfer_verbose(xfer_mode), 2000 / drive->drive_data); ide_xfer_verbose(xfer_mode), 2000 / drive->drive_data);
} }
static void icside_dma_host_off(ide_drive_t *drive) static void icside_dma_host_set(ide_drive_t *drive, int on)
{
}
static void icside_dma_host_on(ide_drive_t *drive)
{ {
} }
...@@ -410,8 +406,7 @@ static void icside_dma_init(ide_hwif_t *hwif) ...@@ -410,8 +406,7 @@ static void icside_dma_init(ide_hwif_t *hwif)
hwif->dmatable_dma = 0; hwif->dmatable_dma = 0;
hwif->set_dma_mode = icside_set_dma_mode; hwif->set_dma_mode = icside_set_dma_mode;
hwif->dma_host_off = icside_dma_host_off; hwif->dma_host_set = icside_dma_host_set;
hwif->dma_host_on = icside_dma_host_on;
hwif->dma_setup = icside_dma_setup; hwif->dma_setup = icside_dma_setup;
hwif->dma_exec_cmd = icside_dma_exec_cmd; hwif->dma_exec_cmd = icside_dma_exec_cmd;
hwif->dma_start = icside_dma_start; hwif->dma_start = icside_dma_start;
......
...@@ -674,11 +674,7 @@ static void cris_ide_output_data (ide_drive_t *drive, void *, unsigned int); ...@@ -674,11 +674,7 @@ static void cris_ide_output_data (ide_drive_t *drive, void *, unsigned int);
static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int); static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int);
static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int); static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int);
static void cris_dma_host_off(ide_drive_t *drive) static void cris_dma_host_set(ide_drive_t *drive, int on)
{
}
static void cris_dma_host_on(ide_drive_t *drive)
{ {
} }
...@@ -792,6 +788,7 @@ init_e100_ide (void) ...@@ -792,6 +788,7 @@ init_e100_ide (void)
hwif->ata_output_data = &cris_ide_output_data; hwif->ata_output_data = &cris_ide_output_data;
hwif->atapi_input_bytes = &cris_atapi_input_bytes; hwif->atapi_input_bytes = &cris_atapi_input_bytes;
hwif->atapi_output_bytes = &cris_atapi_output_bytes; hwif->atapi_output_bytes = &cris_atapi_output_bytes;
hwif->dma_host_set = &cris_dma_host_set;
hwif->ide_dma_end = &cris_dma_end; hwif->ide_dma_end = &cris_dma_end;
hwif->dma_setup = &cris_dma_setup; hwif->dma_setup = &cris_dma_setup;
hwif->dma_exec_cmd = &cris_dma_exec_cmd; hwif->dma_exec_cmd = &cris_dma_exec_cmd;
...@@ -802,8 +799,6 @@ init_e100_ide (void) ...@@ -802,8 +799,6 @@ init_e100_ide (void)
hwif->OUTBSYNC = &cris_ide_outbsync; hwif->OUTBSYNC = &cris_ide_outbsync;
hwif->INB = &cris_ide_inb; hwif->INB = &cris_ide_inb;
hwif->INW = &cris_ide_inw; hwif->INW = &cris_ide_inw;
hwif->dma_host_off = &cris_dma_host_off;
hwif->dma_host_on = &cris_dma_host_on;
hwif->cbl = ATA_CBL_PATA40; hwif->cbl = ATA_CBL_PATA40;
hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA;
hwif->pio_mask = ATA_PIO4, hwif->pio_mask = ATA_PIO4,
......
...@@ -408,23 +408,28 @@ static int dma_timer_expiry (ide_drive_t *drive) ...@@ -408,23 +408,28 @@ static int dma_timer_expiry (ide_drive_t *drive)
} }
/** /**
* ide_dma_host_off - Generic DMA kill * ide_dma_host_set - Enable/disable DMA on a host
* @drive: drive to control * @drive: drive to control
* *
* Perform the generic IDE controller DMA off operation. This * Enable/disable DMA on an IDE controller following generic
* works for most IDE bus mastering controllers * bus-mastering IDE controller behaviour.
*/ */
void ide_dma_host_off(ide_drive_t *drive) void ide_dma_host_set(ide_drive_t *drive, int on)
{ {
ide_hwif_t *hwif = HWIF(drive); ide_hwif_t *hwif = HWIF(drive);
u8 unit = (drive->select.b.unit & 0x01); u8 unit = (drive->select.b.unit & 0x01);
u8 dma_stat = hwif->INB(hwif->dma_status); u8 dma_stat = hwif->INB(hwif->dma_status);
hwif->OUTB((dma_stat & ~(1<<(5+unit))), hwif->dma_status); if (on)
dma_stat |= (1 << (5 + unit));
else
dma_stat &= ~(1 << (5 + unit));
hwif->OUTB(dma_stat, hwif->dma_status);
} }
EXPORT_SYMBOL(ide_dma_host_off); EXPORT_SYMBOL_GPL(ide_dma_host_set);
#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */
/** /**
...@@ -439,7 +444,7 @@ void ide_dma_off_quietly(ide_drive_t *drive) ...@@ -439,7 +444,7 @@ void ide_dma_off_quietly(ide_drive_t *drive)
drive->using_dma = 0; drive->using_dma = 0;
ide_toggle_bounce(drive, 0); ide_toggle_bounce(drive, 0);
drive->hwif->dma_host_off(drive); drive->hwif->dma_host_set(drive, 0);
} }
EXPORT_SYMBOL(ide_dma_off_quietly); EXPORT_SYMBOL(ide_dma_off_quietly);
...@@ -460,29 +465,6 @@ void ide_dma_off(ide_drive_t *drive) ...@@ -460,29 +465,6 @@ void ide_dma_off(ide_drive_t *drive)
EXPORT_SYMBOL(ide_dma_off); EXPORT_SYMBOL(ide_dma_off);
#ifdef CONFIG_BLK_DEV_IDEDMA_PCI
/**
* ide_dma_host_on - Enable DMA on a host
* @drive: drive to enable for DMA
*
* Enable DMA on an IDE controller following generic bus mastering
* IDE controller behaviour
*/
void ide_dma_host_on(ide_drive_t *drive)
{
if (1) {
ide_hwif_t *hwif = HWIF(drive);
u8 unit = (drive->select.b.unit & 0x01);
u8 dma_stat = hwif->INB(hwif->dma_status);
hwif->OUTB((dma_stat|(1<<(5+unit))), hwif->dma_status);
}
}
EXPORT_SYMBOL(ide_dma_host_on);
#endif
/** /**
* ide_dma_on - Enable DMA on a device * ide_dma_on - Enable DMA on a device
* @drive: drive to enable DMA on * @drive: drive to enable DMA on
...@@ -495,7 +477,7 @@ void ide_dma_on(ide_drive_t *drive) ...@@ -495,7 +477,7 @@ void ide_dma_on(ide_drive_t *drive)
drive->using_dma = 1; drive->using_dma = 1;
ide_toggle_bounce(drive, 1); ide_toggle_bounce(drive, 1);
drive->hwif->dma_host_on(drive); drive->hwif->dma_host_set(drive, 1);
} }
EXPORT_SYMBOL(ide_dma_on); EXPORT_SYMBOL(ide_dma_on);
...@@ -980,10 +962,8 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base, unsigned num_ports) ...@@ -980,10 +962,8 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base, unsigned num_ports)
if (!(hwif->dma_prdtable)) if (!(hwif->dma_prdtable))
hwif->dma_prdtable = (hwif->dma_base + 4); hwif->dma_prdtable = (hwif->dma_base + 4);
if (!hwif->dma_host_off) if (!hwif->dma_host_set)
hwif->dma_host_off = &ide_dma_host_off; hwif->dma_host_set = &ide_dma_host_set;
if (!hwif->dma_host_on)
hwif->dma_host_on = &ide_dma_host_on;
if (!hwif->dma_setup) if (!hwif->dma_setup)
hwif->dma_setup = &ide_dma_setup; hwif->dma_setup = &ide_dma_setup;
if (!hwif->dma_exec_cmd) if (!hwif->dma_exec_cmd)
......
...@@ -219,7 +219,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * ...@@ -219,7 +219,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request *
* we could be smarter and check for current xfer_speed * we could be smarter and check for current xfer_speed
* in struct drive etc... * in struct drive etc...
*/ */
if (drive->hwif->dma_host_on == NULL) if (drive->hwif->dma_host_set == NULL)
break; break;
/* /*
* TODO: respect ->using_dma setting * TODO: respect ->using_dma setting
......
...@@ -742,8 +742,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) ...@@ -742,8 +742,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
// msleep(50); // msleep(50);
#ifdef CONFIG_BLK_DEV_IDEDMA #ifdef CONFIG_BLK_DEV_IDEDMA
if (hwif->dma_host_on) /* check if host supports DMA */ if (hwif->dma_host_set) /* check if host supports DMA */
hwif->dma_host_off(drive); hwif->dma_host_set(drive, 0);
#endif #endif
/* Skip setting PIO flow-control modes on pre-EIDE drives */ /* Skip setting PIO flow-control modes on pre-EIDE drives */
...@@ -801,8 +801,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) ...@@ -801,8 +801,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
#ifdef CONFIG_BLK_DEV_IDEDMA #ifdef CONFIG_BLK_DEV_IDEDMA
if ((speed >= XFER_SW_DMA_0 || (hwif->host_flags & IDE_HFLAG_VDMA)) && if ((speed >= XFER_SW_DMA_0 || (hwif->host_flags & IDE_HFLAG_VDMA)) &&
drive->using_dma) drive->using_dma)
hwif->dma_host_on(drive); hwif->dma_host_set(drive, 1);
else if (hwif->dma_host_on) /* check if host supports DMA */ else if (hwif->dma_host_set) /* check if host supports DMA */
ide_dma_off_quietly(drive); ide_dma_off_quietly(drive);
#endif #endif
......
...@@ -833,7 +833,7 @@ static void probe_hwif(ide_hwif_t *hwif) ...@@ -833,7 +833,7 @@ static void probe_hwif(ide_hwif_t *hwif)
drive->nice1 = 1; drive->nice1 = 1;
if (hwif->dma_host_on) if (hwif->dma_host_set)
ide_set_dma(drive); ide_set_dma(drive);
} }
} }
......
...@@ -433,14 +433,13 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) ...@@ -433,14 +433,13 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif)
hwif->atapi_input_bytes = tmp_hwif->atapi_input_bytes; hwif->atapi_input_bytes = tmp_hwif->atapi_input_bytes;
hwif->atapi_output_bytes = tmp_hwif->atapi_output_bytes; hwif->atapi_output_bytes = tmp_hwif->atapi_output_bytes;
hwif->dma_host_set = tmp_hwif->dma_host_set;
hwif->dma_setup = tmp_hwif->dma_setup; hwif->dma_setup = tmp_hwif->dma_setup;
hwif->dma_exec_cmd = tmp_hwif->dma_exec_cmd; hwif->dma_exec_cmd = tmp_hwif->dma_exec_cmd;
hwif->dma_start = tmp_hwif->dma_start; hwif->dma_start = tmp_hwif->dma_start;
hwif->ide_dma_end = tmp_hwif->ide_dma_end; hwif->ide_dma_end = tmp_hwif->ide_dma_end;
hwif->ide_dma_test_irq = tmp_hwif->ide_dma_test_irq; hwif->ide_dma_test_irq = tmp_hwif->ide_dma_test_irq;
hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq; hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq;
hwif->dma_host_on = tmp_hwif->dma_host_on;
hwif->dma_host_off = tmp_hwif->dma_host_off;
hwif->dma_lost_irq = tmp_hwif->dma_lost_irq; hwif->dma_lost_irq = tmp_hwif->dma_lost_irq;
hwif->dma_timeout = tmp_hwif->dma_timeout; hwif->dma_timeout = tmp_hwif->dma_timeout;
...@@ -834,7 +833,7 @@ int set_using_dma(ide_drive_t *drive, int arg) ...@@ -834,7 +833,7 @@ int set_using_dma(ide_drive_t *drive, int arg)
if (!drive->id || !(drive->id->capability & 1)) if (!drive->id || !(drive->id->capability & 1))
goto out; goto out;
if (hwif->dma_host_on == NULL) if (hwif->dma_host_set == NULL)
goto out; goto out;
err = -EBUSY; err = -EBUSY;
......
...@@ -395,11 +395,7 @@ static int auide_dma_test_irq(ide_drive_t *drive) ...@@ -395,11 +395,7 @@ static int auide_dma_test_irq(ide_drive_t *drive)
return 0; return 0;
} }
static void auide_dma_host_on(ide_drive_t *drive) static void auide_dma_host_set(ide_drive_t *drive, int on)
{
}
static void auide_dma_host_off(ide_drive_t *drive)
{ {
} }
...@@ -674,13 +670,12 @@ static int au_ide_probe(struct device *dev) ...@@ -674,13 +670,12 @@ static int au_ide_probe(struct device *dev)
hwif->mdma_filter = &auide_mdma_filter; hwif->mdma_filter = &auide_mdma_filter;
hwif->dma_host_set = &auide_dma_host_set;
hwif->dma_exec_cmd = &auide_dma_exec_cmd; hwif->dma_exec_cmd = &auide_dma_exec_cmd;
hwif->dma_start = &auide_dma_start; hwif->dma_start = &auide_dma_start;
hwif->ide_dma_end = &auide_dma_end; hwif->ide_dma_end = &auide_dma_end;
hwif->dma_setup = &auide_dma_setup; hwif->dma_setup = &auide_dma_setup;
hwif->ide_dma_test_irq = &auide_dma_test_irq; hwif->ide_dma_test_irq = &auide_dma_test_irq;
hwif->dma_host_off = &auide_dma_host_off;
hwif->dma_host_on = &auide_dma_host_on;
hwif->dma_lost_irq = &auide_dma_lost_irq; hwif->dma_lost_irq = &auide_dma_lost_irq;
#else /* !CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA */ #else /* !CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA */
hwif->channel = 0; hwif->channel = 0;
......
...@@ -107,18 +107,10 @@ static void cs5520_set_dma_mode(ide_drive_t *drive, const u8 speed) ...@@ -107,18 +107,10 @@ static void cs5520_set_dma_mode(ide_drive_t *drive, const u8 speed)
* ATAPI is harder so disable it for now using IDE_HFLAG_NO_ATAPI_DMA * ATAPI is harder so disable it for now using IDE_HFLAG_NO_ATAPI_DMA
*/ */
static void cs5520_dma_host_on(ide_drive_t *drive) static void cs5520_dma_host_set(ide_drive_t *drive, int on)
{ {
drive->vdma = 1; drive->vdma = on;
ide_dma_host_set(drive, on);
ide_dma_host_on(drive);
}
static void cs5520_dma_host_off(ide_drive_t *drive)
{
drive->vdma = 0;
ide_dma_host_off(drive);
} }
static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
...@@ -129,8 +121,7 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) ...@@ -129,8 +121,7 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
if (hwif->dma_base == 0) if (hwif->dma_base == 0)
return; return;
hwif->dma_host_on = &cs5520_dma_host_on; hwif->dma_host_set = &cs5520_dma_host_set;
hwif->dma_host_off = &cs5520_dma_host_off;
} }
#define DECLARE_CS_DEV(name_str) \ #define DECLARE_CS_DEV(name_str) \
......
...@@ -222,7 +222,7 @@ static void sc1200_set_pio_mode(ide_drive_t *drive, const u8 pio) ...@@ -222,7 +222,7 @@ static void sc1200_set_pio_mode(ide_drive_t *drive, const u8 pio)
printk("SC1200: %s: changing (U)DMA mode\n", drive->name); printk("SC1200: %s: changing (U)DMA mode\n", drive->name);
ide_dma_off_quietly(drive); ide_dma_off_quietly(drive);
if (ide_set_dma_mode(drive, mode) == 0 && drive->using_dma) if (ide_set_dma_mode(drive, mode) == 0 && drive->using_dma)
hwif->dma_host_on(drive); hwif->dma_host_set(drive, 1);
return; return;
} }
......
...@@ -288,13 +288,10 @@ sgiioc4_ide_dma_test_irq(ide_drive_t * drive) ...@@ -288,13 +288,10 @@ sgiioc4_ide_dma_test_irq(ide_drive_t * drive)
return sgiioc4_checkirq(HWIF(drive)); return sgiioc4_checkirq(HWIF(drive));
} }
static void sgiioc4_dma_host_on(ide_drive_t * drive) static void sgiioc4_dma_host_set(ide_drive_t *drive, int on)
{ {
} if (!on)
sgiioc4_clearirq(drive);
static void sgiioc4_dma_host_off(ide_drive_t * drive)
{
sgiioc4_clearirq(drive);
} }
static void static void
...@@ -578,12 +575,11 @@ ide_init_sgiioc4(ide_hwif_t * hwif) ...@@ -578,12 +575,11 @@ ide_init_sgiioc4(ide_hwif_t * hwif)
hwif->mwdma_mask = ATA_MWDMA2_ONLY; hwif->mwdma_mask = ATA_MWDMA2_ONLY;
hwif->dma_host_set = &sgiioc4_dma_host_set;
hwif->dma_setup = &sgiioc4_ide_dma_setup; hwif->dma_setup = &sgiioc4_ide_dma_setup;
hwif->dma_start = &sgiioc4_ide_dma_start; hwif->dma_start = &sgiioc4_ide_dma_start;
hwif->ide_dma_end = &sgiioc4_ide_dma_end; hwif->ide_dma_end = &sgiioc4_ide_dma_end;
hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq;
hwif->dma_host_on = &sgiioc4_dma_host_on;
hwif->dma_host_off = &sgiioc4_dma_host_off;
hwif->dma_lost_irq = &sgiioc4_dma_lost_irq; hwif->dma_lost_irq = &sgiioc4_dma_lost_irq;
hwif->dma_timeout = &ide_dma_timeout; hwif->dma_timeout = &ide_dma_timeout;
} }
......
...@@ -241,11 +241,7 @@ static int trm290_ide_dma_test_irq (ide_drive_t *drive) ...@@ -241,11 +241,7 @@ static int trm290_ide_dma_test_irq (ide_drive_t *drive)
return (status == 0x00ff); return (status == 0x00ff);
} }
static void trm290_dma_host_on(ide_drive_t *drive) static void trm290_dma_host_set(ide_drive_t *drive, int on)
{
}
static void trm290_dma_host_off(ide_drive_t *drive)
{ {
} }
...@@ -289,8 +285,7 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif) ...@@ -289,8 +285,7 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif)
ide_setup_dma(hwif, (hwif->config_data + 4) ^ (hwif->channel ? 0x0080 : 0x0000), 3); ide_setup_dma(hwif, (hwif->config_data + 4) ^ (hwif->channel ? 0x0080 : 0x0000), 3);
hwif->dma_host_off = &trm290_dma_host_off; hwif->dma_host_set = &trm290_dma_host_set;
hwif->dma_host_on = &trm290_dma_host_on;
hwif->dma_setup = &trm290_dma_setup; hwif->dma_setup = &trm290_dma_setup;
hwif->dma_exec_cmd = &trm290_dma_exec_cmd; hwif->dma_exec_cmd = &trm290_dma_exec_cmd;
hwif->dma_start = &trm290_dma_start; hwif->dma_start = &trm290_dma_start;
......
...@@ -1698,11 +1698,7 @@ pmac_ide_dma_test_irq (ide_drive_t *drive) ...@@ -1698,11 +1698,7 @@ pmac_ide_dma_test_irq (ide_drive_t *drive)
return 1; return 1;
} }
static void pmac_ide_dma_host_off(ide_drive_t *drive) static void pmac_ide_dma_host_set(ide_drive_t *drive, int on)
{
}
static void pmac_ide_dma_host_on(ide_drive_t *drive)
{ {
} }
...@@ -1748,13 +1744,12 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif) ...@@ -1748,13 +1744,12 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
return; return;
} }
hwif->dma_host_set = &pmac_ide_dma_host_set;
hwif->dma_setup = &pmac_ide_dma_setup; hwif->dma_setup = &pmac_ide_dma_setup;
hwif->dma_exec_cmd = &pmac_ide_dma_exec_cmd; hwif->dma_exec_cmd = &pmac_ide_dma_exec_cmd;
hwif->dma_start = &pmac_ide_dma_start; hwif->dma_start = &pmac_ide_dma_start;
hwif->ide_dma_end = &pmac_ide_dma_end; hwif->ide_dma_end = &pmac_ide_dma_end;
hwif->ide_dma_test_irq = &pmac_ide_dma_test_irq; hwif->ide_dma_test_irq = &pmac_ide_dma_test_irq;
hwif->dma_host_off = &pmac_ide_dma_host_off;
hwif->dma_host_on = &pmac_ide_dma_host_on;
hwif->dma_timeout = &ide_dma_timeout; hwif->dma_timeout = &ide_dma_timeout;
hwif->dma_lost_irq = &pmac_ide_dma_lost_irq; hwif->dma_lost_irq = &pmac_ide_dma_lost_irq;
......
...@@ -542,14 +542,13 @@ typedef struct hwif_s { ...@@ -542,14 +542,13 @@ typedef struct hwif_s {
void (*atapi_input_bytes)(ide_drive_t *, void *, u32); void (*atapi_input_bytes)(ide_drive_t *, void *, u32);
void (*atapi_output_bytes)(ide_drive_t *, void *, u32); void (*atapi_output_bytes)(ide_drive_t *, void *, u32);
void (*dma_host_set)(ide_drive_t *, int);
int (*dma_setup)(ide_drive_t *); int (*dma_setup)(ide_drive_t *);
void (*dma_exec_cmd)(ide_drive_t *, u8); void (*dma_exec_cmd)(ide_drive_t *, u8);
void (*dma_start)(ide_drive_t *); void (*dma_start)(ide_drive_t *);
int (*ide_dma_end)(ide_drive_t *drive); int (*ide_dma_end)(ide_drive_t *drive);
int (*ide_dma_test_irq)(ide_drive_t *drive); int (*ide_dma_test_irq)(ide_drive_t *drive);
void (*ide_dma_clear_irq)(ide_drive_t *drive); void (*ide_dma_clear_irq)(ide_drive_t *drive);
void (*dma_host_on)(ide_drive_t *drive);
void (*dma_host_off)(ide_drive_t *drive);
void (*dma_lost_irq)(ide_drive_t *drive); void (*dma_lost_irq)(ide_drive_t *drive);
void (*dma_timeout)(ide_drive_t *drive); void (*dma_timeout)(ide_drive_t *drive);
...@@ -1160,8 +1159,7 @@ extern void ide_destroy_dmatable(ide_drive_t *); ...@@ -1160,8 +1159,7 @@ extern void ide_destroy_dmatable(ide_drive_t *);
extern int ide_release_dma(ide_hwif_t *); extern int ide_release_dma(ide_hwif_t *);
extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int); extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int);
void ide_dma_host_off(ide_drive_t *); void ide_dma_host_set(ide_drive_t *, int);
void ide_dma_host_on(ide_drive_t *);
extern int ide_dma_setup(ide_drive_t *); extern int ide_dma_setup(ide_drive_t *);
extern void ide_dma_start(ide_drive_t *); extern void ide_dma_start(ide_drive_t *);
extern int __ide_dma_end(ide_drive_t *); extern int __ide_dma_end(ide_drive_t *);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册