]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Update dpia supported configuration
authorMeenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Thu, 22 Jan 2026 16:33:10 +0000 (11:33 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 23 Mar 2026 18:10:58 +0000 (14:10 -0400)
[Why & How]
Init a flag to track if dpia enabled previously
and update that to boot options.

Reviewed-by: Ovidiu Bunea <ovidiu.bunea@amd.com>
Signed-off-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Signed-off-by: Chuanyu Tseng <Chuanyu.Tseng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/src/dmub_dcn42.c

index 4d274b7034e890a55e991dcb7980518d88a019a8..7833a4fb7fbfe90e2af5b7607a0c6f139d510347 100644 (file)
@@ -39,13 +39,14 @@ void dmub_srv_dcn42_regs_init(struct dmub_srv *dmub, struct dc_context *ctx)
 void dmub_dcn42_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params)
 {
        union dmub_fw_boot_options boot_options = {0};
-       union dmub_fw_boot_options cur_boot_options = {0};
 
-       cur_boot_options = dmub_dcn42_get_fw_boot_option(dmub);
+       if (!dmub->dpia_supported) {
+               dmub->dpia_supported = dmub_dcn42_get_fw_boot_option(dmub).bits.enable_dpia;
+       }
 
        boot_options.bits.z10_disable = params->disable_z10;
        boot_options.bits.dpia_supported = params->dpia_supported;
-       boot_options.bits.enable_dpia = cur_boot_options.bits.enable_dpia && !params->disable_dpia;
+       boot_options.bits.enable_dpia = dmub->dpia_supported && !params->disable_dpia;
        boot_options.bits.usb4_cm_version = params->usb4_cm_version;
        boot_options.bits.dpia_hpd_int_enable_supported = params->dpia_hpd_int_enable_supported;
        boot_options.bits.power_optimization = params->power_optimization;