瀏覽代碼

drm/qxl: notify that the monitor config changed

drm_helper_hpd_irq_event() only notifies when the connector status
changed. However, Spice monitor config can change while the connector is
connected, to support arbitrary resolution. Do an hotplug event if it
wasn't done by drm_helper_hpd_irq_event().

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marc-André Lureau 12 年之前
父節點
當前提交
4fdb086924
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      drivers/gpu/drm/qxl/qxl_display.c

+ 6 - 1
drivers/gpu/drm/qxl/qxl_display.c

@@ -107,7 +107,12 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
 		qxl_io_log(qdev, "failed crc check for client_monitors_config,"
 				 " retrying\n");
 	}
-	drm_helper_hpd_irq_event(qdev->ddev);
+
+	if (!drm_helper_hpd_irq_event(qdev->ddev)) {
+		/* notify that the monitor configuration changed, to
+		   adjust at the arbitrary resolution */
+		drm_kms_helper_hotplug_event(qdev->ddev);
+	}
 }
 
 static int qxl_add_monitors_config_modes(struct drm_connector *connector)