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

Commit 335041ed authored by Jesse Barnes's avatar Jesse Barnes Committed by Dave Airlie
Browse files

drm/i915: hook up LVDS DPMS property



The LVDS output supports DPMS calls, but we never hooked up the property code,
so set property calls didn't actually do anything.  Implement a set_property
callback for the LVDS output so that the right thing happens.

Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent ed2dd4b0
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -340,6 +340,18 @@ static void intel_lvds_destroy(struct drm_connector *connector)
	kfree(connector);
}

static int intel_lvds_set_property(struct drm_connector *connector,
				   struct drm_property *property,
				   uint64_t value)
{
	struct drm_device *dev = connector->dev;

	if (property == dev->mode_config.dpms_property && connector->encoder)
		intel_lvds_dpms(connector->encoder, (uint32_t)(value & 0xf));

	return 0;
}

static const struct drm_encoder_helper_funcs intel_lvds_helper_funcs = {
	.dpms = intel_lvds_dpms,
	.mode_fixup = intel_lvds_mode_fixup,
@@ -359,6 +371,7 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = {
	.restore = intel_lvds_restore,
	.detect = intel_lvds_detect,
	.fill_modes = drm_helper_probe_single_connector_modes,
	.set_property = intel_lvds_set_property,
	.destroy = intel_lvds_destroy,
};