Commit bbc49fc0 authored by Wayne Lin's avatar Wayne Lin Committed by Alex Deucher

drm/amd/display: Avoid get/put vblank when stream disabled

[Why]
amdgpu_dm_crtc_set_crc_source() will call
amdgpu_dm_crtc_configure_crc_source() to enable/disable CRC
generation. However, configuration will be deferred to stream enabled.
If stream is not enabled, current flow will still try to get/put vblank
refcount.

[How]
Return EINVAL to skip actions on vblank refcount when stream is not
enabled.
Signed-off-by: default avatarWayne Lin <Wayne.Lin@amd.com>
Reviewed-by: default avatarChao-kai Wang <Stylon.Wang@amd.com>
Acked-by: default avatarStylon Wang <stylon.wang@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 67c268a5
...@@ -9036,8 +9036,9 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) ...@@ -9036,8 +9036,9 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
} }
if (configure_crc) if (configure_crc)
amdgpu_dm_crtc_configure_crc_source( if (amdgpu_dm_crtc_configure_crc_source(
crtc, dm_new_crtc_state, cur_crc_src); crtc, dm_new_crtc_state, cur_crc_src))
DRM_DEBUG_DRIVER("Failed to configure crc source");
#endif #endif
} }
} }
......
...@@ -176,7 +176,7 @@ int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc, ...@@ -176,7 +176,7 @@ int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc,
/* Configuration will be deferred to stream enable. */ /* Configuration will be deferred to stream enable. */
if (!stream_state) if (!stream_state)
return 0; return -EINVAL;
mutex_lock(&adev->dm.dc_lock); mutex_lock(&adev->dm.dc_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment