[modesetting-101] Actually store properties when being changed.
authorMaarten Maathuis <madman2003@gmail.com>
Fri, 27 Jun 2008 14:30:25 +0000 (16:30 +0200)
committerMaarten Maathuis <madman2003@gmail.com>
Fri, 27 Jun 2008 14:30:25 +0000 (16:30 +0200)
linux-core/drm_crtc.c
linux-core/nv50_kms_wrapper.c

index 4f21d09..b9276c3 100644 (file)
@@ -2017,6 +2017,9 @@ int drm_mode_connector_property_set_ioctl(struct drm_device *dev,
                }
        }
 
+       /* store the property value */
+       drm_connector_property_set_value(connector, property, out_resp->value);
+
        if (connector->funcs->set_property)
                ret = connector->funcs->set_property(connector, property, out_resp->value);
 
index 900dfcc..9ece228 100644 (file)
@@ -663,6 +663,23 @@ int nv50_kms_crtc_set_config(struct drm_mode_set *set)
                                goto out;
                        }
                }
+
+               /* update dpms state to DPMSModeOn */
+               for (i = 0; i < set->num_connectors; i++) {
+                       drm_connector = set->connectors[i];
+                       if (!drm_connector) {
+                               DRM_ERROR("No connector\n");
+                               goto out;
+                       }
+
+                       rval = drm_connector_property_set_value(drm_connector,
+                                       dev->mode_config.dpms_property,
+                                       DPMSModeOn);
+                       if (rval != 0) {
+                               DRM_ERROR("failed to update dpms state\n");
+                               goto out;
+                       }
+               }
        }
 
        display->update(display);