diff options
| author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-01-22 07:22:06 -0500 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2009-01-22 07:22:06 -0500 |
| commit | 335041ed31d774391d9add49824d05e7d19d93e9 (patch) | |
| tree | 439f0d0c85712f3a5c52c649f77487494dbe607f /drivers/gpu | |
| parent | ed2dd4b0cc1494c27478f4ea8452f68d2037a60c (diff) | |
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: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 2fafdcc108fe..6b1148fc2cbe 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
| @@ -340,6 +340,18 @@ static void intel_lvds_destroy(struct drm_connector *connector) | |||
| 340 | kfree(connector); | 340 | kfree(connector); |
| 341 | } | 341 | } |
| 342 | 342 | ||
| 343 | static int intel_lvds_set_property(struct drm_connector *connector, | ||
| 344 | struct drm_property *property, | ||
| 345 | uint64_t value) | ||
| 346 | { | ||
| 347 | struct drm_device *dev = connector->dev; | ||
| 348 | |||
| 349 | if (property == dev->mode_config.dpms_property && connector->encoder) | ||
| 350 | intel_lvds_dpms(connector->encoder, (uint32_t)(value & 0xf)); | ||
| 351 | |||
| 352 | return 0; | ||
| 353 | } | ||
| 354 | |||
| 343 | static const struct drm_encoder_helper_funcs intel_lvds_helper_funcs = { | 355 | static const struct drm_encoder_helper_funcs intel_lvds_helper_funcs = { |
| 344 | .dpms = intel_lvds_dpms, | 356 | .dpms = intel_lvds_dpms, |
| 345 | .mode_fixup = intel_lvds_mode_fixup, | 357 | .mode_fixup = intel_lvds_mode_fixup, |
| @@ -359,6 +371,7 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = { | |||
| 359 | .restore = intel_lvds_restore, | 371 | .restore = intel_lvds_restore, |
| 360 | .detect = intel_lvds_detect, | 372 | .detect = intel_lvds_detect, |
| 361 | .fill_modes = drm_helper_probe_single_connector_modes, | 373 | .fill_modes = drm_helper_probe_single_connector_modes, |
| 374 | .set_property = intel_lvds_set_property, | ||
| 362 | .destroy = intel_lvds_destroy, | 375 | .destroy = intel_lvds_destroy, |
| 363 | }; | 376 | }; |
| 364 | 377 | ||
