aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.co.uk>2017-02-27 15:43:23 -0500
committerGerd Hoffmann <kraxel@redhat.com>2017-02-28 11:26:17 -0500
commit9ade8b98d77a43bb90cf3ef351b764dbaf087870 (patch)
tree4a157d38949c7a5c13556ef0fed430b900655b10
parent37235451c6990683a85ef7ee12de07136570751f (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.c14
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
330void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb) 333void 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
766static const uint32_t qxl_primary_plane_formats[] = { 772static 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
785static struct drm_plane *qxl_create_plane(struct qxl_device *qdev, 794static 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
1062static void qxl_enc_destroy(struct drm_encoder *encoder) 1074static 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. */