]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Clear shared dmub firmware state on init
authorRoman Li <roman.li@amd.com>
Mon, 6 May 2024 19:34:55 +0000 (15:34 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 20 May 2024 20:20:24 +0000 (16:20 -0400)
[Why]
Reset the shared dmub firmware region on dmub hw init to start with
known state.

[How]
Memset the shared region to 0 in dmub_hw_init().

Suggested-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index b2e37f6bea5b05190514cbe1b9161bf125545c5e..3bcfc95ad36a5aaed2a9af25f832a1919601816d 100644 (file)
@@ -1207,6 +1207,9 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
        memset(fb_info->fb[DMUB_WINDOW_6_FW_STATE].cpu_addr, 0,
               fb_info->fb[DMUB_WINDOW_6_FW_STATE].size);
 
+       memset(fb_info->fb[DMUB_WINDOW_SHARED_STATE].cpu_addr, 0,
+              fb_info->fb[DMUB_WINDOW_SHARED_STATE].size);
+
        /* Initialize hardware. */
        memset(&hw_params, 0, sizeof(hw_params));
        hw_params.fb_base = adev->gmc.fb_start;