summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLo-an Chen <lo-an.chen@amd.com>2025-03-10 14:52:22 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:41:56 +0200
commit1c5de38938a7e2f977bdc6c9161ac4b81ae2fae2 (patch)
treef000247e746dd4525dd01e2bdea8fccecb8ddf17
parent77ea648df20568198d0ce45531f93813f83b5c92 (diff)
downloadlinux-1c5de38938a7e2f977bdc6c9161ac4b81ae2fae2.tar.gz
linux-1c5de38938a7e2f977bdc6c9161ac4b81ae2fae2.tar.bz2
linux-1c5de38938a7e2f977bdc6c9161ac4b81ae2fae2.zip
drm/amd/display: Fix incorrect fw_state address in dmub_srv
[ Upstream commit d60073294cc3b46b73d6de247e0e5ae8684a6241 ] [WHY] The fw_state in dmub_srv was assigned with wrong address. The address was pointed to the firmware region. [HOW] Fix the firmware state by using DMUB_DEBUG_FW_STATE_OFFSET in dmub_cmd.h. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Lo-an Chen <lo-an.chen@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit f57b38ac85a01bf03020cc0a9761d63e5c0ce197) Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c
index a3f3ff5d49ac..9d2250d84f29 100644
--- a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c
+++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c
@@ -708,7 +708,7 @@ enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub,
cw6.region.base = DMUB_CW6_BASE;
cw6.region.top = cw6.region.base + fw_state_fb->size;
- dmub->fw_state = fw_state_fb->cpu_addr;
+ dmub->fw_state = (void *)((uintptr_t)(fw_state_fb->cpu_addr) + DMUB_DEBUG_FW_STATE_OFFSET);
region6.offset.quad_part = shared_state_fb->gpu_addr;
region6.region.base = DMUB_CW6_BASE;