]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dmc: Extract dmc_evt_ctl_disable()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 12 May 2025 10:33:55 +0000 (13:33 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 16 May 2025 08:31:11 +0000 (11:31 +0300)
We have two copies of the code to generate the "disable this event"
value for the DMC_EVT_CTL registers. Extract to a helper.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250512103358.15724-5-ville.syrjala@linux.intel.com
Reviewed-by: Luca Coelho <luciano.coeho@intel.com>
drivers/gpu/drm/i915/display/intel_dmc.c

index e9aee3d5daf690f9ec0b92af1334796706165cb2..af1854cc6d1484deca0ddeef8cf1afeaea3c2b45 100644 (file)
@@ -539,6 +539,14 @@ void intel_dmc_disable_pipe(struct intel_display *display, enum pipe pipe)
        }
 }
 
+static u32 dmc_evt_ctl_disable(void)
+{
+       return REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
+                             DMC_EVT_CTL_TYPE_EDGE_0_1) |
+               REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
+                              DMC_EVENT_FALSE);
+}
+
 /**
  * intel_dmc_block_pkgc() - block PKG C-state
  * @display: display instance
@@ -578,10 +586,7 @@ void intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank(struct intel_display
                        REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
                                       PIPEDMC_EVENT_VBLANK);
        else
-               val = REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
-                                    DMC_EVENT_FALSE) |
-                       REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
-                                      DMC_EVT_CTL_TYPE_EDGE_0_1);
+               val = dmc_evt_ctl_disable();
 
        intel_de_write(display, MTL_PIPEDMC_EVT_CTL_4(pipe),
                       val);
@@ -638,10 +643,7 @@ static u32 dmc_mmiodata(struct intel_display *display,
        if (disable_dmc_evt(display, dmc_id,
                            dmc->dmc_info[dmc_id].mmioaddr[i],
                            dmc->dmc_info[dmc_id].mmiodata[i]))
-               return REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
-                                     DMC_EVT_CTL_TYPE_EDGE_0_1) |
-                       REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
-                                      DMC_EVENT_FALSE);
+               return dmc_evt_ctl_disable();
        else
                return dmc->dmc_info[dmc_id].mmiodata[i];
 }