aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorSouptick Joarder <jrdr.linux@gmail.com>2018-08-06 10:49:01 -0400
committerXinliang Liu <xinliang.liu@linaro.org>2018-09-25 23:40:39 -0400
commit081d0571700be0c9f212f18b5c66f40e9c2e70d2 (patch)
treedf1fbcb690770b187220d6a0740a1c19094bd7f8 /drivers/gpu/drm
parenta66dae3a2b179eaba8f2f960271fe9d4c72939cb (diff)
gpu/drm/hisilicon: Convert drm_atomic_helper_suspend/resume()
convert drm_atomic_helper_suspend/resume() to use drm_mode_config_helper_suspend/resume(). Fixed one sparse warning by making hibmc_drm_interrupt static. Signed-off-by: Ajit Negi <ajitn.linux@gmail.com> Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com> Reviewed-by: Xinliang Liu <z.liuxinliang@hisilicon.com> Signed-off-by: Xinliang Liu <z.liuxinliang@hisilicon.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c20
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h1
2 files changed, 3 insertions, 18 deletions
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 79b6bdafdc82..ccecda273112 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -37,7 +37,7 @@ static const struct file_operations hibmc_fops = {
37 .llseek = no_llseek, 37 .llseek = no_llseek,
38}; 38};
39 39
40irqreturn_t hibmc_drm_interrupt(int irq, void *arg) 40static irqreturn_t hibmc_drm_interrupt(int irq, void *arg)
41{ 41{
42 struct drm_device *dev = (struct drm_device *)arg; 42 struct drm_device *dev = (struct drm_device *)arg;
43 struct hibmc_drm_private *priv = 43 struct hibmc_drm_private *priv =
@@ -74,30 +74,16 @@ static int __maybe_unused hibmc_pm_suspend(struct device *dev)
74{ 74{
75 struct pci_dev *pdev = to_pci_dev(dev); 75 struct pci_dev *pdev = to_pci_dev(dev);
76 struct drm_device *drm_dev = pci_get_drvdata(pdev); 76 struct drm_device *drm_dev = pci_get_drvdata(pdev);
77 struct hibmc_drm_private *priv = drm_dev->dev_private;
78
79 drm_kms_helper_poll_disable(drm_dev);
80 priv->suspend_state = drm_atomic_helper_suspend(drm_dev);
81 if (IS_ERR(priv->suspend_state)) {
82 DRM_ERROR("drm_atomic_helper_suspend failed: %ld\n",
83 PTR_ERR(priv->suspend_state));
84 drm_kms_helper_poll_enable(drm_dev);
85 return PTR_ERR(priv->suspend_state);
86 }
87 77
88 return 0; 78 return drm_mode_config_helper_suspend(drm_dev);
89} 79}
90 80
91static int __maybe_unused hibmc_pm_resume(struct device *dev) 81static int __maybe_unused hibmc_pm_resume(struct device *dev)
92{ 82{
93 struct pci_dev *pdev = to_pci_dev(dev); 83 struct pci_dev *pdev = to_pci_dev(dev);
94 struct drm_device *drm_dev = pci_get_drvdata(pdev); 84 struct drm_device *drm_dev = pci_get_drvdata(pdev);
95 struct hibmc_drm_private *priv = drm_dev->dev_private;
96 85
97 drm_atomic_helper_resume(drm_dev, priv->suspend_state); 86 return drm_mode_config_helper_resume(drm_dev);
98 drm_kms_helper_poll_enable(drm_dev);
99
100 return 0;
101} 87}
102 88
103static const struct dev_pm_ops hibmc_pm_ops = { 89static const struct dev_pm_ops hibmc_pm_ops = {
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
index e195521eb41e..45c25a488f42 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
@@ -47,7 +47,6 @@ struct hibmc_drm_private {
47 /* drm */ 47 /* drm */
48 struct drm_device *dev; 48 struct drm_device *dev;
49 bool mode_config_initialized; 49 bool mode_config_initialized;
50 struct drm_atomic_state *suspend_state;
51 50
52 /* ttm */ 51 /* ttm */
53 struct drm_global_reference mem_global_ref; 52 struct drm_global_reference mem_global_ref;