diff options
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r-- | drivers/ide/pci/cs5520.c | 17 | ||||
-rw-r--r-- | drivers/ide/pci/sc1200.c | 2 | ||||
-rw-r--r-- | drivers/ide/pci/sgiioc4.c | 12 | ||||
-rw-r--r-- | drivers/ide/pci/trm290.c | 9 |
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 | ||
110 | static void cs5520_dma_host_on(ide_drive_t *drive) | 110 | static 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 | |||
117 | static 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 | ||
124 | static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) | 116 | 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 | 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 | ||
291 | static void sgiioc4_dma_host_on(ide_drive_t * drive) | 291 | static void sgiioc4_dma_host_set(ide_drive_t *drive, int on) |
292 | { | 292 | { |
293 | } | 293 | if (!on) |
294 | 294 | sgiioc4_clearirq(drive); | |
295 | static void sgiioc4_dma_host_off(ide_drive_t * drive) | ||
296 | { | ||
297 | sgiioc4_clearirq(drive); | ||
298 | } | 295 | } |
299 | 296 | ||
300 | static void | 297 | static 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 | ||
244 | static void trm290_dma_host_on(ide_drive_t *drive) | 244 | static void trm290_dma_host_set(ide_drive_t *drive, int on) |
245 | { | ||
246 | } | ||
247 | |||
248 | static 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; |