diff options
author | jsg <jsg@openbsd.org> | 2020-06-22 09:49:24 +0000 |
---|---|---|
committer | jsg <jsg@openbsd.org> | 2020-06-22 09:49:24 +0000 |
commit | 749fe90a3d265187283bffa6b562e41ed15f84ba (patch) | |
tree | 280200c5a852a5fa602aa42bfade9bddaf31b059 | |
parent | drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 (diff) | |
download | wireguard-openbsd-749fe90a3d265187283bffa6b562e41ed15f84ba.tar.xz wireguard-openbsd-749fe90a3d265187283bffa6b562e41ed15f84ba.zip |
drm/amd/display: Force watermark value propagation
From Joshua Aberback
3a16e9862faff68edb43c1ec3112d62f6a391037 in linux 5.7.y/5.7.5
868149c9a072cbdc22a73ce25a487f9fbfa171ef in mainline linux
-rw-r--r-- | sys/dev/pci/drm/amd/display/dc/dcn20/dcn20_hwseq.c | 5 | ||||
-rw-r--r-- | sys/dev/pci/drm/amd/display/dc/inc/hw/dchubbub.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/amd/display/dc/dcn20/dcn20_hwseq.c b/sys/dev/pci/drm/amd/display/dc/dcn20/dcn20_hwseq.c index a023a4d59f4..c4fa13e4eaf 100644 --- a/sys/dev/pci/drm/amd/display/dc/dcn20/dcn20_hwseq.c +++ b/sys/dev/pci/drm/amd/display/dc/dcn20/dcn20_hwseq.c @@ -1478,8 +1478,11 @@ static void dcn20_program_pipe( if (pipe_ctx->update_flags.bits.odm) hws->funcs.update_odm(dc, context, pipe_ctx); - if (pipe_ctx->update_flags.bits.enable) + if (pipe_ctx->update_flags.bits.enable) { dcn20_enable_plane(dc, pipe_ctx, context); + if (dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes) + dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); + } if (pipe_ctx->update_flags.raw || pipe_ctx->plane_state->update_flags.raw || pipe_ctx->stream->update_flags.raw) dcn20_update_dchubp_dpp(dc, pipe_ctx, context); diff --git a/sys/dev/pci/drm/amd/display/dc/inc/hw/dchubbub.h b/sys/dev/pci/drm/amd/display/dc/inc/hw/dchubbub.h index f5dd0cc73c6..47a566d82d6 100644 --- a/sys/dev/pci/drm/amd/display/dc/inc/hw/dchubbub.h +++ b/sys/dev/pci/drm/amd/display/dc/inc/hw/dchubbub.h @@ -144,6 +144,8 @@ struct hubbub_funcs { void (*allow_self_refresh_control)(struct hubbub *hubbub, bool allow); void (*apply_DEDCN21_147_wa)(struct hubbub *hubbub); + + void (*force_wm_propagate_to_pipes)(struct hubbub *hubbub); }; struct hubbub { |