static int tilcdc_pm_suspend(struct device *dev)
 {
        struct drm_device *ddev = dev_get_drvdata(dev);
-       struct tilcdc_drm_private *priv = ddev->dev_private;
+       int ret = 0;
 
-       priv->saved_state = drm_atomic_helper_suspend(ddev);
+       ret = drm_mode_config_helper_suspend(ddev);
 
        /* Select sleep pin state */
        pinctrl_pm_select_sleep_state(dev);
 
-       return 0;
+       return ret;
 }
 
 static int tilcdc_pm_resume(struct device *dev)
 {
        struct drm_device *ddev = dev_get_drvdata(dev);
-       struct tilcdc_drm_private *priv = ddev->dev_private;
-       int ret = 0;
 
        /* Select default pin state */
        pinctrl_pm_select_default_state(dev);
-
-       if (priv->saved_state)
-               ret = drm_atomic_helper_resume(ddev, priv->saved_state);
-
-       return ret;
+       return  drm_mode_config_helper_resume(ddev);
 }
 #endif
 
 
        const uint32_t *pixelformats;
        uint32_t num_pixelformats;
 
-       /* The context for pm susped/resume cycle is stored here */
-       struct drm_atomic_state *saved_state;
-
 #ifdef CONFIG_CPU_FREQ
        struct notifier_block freq_transition;
 #endif