aboutsummaryrefslogtreecommitdiff
path: root/linux-core/intel_crt.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2007-12-11 15:56:48 +1000
committerDave Airlie <airlied@linux.ie>2007-12-11 15:56:48 +1000
commitf99dea7db00dd46aa96eaed3a61dff9c956fd86f (patch)
tree74e3c6321c3403c54c81619eb20bb64c9dbc35d3 /linux-core/intel_crt.c
parent3b6786e3e6523b1ceca3645ea4c6081f170d2134 (diff)
modesetting: fixup property setting and add connector property
Diffstat (limited to 'linux-core/intel_crt.c')
-rw-r--r--linux-core/intel_crt.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/linux-core/intel_crt.c b/linux-core/intel_crt.c
index 2ab6a27b..722a62c8 100644
--- a/linux-core/intel_crt.c
+++ b/linux-core/intel_crt.c
@@ -204,6 +204,19 @@ static int intel_crt_get_modes(struct drm_output *output)
return intel_ddc_get_modes(output);
}
+static bool intel_crt_set_property(struct drm_output *output,
+ struct drm_property *property,
+ uint64_t value)
+{
+ struct drm_device *dev = output->dev;
+ int i;
+
+ if (property == dev->mode_config.dpms_property) {
+ intel_crt_dpms(output, (uint32_t)(value & 0xf));
+ }
+ return true;
+}
+
/*
* Routines for controlling stuff on the analog port
*/
@@ -219,6 +232,7 @@ static const struct drm_output_funcs intel_crt_output_funcs = {
.detect = intel_crt_detect,
.get_modes = intel_crt_get_modes,
.cleanup = intel_crt_destroy,
+ .set_property = intel_crt_set_property,
};
void intel_crt_init(struct drm_device *dev)
@@ -246,4 +260,5 @@ void intel_crt_init(struct drm_device *dev)
output->interlace_allowed = 0;
output->doublescan_allowed = 0;
+ drm_output_attach_property(output, dev->mode_config.connector_type_property, ConnectorVGA);
}