[Intel-gfx] [PATCH 10/42] drm/i915: make plane helpers fully atomic
Ville Syrjälä
ville.syrjala at linux.intel.com
Tue May 12 06:43:09 PDT 2015
On Tue, May 12, 2015 at 03:33:12PM +0200, Maarten Lankhorst wrote:
> Op 12-05-15 om 10:18 schreef Daniel Vetter:
> > On Mon, May 11, 2015 at 04:24:46PM +0200, Maarten Lankhorst wrote:
> >> @@ -155,24 +163,9 @@ static int intel_plane_atomic_check(struct drm_plane *plane,
> >> /* Clip all planes to CRTC size, or 0x0 if CRTC is disabled */
> >> intel_state->clip.x1 = 0;
> >> intel_state->clip.y1 = 0;
> >> - intel_state->clip.x2 =
> >> - crtc_state->base.active ? crtc_state->pipe_src_w : 0;
> >> - intel_state->clip.y2 =
> >> - crtc_state->base.active ? crtc_state->pipe_src_h : 0;
> >> -
> >> - /*
> >> - * Disabling a plane is always okay; we just need to update
> >> - * fb tracking in a special way since cleanup_fb() won't
> >> - * get called by the plane helpers.
> >> - */
> >> - if (state->fb == NULL && plane->state->fb != NULL) {
> >> - /*
> >> - * 'prepare' is never called when plane is being disabled, so
> >> - * we need to handle frontbuffer tracking as a special case
> >> - */
> >> - intel_crtc->atomic.disabled_planes |=
> >> - (1 << drm_plane_index(plane));
> >> - }
> >> + drm_crtc_get_hv_timing(&crtc_state->mode,
> >> + &intel_state->clip.x2,
> >> + &intel_state->clip.y2);
> > Imo this is obfuscating things a bit, why not just unconditionally copy
> > pipe_src_w/h to clip.x/y2? get_hv_timing is for the pipe size, which on
> > most platforms must match the primary plane window except for gen2 and
> > gen9+.
> pipe_src_* is calculated in the same way,
Except we may end up rounding pipe_src_w down if we have
double-wide/dual link lvds etc., and we definitely need to clip the
planes against the real pipe src size.
> and at the time of plane validation the crtc validation hasn't run yet,
> so pipe_src_* contains outdated values which break in interesting ways.
Just check crtc first. Or actually we probably need pre + post crtc
checks since we want to do wm compute and such after the planes have
been handled.
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list