diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-06-16 12:08:13 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-06-16 12:08:13 -0400 |
commit | f1bbbb6912662b9f6070c5bfc4ca9eb1f06a9d5b (patch) | |
tree | c2c130a74be25b0b2dff992e1a195e2728bdaadd /arch/arm/mach-msm | |
parent | fd0961ff67727482bb20ca7e8ea97b83e9de2ddb (diff) | |
parent | 7e27d6e778cd87b6f2415515d7127eba53fe5d02 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'arch/arm/mach-msm')
-rw-r--r-- | arch/arm/mach-msm/board-msm7x27.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-msm7x30.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-qsd8x50.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-msm/dma.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-msm/include/mach/dma.h | 2 |
5 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-msm/board-msm7x27.c b/arch/arm/mach-msm/board-msm7x27.c index cccb9f3c9d01..db9381b85bf0 100644 --- a/arch/arm/mach-msm/board-msm7x27.c +++ b/arch/arm/mach-msm/board-msm7x27.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/input.h> | 20 | #include <linux/input.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/bootmem.h> | ||
24 | #include <linux/power_supply.h> | 23 | #include <linux/power_supply.h> |
25 | 24 | ||
26 | #include <mach/hardware.h> | 25 | #include <mach/hardware.h> |
diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c index bac1f3c38a3b..e32981928c77 100644 --- a/arch/arm/mach-msm/board-msm7x30.c +++ b/arch/arm/mach-msm/board-msm7x30.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/bootmem.h> | ||
24 | #include <linux/io.h> | 23 | #include <linux/io.h> |
25 | #include <linux/smsc911x.h> | 24 | #include <linux/smsc911x.h> |
26 | 25 | ||
diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c index ec4606643d2c..e3cc80792d6c 100644 --- a/arch/arm/mach-msm/board-qsd8x50.c +++ b/arch/arm/mach-msm/board-qsd8x50.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/irq.h> | 19 | #include <linux/irq.h> |
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/bootmem.h> | ||
23 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
24 | 23 | ||
25 | #include <asm/mach-types.h> | 24 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-msm/dma.c b/arch/arm/mach-msm/dma.c index 3d725ae518e4..02cae5e2951c 100644 --- a/arch/arm/mach-msm/dma.c +++ b/arch/arm/mach-msm/dma.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/err.h> | 17 | #include <linux/err.h> |
18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
20 | #include <linux/completion.h> | ||
20 | #include <mach/dma.h> | 21 | #include <mach/dma.h> |
21 | 22 | ||
22 | #define MSM_DMOV_CHANNEL_COUNT 16 | 23 | #define MSM_DMOV_CHANNEL_COUNT 16 |
@@ -69,6 +70,8 @@ void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd) | |||
69 | writel(DMOV_CONFIG_IRQ_EN, DMOV_CONFIG(id)); | 70 | writel(DMOV_CONFIG_IRQ_EN, DMOV_CONFIG(id)); |
70 | } | 71 | } |
71 | #endif | 72 | #endif |
73 | if (cmd->execute_func) | ||
74 | cmd->execute_func(cmd); | ||
72 | PRINT_IO("msm_dmov_enqueue_cmd(%d), start command, status %x\n", id, status); | 75 | PRINT_IO("msm_dmov_enqueue_cmd(%d), start command, status %x\n", id, status); |
73 | list_add_tail(&cmd->list, &active_commands[id]); | 76 | list_add_tail(&cmd->list, &active_commands[id]); |
74 | if (!channel_active) | 77 | if (!channel_active) |
@@ -116,6 +119,7 @@ int msm_dmov_exec_cmd(unsigned id, unsigned int cmdptr) | |||
116 | 119 | ||
117 | cmd.dmov_cmd.cmdptr = cmdptr; | 120 | cmd.dmov_cmd.cmdptr = cmdptr; |
118 | cmd.dmov_cmd.complete_func = dmov_exec_cmdptr_complete_func; | 121 | cmd.dmov_cmd.complete_func = dmov_exec_cmdptr_complete_func; |
122 | cmd.dmov_cmd.execute_func = NULL; | ||
119 | cmd.id = id; | 123 | cmd.id = id; |
120 | init_completion(&cmd.complete); | 124 | init_completion(&cmd.complete); |
121 | 125 | ||
@@ -221,6 +225,8 @@ static irqreturn_t msm_datamover_irq_handler(int irq, void *dev_id) | |||
221 | cmd = list_entry(ready_commands[id].next, typeof(*cmd), list); | 225 | cmd = list_entry(ready_commands[id].next, typeof(*cmd), list); |
222 | list_del(&cmd->list); | 226 | list_del(&cmd->list); |
223 | list_add_tail(&cmd->list, &active_commands[id]); | 227 | list_add_tail(&cmd->list, &active_commands[id]); |
228 | if (cmd->execute_func) | ||
229 | cmd->execute_func(cmd); | ||
224 | PRINT_FLOW("msm_datamover_irq_handler id %d, start command\n", id); | 230 | PRINT_FLOW("msm_datamover_irq_handler id %d, start command\n", id); |
225 | writel(cmd->cmdptr, DMOV_CMD_PTR(id)); | 231 | writel(cmd->cmdptr, DMOV_CMD_PTR(id)); |
226 | } | 232 | } |
diff --git a/arch/arm/mach-msm/include/mach/dma.h b/arch/arm/mach-msm/include/mach/dma.h index 04c51cc04f31..00f9bbfadbe6 100644 --- a/arch/arm/mach-msm/include/mach/dma.h +++ b/arch/arm/mach-msm/include/mach/dma.h | |||
@@ -28,6 +28,8 @@ struct msm_dmov_cmd { | |||
28 | void (*complete_func)(struct msm_dmov_cmd *cmd, | 28 | void (*complete_func)(struct msm_dmov_cmd *cmd, |
29 | unsigned int result, | 29 | unsigned int result, |
30 | struct msm_dmov_errdata *err); | 30 | struct msm_dmov_errdata *err); |
31 | void (*execute_func)(struct msm_dmov_cmd *cmd); | ||
32 | void *data; | ||
31 | }; | 33 | }; |
32 | 34 | ||
33 | void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd); | 35 | void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd); |