[Intel-gfx] [PATCH] drm/i915/dmc: Do not try loading wrong DMC version

Matt Roper matthew.d.roper at intel.com
Wed Feb 23 21:15:48 UTC 2022


On Wed, Feb 23, 2022 at 01:09:33PM -0800, Lucas De Marchi wrote:
> Checking by >= DISPLAY_VER(12) made sense when the support for Tiger
> Lake was added. However now it only leads to wrong behavior when adding
> more platforms since it's expected they either don't have DMC to load
> or they have their own blob.
> 
> Logs from DG2 loading on a CFL host, without having a DMC firmware
> defined:
> 
> 	<6>[    0.000000] DMI: Intel Corporation CoffeeLake Client Platform/CoffeeLake S UDIMM RVP, BIOS CNLSFWR1.R00.X220.B00.2103302221 03/30/2021
> 	...
> 	<6>[    2.706607] pci 0000:03:00.0: [8086:56a0] type 00 class 0x030000
> 	...
> 	<7>[    6.340397] i915 0000:03:00.0: [drm:intel_dmc_ucode_init [i915]] Loading i915/tgl_dmc_ver2_12.bin
> 	<7>[    6.341841] i915 0000:03:00.0: [drm:intel_fbc_init [i915]] Sanitized enable_fbc value: 1
> 	<3>[    6.342432] genirq: Flags mismatch irq 0. 00000080 (i915) vs. 00015a00 (timer)
> 	<6>[    6.346283] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
> 	<3>[    6.385756] i915 0000:03:00.0: Device initialization failed (-16)
> 	<5>[    6.385778] i915 0000:03:00.0: Please file a bug on drm/i915; see https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs for details.
> 	<4>[    6.385782] i915: probe of 0000:03:00.0 failed with error -16
> 
> TGL is the only platform left with DISPLAY_VER() == 12 that is not
> handled already in the if/else ladder, so handle it specifically.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

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

> ---
>  drivers/gpu/drm/i915/display/intel_dmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 7616a3906b9e..133476be6d28 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -697,7 +697,7 @@ void intel_dmc_ucode_init(struct drm_i915_private *dev_priv)
>  		dmc->fw_path = RKL_DMC_PATH;
>  		dmc->required_version = RKL_DMC_VERSION_REQUIRED;
>  		dmc->max_fw_size = DISPLAY_VER12_DMC_MAX_FW_SIZE;
> -	} else if (DISPLAY_VER(dev_priv) >= 12) {
> +	} else if (IS_TIGERLAKE(dev_priv)) {
>  		dmc->fw_path = TGL_DMC_PATH;
>  		dmc->required_version = TGL_DMC_VERSION_REQUIRED;
>  		dmc->max_fw_size = DISPLAY_VER12_DMC_MAX_FW_SIZE;
> -- 
> 2.35.1
> 

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795


More information about the Intel-gfx mailing list