Message ID | 1459475198-30094-7-git-send-email-matthew.d.roper@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Op 01-04-16 om 03:46 schreef Matt Roper: > We currently only setup intel_state->active_crtcs if we plan to modify > it and write the modification back to dev_priv. Let's ensure that > this value is always valid, even when it isn't changing as part of an > atomic transaction. It should be noted that make a note that active_crtcs is not completely reliable when connection_mutex is not taken. A parallel modeset may change this value. That said, looks like patch 9/16 fixes this.
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e6b5ee5..ab1fc3d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13185,7 +13185,6 @@ static int intel_modeset_checks(struct drm_atomic_state *state) } intel_state->modeset = true; - intel_state->active_crtcs = dev_priv->active_crtcs; for_each_crtc_in_state(state, crtc, crtc_state, i) { if (crtc_state->active) @@ -13281,6 +13280,8 @@ static int intel_atomic_check(struct drm_device *dev, if (ret) return ret; + intel_state->active_crtcs = dev_priv->active_crtcs; + for_each_crtc_in_state(state, crtc, crtc_state, i) { struct intel_crtc_state *pipe_config = to_intel_crtc_state(crtc_state);
We currently only setup intel_state->active_crtcs if we plan to modify it and write the modification back to dev_priv. Let's ensure that this value is always valid, even when it isn't changing as part of an atomic transaction. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- drivers/gpu/drm/i915/intel_display.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)