drm/amd/display: Fix to be able to stop crc calculation

[ Upstream commit 02ce73b01e ]

[Why]
Find out when we try to disable CRC calculation,
crc generation is still enabled. Main reason is
that dc_stream_configure_crc() will never get
called when the source is AMDGPU_DM_PIPE_CRC_SOURCE_NONE.

[How]
Add checking condition that when source is
AMDGPU_DM_PIPE_CRC_SOURCE_NONE, we should also call
dc_stream_configure_crc() to disable crc calculation.
Also, clean up crc window when disable crc calculation.

Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Wayne Lin 2020-11-24 19:57:03 +08:00 committed by Greg Kroah-Hartman
parent 0a3be22a90
commit 3970a9851f

View file

@ -113,7 +113,7 @@ int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc,
mutex_lock(&adev->dm.dc_lock); mutex_lock(&adev->dm.dc_lock);
/* Enable CRTC CRC generation if necessary. */ /* Enable CRTC CRC generation if necessary. */
if (dm_is_crc_source_crtc(source)) { if (dm_is_crc_source_crtc(source) || source == AMDGPU_DM_PIPE_CRC_SOURCE_NONE) {
if (!dc_stream_configure_crc(stream_state->ctx->dc, if (!dc_stream_configure_crc(stream_state->ctx->dc,
stream_state, enable, enable)) { stream_state, enable, enable)) {
ret = -EINVAL; ret = -EINVAL;