[Intel-gfx] [PATCH] drm/i915: Check for I915_MODE_FLAG_INHERITED before drm_atomic_helper_check_modeset
Lyude Paul
lyude at redhat.com
Wed Feb 21 23:12:51 UTC 2018
Nice, this is a no-brainer
Reviewed-by: Lyude Paul <lyude at redhat.com>
On Wed, 2018-02-21 at 10:28 +0100, Maarten Lankhorst wrote:
> Moving the check upwards will mean we we no longer have to add planes
> and connectors manually, because everything is handled correctly by
> drm_atomic_helper_check_modeset() as intended.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Lyude Paul <lyude at redhat.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/intel_display.c | 20 +++++---------------
> 1 file changed, 5 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> index 65be7af7f647..c5cc9022d545 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11927,6 +11927,11 @@ static int intel_atomic_check(struct drm_device
> *dev,
> int ret, i;
> bool any_ms = false;
>
> + /* Catch I915_MODE_FLAG_INHERITED */
> + for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state,
> crtc_state, i)
> + if (crtc_state->mode.private_flags != old_crtc_state-
> >mode.private_flags)
> + crtc_state->mode_changed = true;
> +
> ret = drm_atomic_helper_check_modeset(dev, state);
> if (ret)
> return ret;
> @@ -11935,10 +11940,6 @@ static int intel_atomic_check(struct drm_device
> *dev,
> struct intel_crtc_state *pipe_config =
> to_intel_crtc_state(crtc_state);
>
> - /* Catch I915_MODE_FLAG_INHERITED */
> - if (crtc_state->mode.private_flags != old_crtc_state-
> >mode.private_flags)
> - crtc_state->mode_changed = true;
> -
> if (!needs_modeset(crtc_state))
> continue;
>
> @@ -11947,13 +11948,6 @@ static int intel_atomic_check(struct drm_device
> *dev,
> continue;
> }
>
> - /* FIXME: For only active_changed we shouldn't need to do
> any
> - * state recomputation at all. */
> -
> - ret = drm_atomic_add_affected_connectors(state, crtc);
> - if (ret)
> - return ret;
> -
> ret = intel_modeset_pipe_config(crtc, pipe_config);
> if (ret) {
> intel_dump_pipe_config(to_intel_crtc(crtc),
> @@ -11972,10 +11966,6 @@ static int intel_atomic_check(struct drm_device
> *dev,
> if (needs_modeset(crtc_state))
> any_ms = true;
>
> - ret = drm_atomic_add_affected_planes(state, crtc);
> - if (ret)
> - return ret;
> -
> intel_dump_pipe_config(to_intel_crtc(crtc), pipe_config,
> needs_modeset(crtc_state) ?
> "[modeset]" : "[fastset]");
--
Cheers,
Lyude Paul
More information about the Intel-gfx
mailing list