[PATCH 4/7] drm/i915/dmc: Extract dmc_evt_ctl_disable()

Luca Coelho luca at coelho.fi
Tue May 13 11:24:38 UTC 2025


On Mon, 2025-05-12 at 13:33 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> 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 at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dmc.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 49cbb83b2bbe..ec940f837427 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -536,6 +536,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);
> +}
> +

This could even be a macro.  And the name seems a bit misleading to me,
because it sounds like "disable" is an action, but the function only
returns the values used to disable.


>  /**
>   * intel_dmc_block_pkgc() - block PKG C-state
>   * @display: display instance
> @@ -575,10 +583,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);
> @@ -635,10 +640,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];
>  }

...but that's a nitpick, so:

Reviewed-by: Luca Coelho <luciano.coeho at intel.com>

--
Cheers,
Luca.


More information about the Intel-gfx mailing list