drm/i915/scaler: Add and compute scaling factors
authorMitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Mon, 20 Jan 2025 17:22:02 +0000 (22:52 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Fri, 24 Jan 2025 02:20:31 +0000 (07:50 +0530)
Add scaling factors to scaler_state for a particular scaler user.
These factors will be used later to compute scaler prefill latency.
Currently, only plane scaling factors are stored, but the same members
can later be extended to store pipe scaling factors as well.

--v2:
- Rephrase commit message. [Ankit]
- Corrects typos. [Ankit]

Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250120172209.188488-2-mitulkumar.ajitkumar.golani@intel.com
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/skl_scaler.c

index 96429201b8a01b660ee0849cb76eda45eaa80a33..cb51b7936f9338caaf14b1c6f7bbcc4327da4ef1 100644 (file)
@@ -711,6 +711,8 @@ struct intel_initial_plane_config {
 struct intel_scaler {
        u32 mode;
        bool in_use;
+       int hscale;
+       int vscale;
 };
 
 struct intel_crtc_scaler_state {
index 515196e03b9372ff8e5072f51b29e2c466a87907..b960cba31043cccdeb5ff092fde5734dbc15e28b 100644 (file)
@@ -434,6 +434,9 @@ static int intel_atomic_setup_scaler(struct intel_crtc_scaler_state *scaler_stat
 
                        return -EINVAL;
                }
+
+               scaler_state->scalers[*scaler_id].hscale = hscale;
+               scaler_state->scalers[*scaler_id].vscale = vscale;
        }
 
        drm_dbg_kms(display->drm, "[CRTC:%d:%s] attached scaler id %u.%u to %s:%d\n",