diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-05-09 03:31:25 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-05-17 16:48:45 -0400 |
commit | af4a879e0cb29b2cf35ff7559d32304783012534 (patch) | |
tree | 603abc00f6a1dd725714ee44023718872644b7de | |
parent | 1ecc1c6cb7d3549d8854b0d6ac5a86a622ca6fa3 (diff) |
drm/i915: Simplify control flow in intel_atomic_check a bit.
- Unconditionally add plane states. Core helpers would have done this
in drm_atomic_helper_check_modeset, doing it once more won't cause
harm and is less fragile.
- Simplify the continue logic when disabling a pipe.
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1462779085-2458-1-git-send-email-daniel.vetter@ffwll.ch
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b8a0abaed325..bcf7cfcc7685 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -13351,14 +13351,13 @@ static int intel_atomic_check(struct drm_device *dev, | |||
13351 | if (crtc_state->mode.private_flags != crtc->state->mode.private_flags) | 13351 | if (crtc_state->mode.private_flags != crtc->state->mode.private_flags) |
13352 | crtc_state->mode_changed = true; | 13352 | crtc_state->mode_changed = true; |
13353 | 13353 | ||
13354 | if (!crtc_state->enable) { | 13354 | if (!needs_modeset(crtc_state)) |
13355 | if (needs_modeset(crtc_state)) | ||
13356 | any_ms = true; | ||
13357 | continue; | 13355 | continue; |
13358 | } | ||
13359 | 13356 | ||
13360 | if (!needs_modeset(crtc_state)) | 13357 | if (!crtc_state->enable) { |
13358 | any_ms = true; | ||
13361 | continue; | 13359 | continue; |
13360 | } | ||
13362 | 13361 | ||
13363 | /* FIXME: For only active_changed we shouldn't need to do any | 13362 | /* FIXME: For only active_changed we shouldn't need to do any |
13364 | * state recomputation at all. */ | 13363 | * state recomputation at all. */ |
@@ -13382,13 +13381,12 @@ static int intel_atomic_check(struct drm_device *dev, | |||
13382 | to_intel_crtc_state(crtc_state)->update_pipe = true; | 13381 | to_intel_crtc_state(crtc_state)->update_pipe = true; |
13383 | } | 13382 | } |
13384 | 13383 | ||
13385 | if (needs_modeset(crtc_state)) { | 13384 | if (needs_modeset(crtc_state)) |
13386 | any_ms = true; | 13385 | any_ms = true; |
13387 | 13386 | ||
13388 | ret = drm_atomic_add_affected_planes(state, crtc); | 13387 | ret = drm_atomic_add_affected_planes(state, crtc); |
13389 | if (ret) | 13388 | if (ret) |
13390 | return ret; | 13389 | return ret; |
13391 | } | ||
13392 | 13390 | ||
13393 | intel_dump_pipe_config(to_intel_crtc(crtc), pipe_config, | 13391 | intel_dump_pipe_config(to_intel_crtc(crtc), pipe_config, |
13394 | needs_modeset(crtc_state) ? | 13392 | needs_modeset(crtc_state) ? |