aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch282
1 files changed, 282 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch
new file mode 100644
index 00000000..3f83abc1
--- /dev/null
+++ b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0720-drm-amd-display-Move-audio-to-stream_res.patch
@@ -0,0 +1,282 @@
+From 8b93495cdd2e741273ad96dcd93c873a5773cf24 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Sun, 30 Jul 2017 14:59:17 -0400
+Subject: [PATCH 0720/4131] drm/amd/display: Move audio to stream_res
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i 's/pipes->audio/pipes->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i
+'s/pipe_with_clk_src->audio/pipe_with_clk_src->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i 's/ctx->audio->/ctx->stream_res\.audio->/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i 's/pipe->audio/pipe->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i 's/pipe_ctx->audio/pipe_ctx->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipe_ctx\[pipe_offset\]\.audio/pipe_ctx\[pipe_offset\]\.stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/grouped_pipes\[i\]->audio/grouped_pipes\[i\]->stream_^Cs\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/grouped_pipes\[0\]->audio/grouped_pipes\[0\]->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/grouped_pipes\[1\]->audio/grouped_pipes\[1\]->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipe_ctx\[i\]->audio/pipe_ctx\[i\]->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipe_ctx_old->audio/pipe_ctx_old->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipe_set\[j\]->audio/pipe_set\[j\]->stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipe_ctx\[i\]\.audio/pipe_ctx\[i\]\.stream_res\.audio/g'
+
+find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \
+-o -name "*.cpp" -o -name "*.hpp" | \
+xargs sed -i \
+'s/pipes\[i\]\.audio/pipes\[i\]\.stream_res\.audio/g'
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 +--
+ drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 12 ++++----
+ .../amd/display/dc/dce110/dce110_hw_sequencer.c | 32 +++++++++++-----------
+ drivers/gpu/drm/amd/display/dc/inc/core_types.h | 3 +-
+ 4 files changed, 25 insertions(+), 26 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 6a3d2ad..9665fc1 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -1305,9 +1305,9 @@ static enum dc_status enable_link(struct pipe_ctx *pipe_ctx)
+ break;
+ }
+
+- if (pipe_ctx->audio && status == DC_OK) {
++ if (pipe_ctx->stream_res.audio && status == DC_OK) {
+ /* notify audio driver for audio modes of monitor */
+- pipe_ctx->audio->funcs->az_enable(pipe_ctx->audio);
++ pipe_ctx->stream_res.audio->funcs->az_enable(pipe_ctx->stream_res.audio);
+
+ /* un-mute audio */
+ /* TODO: audio should be per stream rather than per link */
+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 31a3535..8bfaca7 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+@@ -1097,7 +1097,7 @@ bool resource_attach_surfaces_to_context(
+ free_pipe->stream_res.tg = tail_pipe->stream_res.tg;
+ free_pipe->stream_res.opp = tail_pipe->stream_res.opp;
+ free_pipe->stream_res.stream_enc = tail_pipe->stream_res.stream_enc;
+- free_pipe->audio = tail_pipe->audio;
++ free_pipe->stream_res.audio = tail_pipe->stream_res.audio;
+ free_pipe->clock_source = tail_pipe->clock_source;
+ free_pipe->top_pipe = tail_pipe;
+ tail_pipe->bottom_pipe = free_pipe;
+@@ -1481,7 +1481,7 @@ enum dc_status resource_map_pool_resources(
+ pipe_ctx->clock_source);
+
+ set_audio_in_use(&context->res_ctx, pool,
+- pipe_ctx->audio);
++ pipe_ctx->stream_res.audio);
+ }
+ }
+
+@@ -1518,7 +1518,7 @@ enum dc_status resource_map_pool_resources(
+ if (!stream->sink->converter_disable_audio &&
+ dc_is_audio_capable_signal(pipe_ctx->stream->signal) &&
+ stream->audio_info.mode_count) {
+- pipe_ctx->audio = find_first_free_audio(
++ pipe_ctx->stream_res.audio = find_first_free_audio(
+ &context->res_ctx, pool);
+
+ /*
+@@ -1526,10 +1526,10 @@ enum dc_status resource_map_pool_resources(
+ * There are asics which has number of audio
+ * resources less then number of pipes
+ */
+- if (pipe_ctx->audio)
++ if (pipe_ctx->stream_res.audio)
+ set_audio_in_use(
+ &context->res_ctx, pool,
+- pipe_ctx->audio);
++ pipe_ctx->stream_res.audio);
+ }
+
+ context->stream_status[i].primary_otg_inst = pipe_ctx->stream_res.tg->inst;
+@@ -2375,7 +2375,7 @@ bool pipe_need_reprogram(
+ if (pipe_ctx_old->stream->signal != pipe_ctx->stream->signal)
+ return true;
+
+- if (pipe_ctx_old->audio != pipe_ctx->audio)
++ if (pipe_ctx_old->stream_res.audio != pipe_ctx->stream_res.audio)
+ return true;
+
+ if (pipe_ctx_old->clock_source != pipe_ctx->clock_source
+diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+index 48d1510..ef5d496 100644
+--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+@@ -729,7 +729,7 @@ void dce110_enable_stream(struct pipe_ctx *pipe_ctx)
+ tg->funcs->set_early_control(tg, early_control);
+
+ /* enable audio only within mode set */
+- if (pipe_ctx->audio != NULL) {
++ if (pipe_ctx->stream_res.audio != NULL) {
+ if (dc_is_dp_signal(pipe_ctx->stream->signal))
+ pipe_ctx->stream_res.stream_enc->funcs->dp_audio_enable(pipe_ctx->stream_res.stream_enc);
+ }
+@@ -748,8 +748,8 @@ void dce110_disable_stream(struct pipe_ctx *pipe_ctx)
+ struct dc_stream_state *stream = pipe_ctx->stream;
+ struct dc_link *link = stream->sink->link;
+
+- if (pipe_ctx->audio) {
+- pipe_ctx->audio->funcs->az_disable(pipe_ctx->audio);
++ if (pipe_ctx->stream_res.audio) {
++ pipe_ctx->stream_res.audio->funcs->az_disable(pipe_ctx->stream_res.audio);
+
+ if (dc_is_dp_signal(pipe_ctx->stream->signal))
+ pipe_ctx->stream_res.stream_enc->funcs->dp_audio_disable(
+@@ -758,7 +758,7 @@ void dce110_disable_stream(struct pipe_ctx *pipe_ctx)
+ pipe_ctx->stream_res.stream_enc->funcs->hdmi_audio_disable(
+ pipe_ctx->stream_res.stream_enc);
+
+- pipe_ctx->audio = NULL;
++ pipe_ctx->stream_res.audio = NULL;
+
+ /* TODO: notify audio driver for if audio modes list changed
+ * add audio mode list change flag */
+@@ -1094,7 +1094,7 @@ static enum dc_status apply_single_controller_ctx_to_hw(
+ pipe_ctx->stream_res.stream_enc,
+ &stream->timing,
+ stream->phy_pix_clk,
+- pipe_ctx->audio != NULL);
++ pipe_ctx->stream_res.audio != NULL);
+
+ if (dc_is_dvi_signal(pipe_ctx->stream->signal))
+ pipe_ctx->stream_res.stream_enc->funcs->dvi_set_stream_attribute(
+@@ -1792,13 +1792,13 @@ enum dc_status dce110_apply_ctx_to_hw(
+ if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A)
+ continue;
+
+- if (pipe_ctx->audio != NULL) {
++ if (pipe_ctx->stream_res.audio != NULL) {
+ struct audio_output audio_output;
+
+ build_audio_output(pipe_ctx, &audio_output);
+
+- pipe_ctx->audio->funcs->wall_dto_setup(
+- pipe_ctx->audio,
++ pipe_ctx->stream_res.audio->funcs->wall_dto_setup(
++ pipe_ctx->stream_res.audio,
+ pipe_ctx->stream->signal,
+ &audio_output.crtc_info,
+ &audio_output.pll_info);
+@@ -1820,13 +1820,13 @@ enum dc_status dce110_apply_ctx_to_hw(
+ if (!dc_is_dp_signal(pipe_ctx->stream->signal))
+ continue;
+
+- if (pipe_ctx->audio != NULL) {
++ if (pipe_ctx->stream_res.audio != NULL) {
+ struct audio_output audio_output;
+
+ build_audio_output(pipe_ctx, &audio_output);
+
+- pipe_ctx->audio->funcs->wall_dto_setup(
+- pipe_ctx->audio,
++ pipe_ctx->stream_res.audio->funcs->wall_dto_setup(
++ pipe_ctx->stream_res.audio,
+ pipe_ctx->stream->signal,
+ &audio_output.crtc_info,
+ &audio_output.pll_info);
+@@ -1853,7 +1853,7 @@ enum dc_status dce110_apply_ctx_to_hw(
+ if (pipe_ctx->top_pipe)
+ continue;
+
+- if (context->res_ctx.pipe_ctx[i].audio != NULL) {
++ if (context->res_ctx.pipe_ctx[i].stream_res.audio != NULL) {
+
+ struct audio_output audio_output;
+
+@@ -1862,17 +1862,17 @@ enum dc_status dce110_apply_ctx_to_hw(
+ if (dc_is_dp_signal(pipe_ctx->stream->signal))
+ pipe_ctx->stream_res.stream_enc->funcs->dp_audio_setup(
+ pipe_ctx->stream_res.stream_enc,
+- pipe_ctx->audio->inst,
++ pipe_ctx->stream_res.audio->inst,
+ &pipe_ctx->stream->audio_info);
+ else
+ pipe_ctx->stream_res.stream_enc->funcs->hdmi_audio_setup(
+ pipe_ctx->stream_res.stream_enc,
+- pipe_ctx->audio->inst,
++ pipe_ctx->stream_res.audio->inst,
+ &pipe_ctx->stream->audio_info,
+ &audio_output.crtc_info);
+
+- pipe_ctx->audio->funcs->az_configure(
+- pipe_ctx->audio,
++ pipe_ctx->stream_res.audio->funcs->az_configure(
++ pipe_ctx->stream_res.audio,
+ pipe_ctx->stream->signal,
+ &audio_output.crtc_info,
+ &pipe_ctx->stream->audio_info);
+diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
+index 4d35c6d..6f09653 100644
+--- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
++++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
+@@ -156,6 +156,7 @@ struct stream_resource {
+ struct output_pixel_processor *opp;
+ struct timing_generator *tg;
+ struct stream_encoder *stream_enc;
++ struct audio *audio;
+ };
+
+ struct plane_resource {
+@@ -176,8 +177,6 @@ struct pipe_ctx {
+ struct display_clock *dis_clk;
+ struct clock_source *clock_source;
+
+- struct audio *audio;
+-
+ struct pixel_clk_params pix_clk_params;
+ struct pll_settings pll_settings;
+
+--
+2.7.4
+