aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorWenjing Liu <wenjing.liu@amd.com>2021-09-13 11:25:56 -0400
committerAlex Deucher <alexander.deucher@amd.com>2021-09-28 09:30:08 -0400
commitb0d8889006037a7b5a52a9fdad78273406fa34ce (patch)
treec3e66b8a98bcf2336d0a6a7cca3264ab3d237a7a
parentdrm/amdgpu: correct initial cp_hqd_quantum for gfx9 (diff)
downloadwireguard-linux-b0d8889006037a7b5a52a9fdad78273406fa34ce.tar.xz
wireguard-linux-b0d8889006037a7b5a52a9fdad78273406fa34ce.zip
drm/amd/display: use correct vpg instance for 128b/132b encoding
[why] 128b/132b uses the vpg instance assigned to hpo dp stream encoder. The current vpg used is assigned to dio stream encoder. This is incorrect and cause display black screen because the actual vpg is powered off. Reviewed-by: Michael Strauss <michael.strauss@amd.com> Acked-by: Anson Jacob <Anson.Jacob@amd.com> Signed-off-by: Wenjing Liu <wenjing.liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index 2bd38d19a447..cab7993b4cc5 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -3608,6 +3608,9 @@ void core_link_enable_stream(
#if defined(CONFIG_DRM_AMD_DC_DCN)
enum otg_out_mux_dest otg_out_dest = OUT_MUX_DIO;
struct vpg *vpg = pipe_ctx->stream_res.stream_enc->vpg;
+
+ if (is_dp_128b_132b_signal(pipe_ctx))
+ vpg = pipe_ctx->stream_res.hpo_dp_stream_enc->vpg;
#endif
DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger);
@@ -3853,6 +3856,9 @@ void core_link_disable_stream(struct pipe_ctx *pipe_ctx)
struct dc_link *link = stream->sink->link;
#if defined(CONFIG_DRM_AMD_DC_DCN)
struct vpg *vpg = pipe_ctx->stream_res.stream_enc->vpg;
+
+ if (is_dp_128b_132b_signal(pipe_ctx))
+ vpg = pipe_ctx->stream_res.hpo_dp_stream_enc->vpg;
#endif
if (!IS_DIAG_DC(dc->ctx->dce_environment) &&