Message ID | 20171102163832.15621-1-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Nov 02, 2017 at 06:38:32PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Check that the planes are in the state we expect them to be. For > now we can only check whether each plane is correctly enabled or > disabled. In the future we may want to expand the plane state > readout to support a more through verification. s/through/thorough/ > > v2: Verify all planes part of the state as long as at lest s/lest/least > one crtc is doing a modeset (Daniel) > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> With those nits fixed: Reviewed-by: James Ausmus <james.ausmus@intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index c23dad6d3c24..96e0a5fd69cf 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -11537,6 +11537,18 @@ verify_crtc_state(struct drm_crtc *crtc, > } > > static void > +intel_verify_planes(struct intel_atomic_state *state) > +{ > + struct intel_plane *plane; > + const struct intel_plane_state *plane_state; > + int i; > + > + for_each_new_intel_plane_in_state(state, plane, > + plane_state, i) > + assert_plane(plane, plane_state->base.visible); > +} > + > +static void > verify_single_dpll_state(struct drm_i915_private *dev_priv, > struct intel_shared_dpll *pll, > struct drm_crtc *crtc, > @@ -12329,6 +12341,9 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) > intel_modeset_verify_crtc(crtc, state, old_crtc_state, new_crtc_state); > } > > + if (intel_state->modeset) > + intel_verify_planes(intel_state); > + > if (intel_state->modeset && intel_can_enable_sagv(state)) > intel_enable_sagv(dev_priv); > > -- > 2.13.6 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c23dad6d3c24..96e0a5fd69cf 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -11537,6 +11537,18 @@ verify_crtc_state(struct drm_crtc *crtc, } static void +intel_verify_planes(struct intel_atomic_state *state) +{ + struct intel_plane *plane; + const struct intel_plane_state *plane_state; + int i; + + for_each_new_intel_plane_in_state(state, plane, + plane_state, i) + assert_plane(plane, plane_state->base.visible); +} + +static void verify_single_dpll_state(struct drm_i915_private *dev_priv, struct intel_shared_dpll *pll, struct drm_crtc *crtc, @@ -12329,6 +12341,9 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) intel_modeset_verify_crtc(crtc, state, old_crtc_state, new_crtc_state); } + if (intel_state->modeset) + intel_verify_planes(intel_state); + if (intel_state->modeset && intel_can_enable_sagv(state)) intel_enable_sagv(dev_priv);