diff options
author | Gabriel Krisman Bertazi <krisman@collabora.co.uk> | 2017-02-27 15:43:23 -0500 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-02-28 11:26:17 -0500 |
commit | 9ade8b98d77a43bb90cf3ef351b764dbaf087870 (patch) | |
tree | 4a157d38949c7a5c13556ef0fed430b900655b10 | |
parent | 37235451c6990683a85ef7ee12de07136570751f (diff) |
drm: qxl: Atomic phase 2: Wire up state object handlers
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170227204328.18761-10-krisman@collabora.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_display.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 09c076f5a792..d5a00b6a07ea 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c | |||
@@ -325,6 +325,9 @@ static const struct drm_crtc_funcs qxl_crtc_funcs = { | |||
325 | .set_config = drm_crtc_helper_set_config, | 325 | .set_config = drm_crtc_helper_set_config, |
326 | .destroy = qxl_crtc_destroy, | 326 | .destroy = qxl_crtc_destroy, |
327 | .page_flip = qxl_crtc_page_flip, | 327 | .page_flip = qxl_crtc_page_flip, |
328 | .reset = drm_atomic_helper_crtc_reset, | ||
329 | .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, | ||
330 | .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, | ||
328 | }; | 331 | }; |
329 | 332 | ||
330 | void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb) | 333 | void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb) |
@@ -761,6 +764,9 @@ static const struct drm_plane_funcs qxl_cursor_plane_funcs = { | |||
761 | .update_plane = drm_plane_helper_update, | 764 | .update_plane = drm_plane_helper_update, |
762 | .disable_plane = drm_plane_helper_disable, | 765 | .disable_plane = drm_plane_helper_disable, |
763 | .destroy = drm_primary_helper_destroy, | 766 | .destroy = drm_primary_helper_destroy, |
767 | .reset = drm_atomic_helper_plane_reset, | ||
768 | .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, | ||
769 | .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, | ||
764 | }; | 770 | }; |
765 | 771 | ||
766 | static const uint32_t qxl_primary_plane_formats[] = { | 772 | static const uint32_t qxl_primary_plane_formats[] = { |
@@ -780,6 +786,9 @@ static const struct drm_plane_funcs qxl_primary_plane_funcs = { | |||
780 | .update_plane = drm_plane_helper_update, | 786 | .update_plane = drm_plane_helper_update, |
781 | .disable_plane = drm_primary_helper_disable, | 787 | .disable_plane = drm_primary_helper_disable, |
782 | .destroy = drm_primary_helper_destroy, | 788 | .destroy = drm_primary_helper_destroy, |
789 | .reset = drm_atomic_helper_plane_reset, | ||
790 | .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, | ||
791 | .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, | ||
783 | }; | 792 | }; |
784 | 793 | ||
785 | static struct drm_plane *qxl_create_plane(struct qxl_device *qdev, | 794 | static struct drm_plane *qxl_create_plane(struct qxl_device *qdev, |
@@ -1057,6 +1066,9 @@ static const struct drm_connector_funcs qxl_connector_funcs = { | |||
1057 | .fill_modes = drm_helper_probe_single_connector_modes, | 1066 | .fill_modes = drm_helper_probe_single_connector_modes, |
1058 | .set_property = qxl_conn_set_property, | 1067 | .set_property = qxl_conn_set_property, |
1059 | .destroy = qxl_conn_destroy, | 1068 | .destroy = qxl_conn_destroy, |
1069 | .reset = drm_atomic_helper_connector_reset, | ||
1070 | .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, | ||
1071 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, | ||
1060 | }; | 1072 | }; |
1061 | 1073 | ||
1062 | static void qxl_enc_destroy(struct drm_encoder *encoder) | 1074 | static void qxl_enc_destroy(struct drm_encoder *encoder) |
@@ -1228,6 +1240,8 @@ int qxl_modeset_init(struct qxl_device *qdev) | |||
1228 | 1240 | ||
1229 | qdev->mode_info.mode_config_initialized = true; | 1241 | qdev->mode_info.mode_config_initialized = true; |
1230 | 1242 | ||
1243 | drm_mode_config_reset(&qdev->ddev); | ||
1244 | |||
1231 | /* primary surface must be created by this point, to allow | 1245 | /* primary surface must be created by this point, to allow |
1232 | * issuing command queue commands and having them read by | 1246 | * issuing command queue commands and having them read by |
1233 | * spice server. */ | 1247 | * spice server. */ |