]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00264275 [GPU]Correct suspend/resume calling after adding runtime pm.
authorLoren HUANG <b02279@freescale.com>
Wed, 22 May 2013 09:21:30 +0000 (17:21 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:14:04 +0000 (14:14 +0200)
After enabling runtime pm the suspend/resume entry is changed.

-Add new entry for suspend/resume in runtime pm frame work.
-Add static define for all runtime pm function.

Cherry-pick from 3.5.7 kernel branch.

Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c

index 963527f6cec41a904a3f96e336ed86a106392cc5..985a7da88f1be9ab50241cc1ddc299f80c78316f 100644 (file)
@@ -1241,20 +1241,32 @@ static const struct of_device_id mxs_gpu_dt_ids[] = {
 MODULE_DEVICE_TABLE(of, mxs_gpu_dt_ids);
 
 #ifdef CONFIG_PM
-int gpu_runtime_suspend(struct device *dev)
+static int gpu_runtime_suspend(struct device *dev)
 {
        release_bus_freq(BUS_FREQ_HIGH);
        return 0;
 }
 
-int gpu_runtime_resume(struct device *dev)
+static int gpu_runtime_resume(struct device *dev)
 {
        request_bus_freq(BUS_FREQ_HIGH);
        return 0;
 }
 
+static int gpu_system_suspend(struct device *dev)
+{
+       pm_message_t state={0};
+       return gpu_suspend(to_platform_device(dev), state);
+}
+
+static int gpu_system_resume(struct device *dev)
+{
+       return gpu_resume(to_platform_device(dev));
+}
+
 static const struct dev_pm_ops gpu_pm_ops = {
        SET_RUNTIME_PM_OPS(gpu_runtime_suspend, gpu_runtime_resume, NULL)
+       SET_SYSTEM_SLEEP_PM_OPS(gpu_system_suspend, gpu_system_resume)
 };
 #endif
 #endif