diff options
author | Dave Airlie <airlied@redhat.com> | 2013-07-04 20:20:33 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-07-04 20:44:19 -0400 |
commit | 5ff91e442652ec33a648c3b9ae5025faaff1e813 (patch) | |
tree | 4cf36c62b7a7b6c6a2ad66e4d79d3f5912a3438b | |
parent | d84300bf793471cc20c7553601c45d6f70dd2b1e (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.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_kms.c | 3 |
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 | ||
113 | static int qxl_add_monitors_config_modes(struct drm_connector *connector) | 113 | static 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 | ||
31 | int qxl_log_level; | 32 | int 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; |
311 | out: | 314 | out: |
312 | kfree(qdev); | 315 | kfree(qdev); |