From bd360e7517835626bee54bec968cdc78908c6545 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 2 Mar 2009 10:33:35 -0500 Subject: [PATCH] KMS: Wire up output DPMS. --- src/drmmode_display.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 8128004e..d9ca16c7 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -506,7 +506,27 @@ drmmode_output_destroy(xf86OutputPtr output) static void drmmode_output_dpms(xf86OutputPtr output, int mode) { - return; + drmmode_output_private_ptr drmmode_output = output->driver_private; + drmModeConnectorPtr koutput = drmmode_output->mode_output; + drmmode_ptr drmmode = drmmode_output->drmmode; + int i; + drmModePropertyPtr props; + + for (i = 0; i < koutput->count_props; i++) { + props = drmModeGetProperty(drmmode->fd, koutput->props[i]); + if (!props) + continue; + + if (!strcmp(props->name, "DPMS")) { + drmModeConnectorSetProperty(drmmode->fd, + drmmode_output->output_id, + props->prop_id, + mode); + drmModeFreeProperty(props); + return; + } + drmModeFreeProperty(props); + } } static const xf86OutputFuncsRec drmmode_output_funcs = {