diff options
author | Matt Roper <matthew.d.roper@intel.com> | 2015-04-09 17:48:38 (GMT) |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-04-10 07:37:01 (GMT) |
commit | f1e2daea79e96a50cdbca1bdd1a70900e1af5da1 (patch) | |
tree | 074be95504e4d9b9a5f7d7752db8c51ac0283ccd /drivers/gpu/drm/i915/intel_atomic.c | |
parent | 70a101f8639a712576c3ca1d910564c7e2ec91d8 (diff) | |
download | linux-f1e2daea79e96a50cdbca1bdd1a70900e1af5da1.tar.xz |
drm/i915: Clear crtc atomic flags at beginning of transaction
Once we have full atomic modeset, these kind of flags should be in a
real intel_crtc_state that's tracked properly. In the meantime, make
sure we clear out any old flags at the beginning of a transaction so
that we don't wind up seeing leftover flags from old transactions that
were checked, but never went to the commit step. At the moment, a
failed check or prepare could leave stale flags behind that interfere
with the next atomic transaction.
v2: Just do a memset; the series this patch was originally part of
placed additional fields into the structure that shouldn't be
cleared, but that's no longer the case.
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_atomic.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_atomic.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c index 3903b90..b4ea676 100644 --- a/drivers/gpu/drm/i915/intel_atomic.c +++ b/drivers/gpu/drm/i915/intel_atomic.c @@ -76,6 +76,8 @@ int intel_atomic_check(struct drm_device *dev, state->allow_modeset = false; for (i = 0; i < ncrtcs; i++) { struct intel_crtc *crtc = to_intel_crtc(state->crtcs[i]); + if (crtc) + memset(&crtc->atomic, 0, sizeof(crtc->atomic)); if (crtc && crtc->pipe != nuclear_pipe) not_nuclear = true; } |