Add enum to track scaler user, this differenciates between
the current user of scaler, either plane scaler/pipe scaler or
in case no scaler is used.

Signed-off-by: Mitul Golani <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display_types.h | 7 +++++++
 drivers/gpu/drm/i915/display/skl_scaler.c          | 1 +
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h 
b/drivers/gpu/drm/i915/display/intel_display_types.h
index 28b2861df42b..f39215c70ca7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -707,11 +707,18 @@ struct intel_initial_plane_config {
        u8 rotation;
 };
 
+enum scaler_users {
+       SKL_NO_SCALER,
+       SKL_PIPE_SCALER,
+       SKL_PLANE_SCALER,
+};
+
 struct intel_scaler {
        u32 mode;
        bool in_use;
        int hscale;
        int vscale;
+       int user;
 };
 
 struct intel_crtc_scaler_state {
diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c 
b/drivers/gpu/drm/i915/display/skl_scaler.c
index e00c6830ef65..e113c6ba4de7 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -426,6 +426,7 @@ static int intel_atomic_setup_scaler(struct 
intel_crtc_scaler_state *scaler_stat
 
                scaler_state->scalers[*scaler_id].hscale = hscale;
                scaler_state->scalers[*scaler_id].vscale = vscale;
+               scaler_state->scalers[*scaler_id].user = SKL_PLANE_SCALER;
        }
 
        drm_dbg_kms(display->drm, "Attached scaler id %u.%u to %s:%d\n",
-- 
2.46.0

Reply via email to