aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2013-07-04 20:20:33 -0400
committerDave Airlie <airlied@redhat.com>2013-07-04 20:44:19 -0400
commit5ff91e442652ec33a648c3b9ae5025faaff1e813 (patch)
tree4cf36c62b7a7b6c6a2ad66e4d79d3f5912a3438b
parentd84300bf793471cc20c7553601c45d6f70dd2b1e (diff)
qxl: use drm helper hotplug support
This uses the helper to deal with hotplug so fbdev gets included. Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/qxl/qxl_display.c4
-rw-r--r--drivers/gpu/drm/qxl/qxl_kms.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index 61714fdfc782..f76f5dd7bfc4 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -107,7 +107,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
107 qxl_io_log(qdev, "failed crc check for client_monitors_config," 107 qxl_io_log(qdev, "failed crc check for client_monitors_config,"
108 " retrying\n"); 108 " retrying\n");
109 } 109 }
110 drm_sysfs_hotplug_event(qdev->ddev); 110 drm_helper_hpd_irq_event(qdev->ddev);
111} 111}
112 112
113static int qxl_add_monitors_config_modes(struct drm_connector *connector) 113static int qxl_add_monitors_config_modes(struct drm_connector *connector)
@@ -833,6 +833,8 @@ static int qdev_output_init(struct drm_device *dev, int num_output)
833 drm_encoder_init(dev, &qxl_output->enc, &qxl_enc_funcs, 833 drm_encoder_init(dev, &qxl_output->enc, &qxl_enc_funcs,
834 DRM_MODE_ENCODER_VIRTUAL); 834 DRM_MODE_ENCODER_VIRTUAL);
835 835
836 /* we get HPD via client monitors config */
837 connector->polled = DRM_CONNECTOR_POLL_HPD;
836 encoder->possible_crtcs = 1 << num_output; 838 encoder->possible_crtcs = 1 << num_output;
837 drm_mode_connector_attach_encoder(&qxl_output->base, 839 drm_mode_connector_attach_encoder(&qxl_output->base,
838 &qxl_output->enc); 840 &qxl_output->enc);
diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
index 2c6f9219e9d9..9e8da9ee9731 100644
--- a/drivers/gpu/drm/qxl/qxl_kms.c
+++ b/drivers/gpu/drm/qxl/qxl_kms.c
@@ -26,6 +26,7 @@
26#include "qxl_drv.h" 26#include "qxl_drv.h"
27#include "qxl_object.h" 27#include "qxl_object.h"
28 28
29#include <drm/drm_crtc_helper.h>
29#include <linux/io-mapping.h> 30#include <linux/io-mapping.h>
30 31
31int qxl_log_level; 32int qxl_log_level;
@@ -307,6 +308,8 @@ int qxl_driver_load(struct drm_device *dev, unsigned long flags)
307 goto out; 308 goto out;
308 } 309 }
309 310
311 drm_kms_helper_poll_init(qdev->ddev);
312
310 return 0; 313 return 0;
311out: 314out:
312 kfree(qdev); 315 kfree(qdev);