aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
diff options
context:
space:
mode:
authorWayne Lin <Wayne.Lin@amd.com>2024-08-06 17:21:24 +0800
committerAlex Deucher <alexander.deucher@amd.com>2024-12-10 10:31:30 -0500
commit37a8f9b0c97178f72fdea83aa99e03579673a2e3 (patch)
tree10b01032eb9976d748344190e9a46858b932139f /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
parentdrm/amd/display: Refactor dcn31_panel_construct to avoid assert (diff)
downloadlinux-37a8f9b0c97178f72fdea83aa99e03579673a2e3.tar.gz
linux-37a8f9b0c97178f72fdea83aa99e03579673a2e3.zip
drm/amd/display: Adjust dc_stream_forward_crc_window to accept assignment of phy_id
[Why] For mst streams under same topology, stream->link->link_enc_hw_inst are the same and hence can't distinguish the crc window setting. [How] Firstly adjust dc_stream_forward_crc_window to accept assignment of phy_id. Follow up another patch to determine the phy_id at dm layer. Reviewed-by: HaoPing Liu <haoping.liu@amd.com> Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
index f936a35fa9eb..2679ce9a0980 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
@@ -89,6 +89,7 @@ static void amdgpu_dm_set_crc_window_default(struct drm_crtc *crtc, struct dc_st
struct amdgpu_display_manager *dm = &drm_to_adev(drm_dev)->dm;
struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
bool was_activated;
+ uint8_t phy_id = stream->link->link_enc_hw_inst;
spin_lock_irq(&drm_dev->event_lock);
was_activated = acrtc->dm_irq_params.window_param.activated;
@@ -106,7 +107,7 @@ static void amdgpu_dm_set_crc_window_default(struct drm_crtc *crtc, struct dc_st
/* stop ROI update on this crtc */
flush_work(&dm->secure_display_ctxs[crtc->index].notify_ta_work);
flush_work(&dm->secure_display_ctxs[crtc->index].forward_roi_work);
- dc_stream_forward_crc_window(stream, NULL, true);
+ dc_stream_forward_crc_window(stream, NULL, phy_id, true);
}
}
@@ -175,7 +176,8 @@ amdgpu_dm_forward_crc_window(struct work_struct *work)
stream = to_amdgpu_crtc(crtc)->dm_irq_params.stream;
mutex_lock(&dm->dc_lock);
- dc_stream_forward_crc_window(stream, &secure_display_ctx->rect, false);
+ dc_stream_forward_crc_window(stream, &secure_display_ctx->rect,
+ stream->link->link_enc_hw_inst, false);
mutex_unlock(&dm->dc_lock);
}