[Intel-gfx] [PATCH] drm/i915: Check for I915_MODE_FLAG_INHERITED before drm_atomic_helper_check_modeset
Lofstedt, Marta
marta.lofstedt at intel.com
Fri Mar 2 10:14:54 UTC 2018
There is no open cibuglog bug for below issue. However, if a developer believe that patch didn't cause the issue, they can just mail or ping me on IRC and I'll create a cibuglog issue and FDO bug to cover it.
In developers we trust.
/Marta
> -----Original Message-----
> From: Jani Nikula [mailto:jani.nikula at linux.intel.com]
> Sent: Friday, March 2, 2018 11:37 AM
> To: Lyude Paul <lyude at redhat.com>; Maarten Lankhorst
> <maarten.lankhorst at linux.intel.com>; intel-gfx at lists.freedesktop.org
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>; Lofstedt, Marta
> <marta.lofstedt at intel.com>; Hiler, Arkadiusz <arkadiusz.hiler at intel.com>;
> Sarvela, Tomi P <tomi.p.sarvela at intel.com>; Martin Peres
> <martin.peres at linux.intel.com>
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: Check for
> I915_MODE_FLAG_INHERITED before drm_atomic_helper_check_modeset
>
> On Thu, 01 Mar 2018, Lyude Paul <lyude at redhat.com> wrote:
> > Pushed with some small whitespace changes to make sparse happy,
> thanks!
>
> Please do not push patches before they've passed CI. This patch gives [1]:
>
> [ 281.167033] i915 0000:00:02.0: DP-2: EDID is invalid:
> ...
> [ 282.806393] [drm:intel_enable_shared_dpll [i915]] *ERROR* DPLL 1 not
> locked
>
> I don't know if this is caused by the patch, but since we get this in the BAT
> round, the full IGT testing wasn't even run here.
>
>
> BR,
> Jani.
>
>
> [1] https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8102/fi-skl-
> 6700k2/igt at kms_chamelium@common-hpd-after-suspend.html
> >
> > 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]");
>
> --
> Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list