From: Ville Syrjälä <[email protected]> When intel_atomic_setup_scaler() is called for a plane scaler it first computes the scale factors correctly, and then (if pfit is enabled on the pipe) it overwrites them with the pfit scale factors.
Skip the pfit scaler stuff when intel_atomic_setup_scaler() is called for a plane scaler (plane_state != NULL). Reviewed-by: Luca Coelho <[email protected]> Cc: Mitul Golani <[email protected]> Fixes: 9217f9aaef62 ("drm/i915/scaler: Compute scaling factors for pipe scaler") Signed-off-by: Ville Syrjälä <[email protected]> --- drivers/gpu/drm/i915/display/skl_scaler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c index d29efcbf2319..640c65818f8a 100644 --- a/drivers/gpu/drm/i915/display/skl_scaler.c +++ b/drivers/gpu/drm/i915/display/skl_scaler.c @@ -464,7 +464,7 @@ static int intel_atomic_setup_scaler(struct intel_crtc_state *crtc_state, } } - if (crtc_state->pch_pfit.enabled) { + if (!plane_state && crtc_state->pch_pfit.enabled) { struct drm_rect src; int max_hscale, max_vscale; -- 2.49.1
