mirror of https://gitee.com/openkylin/linux.git
drm/i915: Move single buffered plane register writes to the end
The plane color correction registers are single buffered. So ideally we would write them at the start of vblank just after the double buffered plane registers have been latched. Since we have no convenient way to do that for now let's at least move the single buffered register writes to happen after the double buffered registers have been written. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181114210729.16185-3-ville.syrjala@linux.intel.com Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
This commit is contained in:
parent
83234d13f9
commit
019575a58c
|
@ -824,8 +824,6 @@ vlv_update_plane(struct intel_plane *plane,
|
|||
|
||||
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
|
||||
|
||||
vlv_update_clrc(plane_state);
|
||||
|
||||
I915_WRITE_FW(SPSTRIDE(pipe, plane_id),
|
||||
plane_state->color_plane[0].stride);
|
||||
I915_WRITE_FW(SPPOS(pipe, plane_id), (crtc_y << 16) | crtc_x);
|
||||
|
@ -853,6 +851,8 @@ vlv_update_plane(struct intel_plane *plane,
|
|||
I915_WRITE_FW(SPSURF(pipe, plane_id),
|
||||
intel_plane_ggtt_offset(plane_state) + sprsurf_offset);
|
||||
|
||||
vlv_update_clrc(plane_state);
|
||||
|
||||
spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue