#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);
 
 
        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;
        }
 
        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;
 
                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