1 From a845abe4589366d3e37b5a646be6337984074b28 Mon Sep 17 00:00:00 2001
2 From: Loren HUANG <b02279@freescale.com>
3 Date: Wed, 22 May 2013 17:21:30 +0800
4 Subject: [PATCH 5/6] ENGR00264275 [GPU]Correct suspend/resume calling after
7 After enabling runtime pm the suspend/resume entry is changed.
9 -Add new entry for suspend/resume in runtime pm frame work.
10 -Add static define for all runtime pm function.
12 Upstream-Status: Backport [3.5.7-1.0.0]
14 Signed-off-by: Loren HUANG <b02279@freescale.com>
17 .../gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c | 16 ++++++++++++++--
18 1 file changed, 14 insertions(+), 2 deletions(-)
20 diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
21 index 183000d..3632a6c 100644
22 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
23 +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
24 @@ -1252,20 +1252,32 @@ static const struct of_device_id mxs_gpu_dt_ids[] = {
25 MODULE_DEVICE_TABLE(of, mxs_gpu_dt_ids);
28 -int gpu_runtime_suspend(struct device *dev)
29 +static int gpu_runtime_suspend(struct device *dev)
31 release_bus_freq(BUS_FREQ_HIGH);
35 -int gpu_runtime_resume(struct device *dev)
36 +static int gpu_runtime_resume(struct device *dev)
38 request_bus_freq(BUS_FREQ_HIGH);
42 +static int gpu_system_suspend(struct device *dev)
44 + pm_message_t state={0};
45 + return gpu_suspend(to_platform_device(dev), state);
48 +static int gpu_system_resume(struct device *dev)
50 + return gpu_resume(to_platform_device(dev));
53 static const struct dev_pm_ops gpu_pm_ops = {
54 SET_RUNTIME_PM_OPS(gpu_runtime_suspend, gpu_runtime_resume, NULL)
55 + SET_SYSTEM_SLEEP_PM_OPS(gpu_system_suspend, gpu_system_resume)