mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 10:36:55 +07:00
gpu/drm/exynos: Convert drm_atomic_helper_suspend/resume()
convert drm_atomic_helper_suspend/resume() to use drm_mode_config_helper_suspend/resume(). exynos_drm_fbdev_suspend/resume can be removed as drm_mode_config_helper_suspend/resume has implement the same in generic way. Remove suspend_state from exynos_drm_private struct as it is no more useful. Signed-off-by: Ajit Negi <ajitn.linux@gmail.com> Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
91e28030fd
commit
714c999411
@ -149,37 +149,15 @@ static struct drm_driver exynos_drm_driver = {
|
||||
static int exynos_drm_suspend(struct device *dev)
|
||||
{
|
||||
struct drm_device *drm_dev = dev_get_drvdata(dev);
|
||||
struct exynos_drm_private *private;
|
||||
|
||||
if (!drm_dev)
|
||||
return 0;
|
||||
|
||||
private = drm_dev->dev_private;
|
||||
|
||||
drm_kms_helper_poll_disable(drm_dev);
|
||||
exynos_drm_fbdev_suspend(drm_dev);
|
||||
private->suspend_state = drm_atomic_helper_suspend(drm_dev);
|
||||
if (IS_ERR(private->suspend_state)) {
|
||||
exynos_drm_fbdev_resume(drm_dev);
|
||||
drm_kms_helper_poll_enable(drm_dev);
|
||||
return PTR_ERR(private->suspend_state);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return drm_mode_config_helper_suspend(drm_dev);
|
||||
}
|
||||
|
||||
static void exynos_drm_resume(struct device *dev)
|
||||
{
|
||||
struct drm_device *drm_dev = dev_get_drvdata(dev);
|
||||
struct exynos_drm_private *private;
|
||||
|
||||
if (!drm_dev)
|
||||
return;
|
||||
|
||||
private = drm_dev->dev_private;
|
||||
drm_atomic_helper_resume(drm_dev, private->suspend_state);
|
||||
exynos_drm_fbdev_resume(drm_dev);
|
||||
drm_kms_helper_poll_enable(drm_dev);
|
||||
drm_mode_config_helper_resume(drm_dev);
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops exynos_drm_pm_ops = {
|
||||
|
@ -195,7 +195,6 @@ struct drm_exynos_file_private {
|
||||
*/
|
||||
struct exynos_drm_private {
|
||||
struct drm_fb_helper *fb_helper;
|
||||
struct drm_atomic_state *suspend_state;
|
||||
|
||||
struct device *g2d_dev;
|
||||
struct device *dma_dev;
|
||||
|
@ -270,20 +270,3 @@ void exynos_drm_fbdev_fini(struct drm_device *dev)
|
||||
private->fb_helper = NULL;
|
||||
}
|
||||
|
||||
void exynos_drm_fbdev_suspend(struct drm_device *dev)
|
||||
{
|
||||
struct exynos_drm_private *private = dev->dev_private;
|
||||
|
||||
console_lock();
|
||||
drm_fb_helper_set_suspend(private->fb_helper, 1);
|
||||
console_unlock();
|
||||
}
|
||||
|
||||
void exynos_drm_fbdev_resume(struct drm_device *dev)
|
||||
{
|
||||
struct exynos_drm_private *private = dev->dev_private;
|
||||
|
||||
console_lock();
|
||||
drm_fb_helper_set_suspend(private->fb_helper, 0);
|
||||
console_unlock();
|
||||
}
|
||||
|
@ -19,8 +19,6 @@
|
||||
|
||||
int exynos_drm_fbdev_init(struct drm_device *dev);
|
||||
void exynos_drm_fbdev_fini(struct drm_device *dev);
|
||||
void exynos_drm_fbdev_suspend(struct drm_device *drm);
|
||||
void exynos_drm_fbdev_resume(struct drm_device *drm);
|
||||
|
||||
#else
|
||||
|
||||
@ -39,14 +37,6 @@ static inline void exynos_drm_fbdev_restore_mode(struct drm_device *dev)
|
||||
|
||||
#define exynos_drm_output_poll_changed (NULL)
|
||||
|
||||
static inline void exynos_drm_fbdev_suspend(struct drm_device *drm)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void exynos_drm_fbdev_resume(struct drm_device *drm)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user