aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2019-12-10 09:48:59 +0100
committerThomas Zimmermann <tzimmermann@suse.de>2019-12-11 17:02:16 +0100
commitae08b88aea6b8094c8163b753b626329542146ee (patch)
treee3daccfadf716af371cab4443bd6805c0ee04a97
parentdrm/udl: Convert to struct drm_simple_display_pipe (diff)
downloadlinux-dev-ae08b88aea6b8094c8163b753b626329542146ee.tar.xz
linux-dev-ae08b88aea6b8094c8163b753b626329542146ee.zip
drm/udl: Switch to atomic suspend/resume helpers
We can use the generic suspend/resume helpers for atomic modesetting. Switch udl over. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-4-tzimmermann@suse.de
-rw-r--r--drivers/gpu/drm/udl/udl_drv.c7
-rw-r--r--drivers/gpu/drm/udl/udl_drv.h1
-rw-r--r--drivers/gpu/drm/udl/udl_modeset.c14
3 files changed, 2 insertions, 20 deletions
diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c
index aeb96920757c..b3fa6bf41acc 100644
--- a/drivers/gpu/drm/udl/udl_drv.c
+++ b/drivers/gpu/drm/udl/udl_drv.c
@@ -21,17 +21,14 @@ static int udl_usb_suspend(struct usb_interface *interface,
{
struct drm_device *dev = usb_get_intfdata(interface);
- drm_kms_helper_poll_disable(dev);
- return 0;
+ return drm_mode_config_helper_suspend(dev);
}
static int udl_usb_resume(struct usb_interface *interface)
{
struct drm_device *dev = usb_get_intfdata(interface);
- drm_kms_helper_poll_enable(dev);
- udl_modeset_restore(dev);
- return 0;
+ return drm_mode_config_helper_resume(dev);
}
DEFINE_DRM_GEM_FOPS(udl_driver_fops);
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
index c7f32c41f649..e98d70487eab 100644
--- a/drivers/gpu/drm/udl/udl_drv.h
+++ b/drivers/gpu/drm/udl/udl_drv.h
@@ -72,7 +72,6 @@ struct udl_device {
/* modeset */
int udl_modeset_init(struct drm_device *dev);
-void udl_modeset_restore(struct drm_device *dev);
void udl_modeset_cleanup(struct drm_device *dev);
struct drm_connector *udl_connector_init(struct drm_device *dev);
diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c
index 36b7844e8cf4..cde6b7ff9599 100644
--- a/drivers/gpu/drm/udl/udl_modeset.c
+++ b/drivers/gpu/drm/udl/udl_modeset.c
@@ -438,20 +438,6 @@ err_drm_mode_config_cleanup:
return ret;
}
-void udl_modeset_restore(struct drm_device *dev)
-{
- struct udl_device *udl = dev->dev_private;
- struct drm_crtc *crtc = &udl->display_pipe.crtc;
- struct drm_plane *primary = &udl->display_pipe.plane;
- struct drm_framebuffer *fb = primary->fb;
-
- if (!fb)
- return;
-
- udl_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
- udl_handle_damage(fb, 0, 0, fb->width, fb->height);
-}
-
void udl_modeset_cleanup(struct drm_device *dev)
{
drm_mode_config_cleanup(dev);