[Intel-gfx] [PATCH 13/21] drm/i915: Preserve scaler state when clearing crtc_state
Daniel Vetter
daniel at ffwll.ch
Tue Mar 17 07:17:07 PDT 2015
On Sat, Mar 14, 2015 at 10:55:38PM -0700, Chandra Konduru wrote:
> crtc_state is cleared during mode set which wipes out complete
> scaler state too. This is causing issues. To fix, ensure scaler
> state is preserved because it contains not only crtc
> scaler usage, but also planes using scalers on this crtc.
>
> Signed-off-by: Chandra Konduru <chandra.konduru at intel.com>
I guess this is going to conflict with Ander's crtc state series. But
since you're signed up to review that I guess you will know what needs to
be changed here. Hopefully Ander's series will just take care of this.
-Daniel
> ---
> drivers/gpu/drm/i915/intel_display.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index e07c24e..9c3c6b1 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10617,11 +10617,14 @@ static void
> clear_intel_crtc_state(struct intel_crtc_state *crtc_state)
> {
> struct drm_crtc_state tmp_state;
> + struct intel_crtc_scaler_state scaler_state;
>
> - /* Clear only the intel specific part of the crtc state */
> + /* Clear only the intel specific part of the crtc state excluding scalers */
> tmp_state = crtc_state->base;
> + scaler_state = crtc_state->scaler_state;
> memset(crtc_state, 0, sizeof *crtc_state);
> crtc_state->base = tmp_state;
> + crtc_state->scaler_state = scaler_state;
> }
>
> static int
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list