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@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > 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