aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r--drivers/ide/pci/cs5520.c17
-rw-r--r--drivers/ide/pci/sc1200.c2
-rw-r--r--drivers/ide/pci/sgiioc4.c12
-rw-r--r--drivers/ide/pci/trm290.c9
4 files changed, 11 insertions, 29 deletions
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
index 2bd52af83d37..6ec00b8d7ec1 100644
--- a/drivers/ide/pci/cs5520.c
+++ b/drivers/ide/pci/cs5520.c
@@ -107,18 +107,10 @@ static void cs5520_set_dma_mode(ide_drive_t *drive, const u8 speed)
107 * ATAPI is harder so disable it for now using IDE_HFLAG_NO_ATAPI_DMA 107 * ATAPI is harder so disable it for now using IDE_HFLAG_NO_ATAPI_DMA
108 */ 108 */
109 109
110static void cs5520_dma_host_on(ide_drive_t *drive) 110static void cs5520_dma_host_set(ide_drive_t *drive, int on)
111{ 111{
112 drive->vdma = 1; 112 drive->vdma = on;
113 113 ide_dma_host_set(drive, on);
114 ide_dma_host_on(drive);
115}
116
117static void cs5520_dma_host_off(ide_drive_t *drive)
118{
119 drive->vdma = 0;
120
121 ide_dma_host_off(drive);
122} 114}
123 115
124static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) 116static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
@@ -129,8 +121,7 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
129 if (hwif->dma_base == 0) 121 if (hwif->dma_base == 0)
130 return; 122 return;
131 123
132 hwif->dma_host_on = &cs5520_dma_host_on; 124 hwif->dma_host_set = &cs5520_dma_host_set;
133 hwif->dma_host_off = &cs5520_dma_host_off;
134} 125}
135 126
136#define DECLARE_CS_DEV(name_str) \ 127#define DECLARE_CS_DEV(name_str) \
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c
index 9303dfee7780..32fdf53379f5 100644
--- a/drivers/ide/pci/sc1200.c
+++ b/drivers/ide/pci/sc1200.c
@@ -222,7 +222,7 @@ static void sc1200_set_pio_mode(ide_drive_t *drive, const u8 pio)
222 printk("SC1200: %s: changing (U)DMA mode\n", drive->name); 222 printk("SC1200: %s: changing (U)DMA mode\n", drive->name);
223 ide_dma_off_quietly(drive); 223 ide_dma_off_quietly(drive);
224 if (ide_set_dma_mode(drive, mode) == 0 && drive->using_dma) 224 if (ide_set_dma_mode(drive, mode) == 0 && drive->using_dma)
225 hwif->dma_host_on(drive); 225 hwif->dma_host_set(drive, 1);
226 return; 226 return;
227 } 227 }
228 228
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c
index 8c4e94bd4449..9fb35c528d54 100644
--- a/drivers/ide/pci/sgiioc4.c
+++ b/drivers/ide/pci/sgiioc4.c
@@ -288,13 +288,10 @@ sgiioc4_ide_dma_test_irq(ide_drive_t * drive)
288 return sgiioc4_checkirq(HWIF(drive)); 288 return sgiioc4_checkirq(HWIF(drive));
289} 289}
290 290
291static void sgiioc4_dma_host_on(ide_drive_t * drive) 291static void sgiioc4_dma_host_set(ide_drive_t *drive, int on)
292{ 292{
293} 293 if (!on)
294 294 sgiioc4_clearirq(drive);
295static void sgiioc4_dma_host_off(ide_drive_t * drive)
296{
297 sgiioc4_clearirq(drive);
298} 295}
299 296
300static void 297static void
@@ -578,12 +575,11 @@ ide_init_sgiioc4(ide_hwif_t * hwif)
578 575
579 hwif->mwdma_mask = ATA_MWDMA2_ONLY; 576 hwif->mwdma_mask = ATA_MWDMA2_ONLY;
580 577
578 hwif->dma_host_set = &sgiioc4_dma_host_set;
581 hwif->dma_setup = &sgiioc4_ide_dma_setup; 579 hwif->dma_setup = &sgiioc4_ide_dma_setup;
582 hwif->dma_start = &sgiioc4_ide_dma_start; 580 hwif->dma_start = &sgiioc4_ide_dma_start;
583 hwif->ide_dma_end = &sgiioc4_ide_dma_end; 581 hwif->ide_dma_end = &sgiioc4_ide_dma_end;
584 hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; 582 hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq;
585 hwif->dma_host_on = &sgiioc4_dma_host_on;
586 hwif->dma_host_off = &sgiioc4_dma_host_off;
587 hwif->dma_lost_irq = &sgiioc4_dma_lost_irq; 583 hwif->dma_lost_irq = &sgiioc4_dma_lost_irq;
588 hwif->dma_timeout = &ide_dma_timeout; 584 hwif->dma_timeout = &ide_dma_timeout;
589} 585}
diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c
index 0151d7fdfb8a..04cd893e1ab0 100644
--- a/drivers/ide/pci/trm290.c
+++ b/drivers/ide/pci/trm290.c
@@ -241,11 +241,7 @@ static int trm290_ide_dma_test_irq (ide_drive_t *drive)
241 return (status == 0x00ff); 241 return (status == 0x00ff);
242} 242}
243 243
244static void trm290_dma_host_on(ide_drive_t *drive) 244static void trm290_dma_host_set(ide_drive_t *drive, int on)
245{
246}
247
248static void trm290_dma_host_off(ide_drive_t *drive)
249{ 245{
250} 246}
251 247
@@ -289,8 +285,7 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif)
289 285
290 ide_setup_dma(hwif, (hwif->config_data + 4) ^ (hwif->channel ? 0x0080 : 0x0000), 3); 286 ide_setup_dma(hwif, (hwif->config_data + 4) ^ (hwif->channel ? 0x0080 : 0x0000), 3);
291 287
292 hwif->dma_host_off = &trm290_dma_host_off; 288 hwif->dma_host_set = &trm290_dma_host_set;
293 hwif->dma_host_on = &trm290_dma_host_on;
294 hwif->dma_setup = &trm290_dma_setup; 289 hwif->dma_setup = &trm290_dma_setup;
295 hwif->dma_exec_cmd = &trm290_dma_exec_cmd; 290 hwif->dma_exec_cmd = &trm290_dma_exec_cmd;
296 hwif->dma_start = &trm290_dma_start; 291 hwif->dma_start = &trm290_dma_start;