]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/xe3p_lpd: Load DMC firmware
authorGustavo Sousa <gustavo.sousa@intel.com>
Wed, 5 Nov 2025 14:06:58 +0000 (11:06 -0300)
committerGustavo Sousa <gustavo.sousa@intel.com>
Thu, 6 Nov 2025 21:22:53 +0000 (18:22 -0300)
Load the DMC firmware for Xe3p_LPD.

Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
Link: https://patch.msgid.link/20251103-xe3p_lpd-basic-enabling-v3-9-00e87b510ae7@intel.com
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
drivers/gpu/drm/i915/display/intel_dmc.c

index f47b57568a75adedfc372ac2f22cfd531985fb20..236674122428047520537eb704304617cf8285b7 100644 (file)
@@ -127,6 +127,9 @@ static bool dmc_firmware_param_disabled(struct intel_display *display)
 #define DISPLAY_VER13_DMC_MAX_FW_SIZE  0x20000
 #define DISPLAY_VER12_DMC_MAX_FW_SIZE  ICL_DMC_MAX_FW_SIZE
 
+#define XE3P_LPD_DMC_PATH              DMC_PATH(xe3p_lpd)
+MODULE_FIRMWARE(XE3P_LPD_DMC_PATH);
+
 #define XE3LPD_3002_DMC_PATH           DMC_PATH(xe3lpd_3002)
 MODULE_FIRMWARE(XE3LPD_3002_DMC_PATH);
 
@@ -186,7 +189,11 @@ static const char *dmc_firmware_default(struct intel_display *display, u32 *size
 {
        const char *fw_path = NULL;
        u32 max_fw_size = 0;
-       if (DISPLAY_VERx100(display) == 3002) {
+
+       if (DISPLAY_VERx100(display) == 3500) {
+               fw_path = XE3P_LPD_DMC_PATH;
+               max_fw_size = XE2LPD_DMC_MAX_FW_SIZE;
+       } else if (DISPLAY_VERx100(display) == 3002) {
                fw_path = XE3LPD_3002_DMC_PATH;
                max_fw_size = XE2LPD_DMC_MAX_FW_SIZE;
        } else if (DISPLAY_VERx100(display) == 3000) {