Ejemplo n.º 1
0
static void intel_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
{
	struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr);
	struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
	struct drm_device *dev = intel_dig_port->base.base.dev;

	drm_kms_helper_hotplug_event(dev);
}
Ejemplo n.º 2
0
/*
 * We need to run the KMS hotplug event helper outside of our threaded
 * interrupt routine as this can call back into our get_modes method,
 * which will want to make use of interrupts.
 */
static void tda998x_detect_work(struct work_struct *work)
{
	struct tda998x_priv *priv =
		container_of(work, struct tda998x_priv, detect_work);
	struct drm_device *dev = priv->encoder.dev;

	if (dev)
		drm_kms_helper_hotplug_event(dev);
}
Ejemplo n.º 3
0
/* handle HDMI connect/disconnect */
static void tda998x_hpd(struct work_struct *work)
{
	struct delayed_work *dwork = to_delayed_work(work);
	struct tda998x_priv *priv =
			container_of(dwork, struct tda998x_priv, dwork);

	if (priv->encoder && priv->encoder->dev)
		drm_kms_helper_hotplug_event(priv->encoder->dev);
}
Ejemplo n.º 4
0
static void cvbs_switch_work_func(struct work_struct *work)
{
	struct meson_cvbs_work *meson_cvbs_work =
		container_of(work, struct meson_cvbs_work, work.work);

	/* This interrupt means the CVBS color enconding (PAL/NTSC) switch
	 * position has changed. */
	drm_kms_helper_hotplug_event(meson_cvbs_work->dev);
}
Ejemplo n.º 5
0
void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
{

	while (qxl_display_copy_rom_client_monitors_config(qdev)) {
		qxl_io_log(qdev, "failed crc check for client_monitors_config,"
				 " retrying\n");
	}

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