drm/fsl-dcu: Don't set connector DPMS property
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 10 Nov 2017 16:38:34 +0000 (17:38 +0100)
committerStefan Agner <stefan@agner.ch>
Tue, 14 Nov 2017 16:15:45 +0000 (17:15 +0100)
Since commit 4a97a3da420b ("drm: Don't update property values for atomic
drivers") atomic drivers must not update property values as properties
are read from the state instead. To catch remaining users, the
drm_object_property_set_value() function now throws a warning when
called by atomic drivers on non-immutable properties, and we hit that
warning when creating connectors.

The easy fix is to just remove the drm_object_property_set_value() as it
is used here to set the initial value of the connector's DPMS property
to OFF. The DPMS property applies on top of the connector's state crtc
pointer (initialized to NULL) that is the main connector on/off control,
and should thus default to ON.

Fixes: 4a97a3da420b ("drm: Don't update property values for atomic drivers")
Cc: stable@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c

index edd7d8127d194d87440d721fcce53026fd319592..c54806d08dd78d0080ef42a314fe5ac2db40d7b6 100644 (file)
@@ -102,7 +102,6 @@ static int fsl_dcu_attach_panel(struct fsl_dcu_drm_device *fsl_dev,
 {
        struct drm_encoder *encoder = &fsl_dev->encoder;
        struct drm_connector *connector = &fsl_dev->connector.base;
-       struct drm_mode_config *mode_config = &fsl_dev->drm->mode_config;
        int ret;
 
        fsl_dev->connector.encoder = encoder;
@@ -122,10 +121,6 @@ static int fsl_dcu_attach_panel(struct fsl_dcu_drm_device *fsl_dev,
        if (ret < 0)
                goto err_sysfs;
 
-       drm_object_property_set_value(&connector->base,
-                                     mode_config->dpms_property,
-                                     DRM_MODE_DPMS_OFF);
-
        ret = drm_panel_attach(panel, connector);
        if (ret) {
                dev_err(fsl_dev->dev, "failed to attach panel\n");