summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlvin Lee2019-07-04 21:17:42 +0200
committerGreg Kroah-Hartman2019-08-16 10:12:45 +0200
commitf9420bfa29f9ece0b02a5435ae95f1a48bc97723 (patch)
treeee1b0ea70a05a29ba18a9dd1d37017b7c816d044
parentdrm/amd/display: Fix dc_create failure handling and 666 color depths (diff)
downloadkernel-qcow2-linux-f9420bfa29f9ece0b02a5435ae95f1a48bc97723.tar.gz
kernel-qcow2-linux-f9420bfa29f9ece0b02a5435ae95f1a48bc97723.tar.xz
kernel-qcow2-linux-f9420bfa29f9ece0b02a5435ae95f1a48bc97723.zip
drm/amd/display: Only enable audio if speaker allocation exists
[ Upstream commit 6ac25e6d5b2fbf251e9fa2f4131d42c815b43867 ] [Why] In dm_helpers_parse_edid_caps, there is a corner case where no speakers can be allocated even though the audio mode count is greater than 0. Enabling audio when no speaker allocations exists can cause issues in the video stream. [How] Add a check to not enable audio unless one or more speaker allocations exist (since doing this can cause issues in the video stream). Signed-off-by: Alvin Lee <alvin.lee2@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_resource.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 19a951e5818a..f0d68aa7c8fc 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -1956,7 +1956,7 @@ enum dc_status resource_map_pool_resources(
/* TODO: Add check if ASIC support and EDID audio */
if (!stream->sink->converter_disable_audio &&
dc_is_audio_capable_signal(pipe_ctx->stream->signal) &&
- stream->audio_info.mode_count) {
+ stream->audio_info.mode_count && stream->audio_info.flags.all) {
pipe_ctx->stream_res.audio = find_first_free_audio(
&context->res_ctx, pool, pipe_ctx->stream_res.stream_enc->id);