Blame view
arch/x86/kernel/i8237.c
1.18 KB
795312e76 [PATCH] ISA DMA s... |
1 |
/* |
835c34a16 Delete filenames ... |
2 |
* 8237A DMA controller suspend functions. |
795312e76 [PATCH] ISA DMA s... |
3 4 |
* * Written by Pierre Ossman, 2005. |
643f720ce [PATCH] mmc (main... |
5 6 7 8 9 |
* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. |
795312e76 [PATCH] ISA DMA s... |
10 11 12 |
*/ #include <linux/init.h> |
f3c6ea1b0 x86: Use syscore_... |
13 |
#include <linux/syscore_ops.h> |
795312e76 [PATCH] ISA DMA s... |
14 15 16 17 18 19 20 21 22 |
#include <asm/dma.h> /* * This module just handles suspend/resume issues with the * 8237A DMA controller (used for ISA and LPC). * Allocation is handled in kernel/dma.c and normal usage is * in asm/dma.h. */ |
f3c6ea1b0 x86: Use syscore_... |
23 |
static void i8237A_resume(void) |
795312e76 [PATCH] ISA DMA s... |
24 25 26 27 28 |
{ unsigned long flags; int i; flags = claim_dma_lock(); |
b52af4092 i8327: fix outb()... |
29 30 |
dma_outb(0, DMA1_RESET_REG); dma_outb(0, DMA2_RESET_REG); |
795312e76 [PATCH] ISA DMA s... |
31 |
|
b52af4092 i8327: fix outb()... |
32 |
for (i = 0; i < 8; i++) { |
795312e76 [PATCH] ISA DMA s... |
33 34 35 36 37 38 39 40 41 |
set_dma_addr(i, 0x000000); /* DMA count is a bit weird so this is not 0 */ set_dma_count(i, 1); } /* Enable cascade DMA or channel 0-3 won't work */ enable_dma(4); release_dma_lock(flags); |
795312e76 [PATCH] ISA DMA s... |
42 |
} |
f3c6ea1b0 x86: Use syscore_... |
43 |
static struct syscore_ops i8237_syscore_ops = { |
b52af4092 i8327: fix outb()... |
44 |
.resume = i8237A_resume, |
795312e76 [PATCH] ISA DMA s... |
45 |
}; |
f3c6ea1b0 x86: Use syscore_... |
46 |
static int __init i8237A_init_ops(void) |
795312e76 [PATCH] ISA DMA s... |
47 |
{ |
f3c6ea1b0 x86: Use syscore_... |
48 49 |
register_syscore_ops(&i8237_syscore_ops); return 0; |
795312e76 [PATCH] ISA DMA s... |
50 |
} |
f3c6ea1b0 x86: Use syscore_... |
51 |
device_initcall(i8237A_init_ops); |