[Intel-gfx] [PATCH v2] drm/i915/dmc: Load DMC on MTL

Matt Roper matthew.d.roper at intel.com
Tue Mar 7 19:56:41 UTC 2023


On Tue, Mar 07, 2023 at 04:51:11PM -0300, Gustavo Sousa wrote:
> From: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep at intel.com>
> 
> Add support to load DMC on MTL.
> 
> According to the spec and based on tests done on real hardware, 0x7000
> is a reasonable size limit that covers each possible payload.
> 
> v2:
>   - Tighten payload size limit. (Matt, Rodrigo)
>   - Use a better name for the defined payload limit. (Rodrigo)
> 
> Signed-off-by: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep at intel.com>
> Signed-off-by: Gustavo Sousa <gustavo.sousa at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>

Reviewed-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dmc.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 6b162f77340e..d84cf9237b9c 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -89,10 +89,13 @@ static struct intel_dmc *i915_to_dmc(struct drm_i915_private *i915)
>  	__stringify(major) "_"			\
>  	__stringify(minor) ".bin"
>  
> +#define XELPDP_DMC_MAX_FW_SIZE		0x7000
>  #define DISPLAY_VER13_DMC_MAX_FW_SIZE	0x20000
> -
>  #define DISPLAY_VER12_DMC_MAX_FW_SIZE	ICL_DMC_MAX_FW_SIZE
>  
> +#define MTL_DMC_PATH			DMC_PATH(mtl)
> +MODULE_FIRMWARE(MTL_DMC_PATH);
> +
>  #define DG2_DMC_PATH			DMC_LEGACY_PATH(dg2, 2, 08)
>  MODULE_FIRMWARE(DG2_DMC_PATH);
>  
> @@ -979,7 +982,10 @@ void intel_dmc_init(struct drm_i915_private *i915)
>  
>  	INIT_WORK(&dmc->work, dmc_load_work_fn);
>  
> -	if (IS_DG2(i915)) {
> +	if (IS_METEORLAKE(i915)) {
> +		dmc->fw_path = MTL_DMC_PATH;
> +		dmc->max_fw_size = XELPDP_DMC_MAX_FW_SIZE;
> +	} else if (IS_DG2(i915)) {
>  		dmc->fw_path = DG2_DMC_PATH;
>  		dmc->max_fw_size = DISPLAY_VER13_DMC_MAX_FW_SIZE;
>  	} else if (IS_ALDERLAKE_P(i915)) {
> -- 
> 2.39.2
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation


More information about the Intel-gfx mailing list