Commit 2b897eb4 authored by Madhumitha Tolakanahalli Pradeep's avatar Madhumitha Tolakanahalli Pradeep Committed by Matt Roper
Browse files

drm/i915/dmc: Load DMC on MTL



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: default avatarMadhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
Signed-off-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230307195111.90767-1-gustavo.sousa@intel.com
parent c4298d15
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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);

@@ -995,7 +998,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)) {