diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2009-09-10 03:45:47 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-09-10 14:30:32 -0400 |
commit | d0cbde93cc29a250de97ccb63d98da5bd1cbcfcd (patch) | |
tree | 56ff1ca3a69c1fe8ff2053a558fb057d221b4ed2 /drivers/gpu/drm/i915/intel_sdvo.c | |
parent | b9219c5e8be99ddd697e3f9b61069d7ea477ddec (diff) |
drm/i915: Add the brightness property for SDVO-LVDS
When the sdvo device is detected as SDVO-LVDS, we will check whether the
brightness is supported by issue SDVO enhancement command.
If it is supported, we will add the brightness property and then brightness
can be adjusted.
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sdvo.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index ce8c5622d653..1f671d96565b 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -1872,7 +1872,7 @@ void intel_sdvo_destroy_enhance_property(struct drm_connector *connector) | |||
1872 | if (sdvo_priv->hue_property) | 1872 | if (sdvo_priv->hue_property) |
1873 | drm_property_destroy(dev, sdvo_priv->hue_property); | 1873 | drm_property_destroy(dev, sdvo_priv->hue_property); |
1874 | } | 1874 | } |
1875 | if (sdvo_priv->is_tv) { | 1875 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) { |
1876 | if (sdvo_priv->brightness_property) | 1876 | if (sdvo_priv->brightness_property) |
1877 | drm_property_destroy(dev, | 1877 | drm_property_destroy(dev, |
1878 | sdvo_priv->brightness_property); | 1878 | sdvo_priv->brightness_property); |
@@ -1900,7 +1900,7 @@ static void intel_sdvo_destroy(struct drm_connector *connector) | |||
1900 | drm_property_destroy(connector->dev, | 1900 | drm_property_destroy(connector->dev, |
1901 | sdvo_priv->tv_format_property); | 1901 | sdvo_priv->tv_format_property); |
1902 | 1902 | ||
1903 | if (sdvo_priv->is_tv) | 1903 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) |
1904 | intel_sdvo_destroy_enhance_property(connector); | 1904 | intel_sdvo_destroy_enhance_property(connector); |
1905 | 1905 | ||
1906 | drm_sysfs_connector_remove(connector); | 1906 | drm_sysfs_connector_remove(connector); |
@@ -1940,7 +1940,7 @@ intel_sdvo_set_property(struct drm_connector *connector, | |||
1940 | changed = true; | 1940 | changed = true; |
1941 | } | 1941 | } |
1942 | 1942 | ||
1943 | if (sdvo_priv->is_tv) { | 1943 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) { |
1944 | cmd = 0; | 1944 | cmd = 0; |
1945 | temp_value = val; | 1945 | temp_value = val; |
1946 | if (sdvo_priv->left_property == property) { | 1946 | if (sdvo_priv->left_property == property) { |
@@ -2627,7 +2627,7 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2627 | data_value[0], data_value[1], response); | 2627 | data_value[0], data_value[1], response); |
2628 | } | 2628 | } |
2629 | } | 2629 | } |
2630 | if (sdvo_priv->is_tv) { | 2630 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) { |
2631 | if (sdvo_data.brightness) { | 2631 | if (sdvo_data.brightness) { |
2632 | intel_sdvo_write_cmd(intel_output, | 2632 | intel_sdvo_write_cmd(intel_output, |
2633 | SDVO_CMD_GET_MAX_BRIGHTNESS, NULL, 0); | 2633 | SDVO_CMD_GET_MAX_BRIGHTNESS, NULL, 0); |
@@ -2750,10 +2750,12 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2750 | drm_encoder_helper_add(&intel_output->enc, &intel_sdvo_helper_funcs); | 2750 | drm_encoder_helper_add(&intel_output->enc, &intel_sdvo_helper_funcs); |
2751 | 2751 | ||
2752 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); | 2752 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); |
2753 | if (sdvo_priv->is_tv) { | 2753 | if (sdvo_priv->is_tv) |
2754 | intel_sdvo_tv_create_property(connector); | 2754 | intel_sdvo_tv_create_property(connector); |
2755 | |||
2756 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) | ||
2755 | intel_sdvo_create_enhance_property(connector); | 2757 | intel_sdvo_create_enhance_property(connector); |
2756 | } | 2758 | |
2757 | drm_sysfs_connector_add(connector); | 2759 | drm_sysfs_connector_add(connector); |
2758 | 2760 | ||
2759 | intel_sdvo_select_ddc_bus(sdvo_priv); | 2761 | intel_sdvo_select_ddc_bus(sdvo_priv); |