diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c index d15e0194ca10..6d9080ec74ce 100644 --- a/drivers/gpu/drm/i915/display/skl_scaler.c +++ b/drivers/gpu/drm/i915/display/skl_scaler.c @@ -951,7 +951,6 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state) struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state; int scaler_id; - int id = -1; /* find scaler attached to this pipe */ for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) { @@ -961,8 +960,6 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state) if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | PS_BINDING_PIPE)) continue; - id = scaler_id; - if (scaler_has_casf(display, scaler_id)) intel_casf_sharpness_get_config(crtc_state); @@ -981,8 +978,11 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state) break; } - scaler_state->scaler_id = id; - if (id >= 0) + if (scaler_id == crtc->num_scalers) + return; + + scaler_state->scaler_id = scaler_id; + if (scaler_id >= 0) scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX); else scaler_state->scaler_users &= ~(1 << SKL_CRTC_INDEX);