drm/vmwgfx: Add debug message for layout change ioctl
authorDeepak Rawat <drawat@vmware.com>
Thu, 9 May 2019 18:47:40 +0000 (11:47 -0700)
committerThomas Hellstrom <thellstrom@vmware.com>
Tue, 18 Jun 2019 13:20:11 +0000 (15:20 +0200)
Add debug code to check user-space layout change request.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

index 5971c0d4750770acfe02316cf2204730b243c887..b4c8817dc2671e1f047bf5a02b2d12c1e79efefc 100644 (file)
@@ -1424,6 +1424,14 @@ int vmw_host_log(const char *log);
 #define VMW_DEBUG_USER(fmt, ...)                                              \
        DRM_DEBUG_DRIVER(fmt, ##__VA_ARGS__)
 
+/**
+ * VMW_DEBUG_KMS - Debug output for kernel mode-setting
+ *
+ * This macro is for debugging vmwgfx mode-setting code.
+ */
+#define VMW_DEBUG_KMS(fmt, ...)                                               \
+       DRM_DEBUG_DRIVER(fmt, ##__VA_ARGS__)
+
 /* Resource dirtying - vmwgfx_page_dirty.c */
 void vmw_bo_dirty_scan(struct vmw_buffer_object *vbo);
 int vmw_bo_dirty_add(struct vmw_buffer_object *vbo);
index b97bc8e5944b68266122d48b21895cd2d450182c..7f9264a72e1d1f6a5ddb708832ad0e9a5e152943 100644 (file)
@@ -2347,6 +2347,9 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
 
        if (!arg->num_outputs) {
                struct drm_rect def_rect = {0, 0, 800, 600};
+               VMW_DEBUG_KMS("Default layout x1 = %d y1 = %d x2 = %d y2 = %d\n",
+                             def_rect.x1, def_rect.y1,
+                             def_rect.x2, def_rect.y2);
                vmw_du_update_layout(dev_priv, 1, &def_rect);
                return 0;
        }
@@ -2367,6 +2370,7 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
 
        drm_rects = (struct drm_rect *)rects;
 
+       VMW_DEBUG_KMS("Layout count = %u\n", arg->num_outputs);
        for (i = 0; i < arg->num_outputs; i++) {
                struct drm_vmw_rect curr_rect;
 
@@ -2383,6 +2387,10 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
                drm_rects[i].x2 = curr_rect.x + curr_rect.w;
                drm_rects[i].y2 = curr_rect.y + curr_rect.h;
 
+               VMW_DEBUG_KMS("  x1 = %d y1 = %d x2 = %d y2 = %d\n",
+                             drm_rects[i].x1, drm_rects[i].y1,
+                             drm_rects[i].x2, drm_rects[i].y2);
+
                /*
                 * Currently this check is limiting the topology within
                 * mode_config->max (which actually is max texture size