Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ff91e44 authored by Dave Airlie's avatar Dave Airlie
Browse files

qxl: use drm helper hotplug support



This uses the helper to deal with hotplug so fbdev gets included.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent d84300bf
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -107,7 +107,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
		qxl_io_log(qdev, "failed crc check for client_monitors_config,"
		qxl_io_log(qdev, "failed crc check for client_monitors_config,"
				 " retrying\n");
				 " retrying\n");
	}
	}
	drm_sysfs_hotplug_event(qdev->ddev);
	drm_helper_hpd_irq_event(qdev->ddev);
}
}


static int qxl_add_monitors_config_modes(struct drm_connector *connector)
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)
	drm_encoder_init(dev, &qxl_output->enc, &qxl_enc_funcs,
	drm_encoder_init(dev, &qxl_output->enc, &qxl_enc_funcs,
			 DRM_MODE_ENCODER_VIRTUAL);
			 DRM_MODE_ENCODER_VIRTUAL);


	/* we get HPD via client monitors config */
	connector->polled = DRM_CONNECTOR_POLL_HPD;
	encoder->possible_crtcs = 1 << num_output;
	encoder->possible_crtcs = 1 << num_output;
	drm_mode_connector_attach_encoder(&qxl_output->base,
	drm_mode_connector_attach_encoder(&qxl_output->base,
					  &qxl_output->enc);
					  &qxl_output->enc);
+3 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@
#include "qxl_drv.h"
#include "qxl_drv.h"
#include "qxl_object.h"
#include "qxl_object.h"


#include <drm/drm_crtc_helper.h>
#include <linux/io-mapping.h>
#include <linux/io-mapping.h>


int qxl_log_level;
int qxl_log_level;
@@ -307,6 +308,8 @@ int qxl_driver_load(struct drm_device *dev, unsigned long flags)
		goto out;
		goto out;
	}
	}


	drm_kms_helper_poll_init(qdev->ddev);

	return 0;
	return 0;
out:
out:
	kfree(qdev);
	kfree(qdev);