summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
diff options
context:
space:
mode:
authorJun Lei <Jun.Lei@amd.com>2019-05-13 15:09:13 -0400
committerAlex Deucher <alexander.deucher@amd.com>2019-06-22 09:34:13 -0500
commit3979efcec6272848fca96496c53096f6ee8aa32f (patch)
treed08bfb3831bd99ddd98cf425d948e2709e8cbcdd /drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
parenta746a2585542179bf9ec37c5243a10a6490ba41d (diff)
drm/amd/display: Add missing VM conversion from hw values
[why] VM implemenation is missing conversion from HW values in hubbub DM not passing actual PTB during flip [how] add proper HW conversion from logical values fix cases where we programmed VA even though we are in PA plumb in PTB from DM Signed-off-by: Jun Lei <Jun.Lei@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
index 914071393d1c..2cbffe2809b6 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
@@ -1631,8 +1631,9 @@ static void dcn20_update_plane_addr(const struct dc *dc, struct pipe_ctx *pipe_c
plane_state->address.page_table_base.quad_part,
pipe_ctx->pipe_idx);
- // Call hubbub to program PTB of VMID
- if (dc->res_pool->hubbub->funcs->setup_vmid_ptb)
+ // Call hubbub to program PTB of VMID only if its VA
+ // PA PTB is a one-time setup at init
+ if (vmid > 0 && dc->res_pool->hubbub->funcs->setup_vmid_ptb)
dc->res_pool->hubbub->funcs->setup_vmid_ptb(dc->res_pool->hubbub,
plane_state->address.page_table_base.quad_part,
vmid);