浏览代码

drm: hdlcd: Update PM code to save/restore console.

Update the PM code to suspend/resume the fbdev_cma console.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Liviu Dudau 8 年之前
父节点
当前提交
febae9bc94
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/gpu/drm/arm/hdlcd_drv.c

+ 4 - 1
drivers/gpu/drm/arm/hdlcd_drv.c

@@ -13,6 +13,7 @@
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
 #include <linux/component.h>
 #include <linux/component.h>
+#include <linux/console.h>
 #include <linux/list.h>
 #include <linux/list.h>
 #include <linux/of_graph.h>
 #include <linux/of_graph.h>
 #include <linux/of_reserved_mem.h>
 #include <linux/of_reserved_mem.h>
@@ -432,9 +433,11 @@ static int __maybe_unused hdlcd_pm_suspend(struct device *dev)
 		return 0;
 		return 0;
 
 
 	drm_kms_helper_poll_disable(drm);
 	drm_kms_helper_poll_disable(drm);
+	drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 1);
 
 
 	hdlcd->state = drm_atomic_helper_suspend(drm);
 	hdlcd->state = drm_atomic_helper_suspend(drm);
 	if (IS_ERR(hdlcd->state)) {
 	if (IS_ERR(hdlcd->state)) {
+		drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0);
 		drm_kms_helper_poll_enable(drm);
 		drm_kms_helper_poll_enable(drm);
 		return PTR_ERR(hdlcd->state);
 		return PTR_ERR(hdlcd->state);
 	}
 	}
@@ -451,8 +454,8 @@ static int __maybe_unused hdlcd_pm_resume(struct device *dev)
 		return 0;
 		return 0;
 
 
 	drm_atomic_helper_resume(drm, hdlcd->state);
 	drm_atomic_helper_resume(drm, hdlcd->state);
+	drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0);
 	drm_kms_helper_poll_enable(drm);
 	drm_kms_helper_poll_enable(drm);
-	pm_runtime_set_active(dev);
 
 
 	return 0;
 	return 0;
 }
 }