drm/tegra: dc: Reset state's active_changed field
authorThierry Reding <treding@nvidia.com>
Thu, 19 Feb 2015 11:35:56 +0000 (12:35 +0100)
committerThierry Reding <treding@nvidia.com>
Thu, 19 Feb 2015 13:21:43 +0000 (14:21 +0100)
Commit eab3bbeffd15 ("drm/atomic: Add drm_crtc_state->active") added the
field to track the DPMS state. However, the Tegra driver was in modified
in parallel and subclasses the CRTC atomic state, so needed to duplicate
the code in the atomic helpers. After the addition of the active_changed
field it became out of sync and doesn't reset it when duplicating state.

This causes a full modeset on things like page-flips, which will in turn
cause warnings due to the VBLANK machinery being disabled when it really
should remain on.

Tested-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/dc.c

index 3aaa84ae26811fb8c731a89e76b91297b1ff3bf3..ec84bd486561359a7bb6a4b31c66bc68257b0913 100644 (file)
@@ -1012,6 +1012,7 @@ tegra_crtc_atomic_duplicate_state(struct drm_crtc *crtc)
                return NULL;
 
        copy->base.mode_changed = false;
+       copy->base.active_changed = false;
        copy->base.planes_changed = false;
        copy->base.event = NULL;