aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch286
1 files changed, 0 insertions, 286 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch
deleted file mode 100644
index 0c40a6ab..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0626-drm-amd-display-fix-aviInfoFrame-bar-Info-and-add-se.patch
+++ /dev/null
@@ -1,286 +0,0 @@
-From 701632197d6796356550d819489d197a90aedd4b Mon Sep 17 00:00:00 2001
-From: Charlene Liu <charlene.liu@amd.com>
-Date: Mon, 17 Jul 2017 16:04:02 -0400
-Subject: [PATCH 0626/4131] drm/amd/display: fix aviInfoFrame bar Info and add
- set_avMute
-
-Signed-off-by: Charlene Liu <charlene.liu@amd.com>
-Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@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 | 10 ++++++
- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 37 ++++++++++++++++++----
- .../drm/amd/display/dc/dce/dce_stream_encoder.c | 13 +++++++-
- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 13 ++++++--
- .../amd/display/dc/dce110/dce110_hw_sequencer.h | 1 +
- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 3 +-
- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 1 +
- .../gpu/drm/amd/display/dc/inc/hw/stream_encoder.h | 3 ++
- drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 2 ++
- .../display/dc/virtual/virtual_stream_encoder.c | 4 +++
- 10 files changed, 77 insertions(+), 10 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 fed38fb..036d22f 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-@@ -1911,3 +1911,13 @@ void core_link_disable_stream(struct pipe_ctx *pipe_ctx)
- disable_link(pipe_ctx->stream->sink->link, pipe_ctx->stream->signal);
- }
-
-+void core_link_set_avmute(struct pipe_ctx *pipe_ctx, bool enable)
-+{
-+ struct core_dc *core_dc = DC_TO_CORE(pipe_ctx->stream->ctx->dc);
-+
-+ if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A)
-+ return;
-+
-+ core_dc->hwss.set_avmute(pipe_ctx, enable);
-+}
-+
-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 00fed61..d196d0d 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
-@@ -1607,6 +1607,8 @@ static void set_avi_info_frame(
- uint8_t *check_sum = NULL;
- uint8_t byte_index = 0;
- union hdmi_info_packet *hdmi_info = &info_frame.avi_info_packet.info_packet_hdmi;
-+ unsigned int vic = pipe_ctx->stream->public.timing.vic;
-+ enum dc_timing_3d_format format;
-
- color_space = pipe_ctx->stream->public.output_color_space;
- if (color_space == COLOR_SPACE_UNKNOWN)
-@@ -1661,8 +1663,7 @@ static void set_avi_info_frame(
-
- /* C0, C1 : Colorimetry */
- if (color_space == COLOR_SPACE_YCBCR709 ||
-- color_space == COLOR_SPACE_YCBCR709_LIMITED ||
-- color_space == COLOR_SPACE_2020_YCBCR)
-+ color_space == COLOR_SPACE_YCBCR709_LIMITED)
- hdmi_info->bits.C0_C1 = COLORIMETRY_ITU709;
- else if (color_space == COLOR_SPACE_YCBCR601 ||
- color_space == COLOR_SPACE_YCBCR601_LIMITED)
-@@ -1722,9 +1723,29 @@ static void set_avi_info_frame(
- hdmi_info->bits.Q0_Q1 = RGB_QUANTIZATION_DEFAULT_RANGE;
- hdmi_info->bits.YQ0_YQ1 = YYC_QUANTIZATION_LIMITED_RANGE;
- }
--
-- hdmi_info->bits.VIC0_VIC7 =
-- stream->public.timing.vic;
-+ ///VIC
-+ format = stream->public.timing.timing_3d_format;
-+ /*todo, add 3DStereo support*/
-+ if (format != TIMING_3D_FORMAT_NONE) {
-+ // Based on HDMI specs hdmi vic needs to be converted to cea vic when 3D is enabled
-+ switch (pipe_ctx->stream->public.timing.hdmi_vic) {
-+ case 1:
-+ vic = 95;
-+ break;
-+ case 2:
-+ vic = 94;
-+ break;
-+ case 3:
-+ vic = 93;
-+ break;
-+ case 4:
-+ vic = 98;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ hdmi_info->bits.VIC0_VIC7 = vic;
-
- /* pixel repetition
- * PR0 - PR3 start from 0 whereas pHwPathMode->mode.timing.flags.pixel
-@@ -1737,7 +1758,7 @@ static void set_avi_info_frame(
- * barLeft: Pixel Number of End of Left Bar.
- * barRight: Pixel Number of Start of Right Bar. */
- hdmi_info->bits.bar_top = stream->public.timing.v_border_top;
-- hdmi_info->bits.bar_bottom = (stream->public.timing.v_border_top
-+ hdmi_info->bits.bar_bottom = (stream->public.timing.v_total
- - stream->public.timing.v_border_bottom + 1);
- hdmi_info->bits.bar_left = stream->public.timing.h_border_left;
- hdmi_info->bits.bar_right = (stream->public.timing.h_total
-@@ -1776,6 +1797,10 @@ static void set_vendor_info_packet(
- uint8_t checksum = 0;
- uint32_t i = 0;
- enum dc_timing_3d_format format;
-+ // Can be different depending on packet content /*todo*/
-+ // unsigned int length = pPathMode->dolbyVision ? 24 : 5;
-+
-+ info_packet->valid = false;
-
- format = stream->public.timing.timing_3d_format;
- if (stream->public.view_format == VIEW_3D_FORMAT_NONE)
-diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
-index daab81b..532c6e6 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
-@@ -1003,6 +1003,16 @@ static void dce110_stream_encoder_dp_unblank(
- REG_UPDATE(DP_VID_STREAM_CNTL, DP_VID_STREAM_ENABLE, true);
- }
-
-+static void dce110_stream_encoder_set_avmute(
-+ struct stream_encoder *enc,
-+ bool enable)
-+{
-+ struct dce110_stream_encoder *enc110 = DCE110STRENC_FROM_STRENC(enc);
-+ unsigned int value = enable ? 1 : 0;
-+
-+ REG_UPDATE(HDMI_GC, HDMI_GC_AVMUTE, value);
-+}
-+
-
- #define DP_SEC_AUD_N__DP_SEC_AUD_N__DEFAULT 0x8000
- #define DP_SEC_TIMESTAMP__DP_SEC_TIMESTAMP_MODE__AUTO_CALC 1
-@@ -1582,7 +1592,6 @@ static const struct stream_encoder_funcs dce110_str_enc_funcs = {
- dce110_stream_encoder_dp_blank,
- .dp_unblank =
- dce110_stream_encoder_dp_unblank,
--
- .audio_mute_control = dce110_se_audio_mute_control,
-
- .dp_audio_setup = dce110_se_dp_audio_setup,
-@@ -1592,6 +1601,8 @@ static const struct stream_encoder_funcs dce110_str_enc_funcs = {
- .hdmi_audio_setup = dce110_se_hdmi_audio_setup,
- .hdmi_audio_disable = dce110_se_hdmi_audio_disable,
- .setup_stereo_sync = setup_stereo_sync,
-+ .set_avmute = dce110_stream_encoder_set_avmute,
-+
- };
-
- bool dce110_stream_encoder_construct(
-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 5d64611..b691ef9 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
-@@ -801,6 +801,13 @@ void dce110_unblank_stream(struct pipe_ctx *pipe_ctx,
- pipe_ctx->stream_enc->funcs->dp_unblank(pipe_ctx->stream_enc, &params);
- }
-
-+
-+void dce110_set_avmute(struct pipe_ctx *pipe_ctx, bool enable)
-+{
-+ if (pipe_ctx != NULL && pipe_ctx->stream_enc != NULL)
-+ pipe_ctx->stream_enc->funcs->set_avmute(pipe_ctx->stream_enc, enable);
-+}
-+
- static enum audio_dto_source translate_to_dto_source(enum controller_id crtc_id)
- {
- switch (crtc_id) {
-@@ -1095,10 +1102,11 @@ static enum dc_status apply_single_controller_ctx_to_hw(
- (pipe_ctx->stream->signal == SIGNAL_TYPE_DVI_DUAL_LINK) ?
- true : false);
-
-+ resource_build_info_frame(pipe_ctx);
-+
- if (!pipe_ctx_old->stream) {
- core_link_enable_stream(pipe_ctx);
-
-- resource_build_info_frame(pipe_ctx);
- dce110_update_info_frame(pipe_ctx);
- if (dc_is_dp_signal(pipe_ctx->stream->signal))
- dce110_unblank_stream(pipe_ctx,
-@@ -2600,7 +2608,8 @@ static const struct hw_sequencer_funcs dce110_funcs = {
- .set_static_screen_control = set_static_screen_control,
- .reset_hw_ctx_wrap = reset_hw_ctx_wrap,
- .prog_pixclk_crtc_otg = dce110_prog_pixclk_crtc_otg,
-- .setup_stereo = NULL
-+ .setup_stereo = NULL,
-+ .set_avmute = dce110_set_avmute,
- };
-
- bool dce110_hw_sequencer_construct(struct core_dc *dc)
-diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
-index 52462c1..89782ca 100644
---- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
-+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
-@@ -54,6 +54,7 @@ void dce110_unblank_stream(struct pipe_ctx *pipe_ctx,
-
- void dce110_update_info_frame(struct pipe_ctx *pipe_ctx);
-
-+void dce110_set_avmute(struct pipe_ctx *pipe_ctx, bool enable);
- void dce110_enable_accelerated_mode(struct core_dc *dc);
-
- void dce110_power_down(struct core_dc *dc);
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-index cadc940..8284837 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-@@ -1867,7 +1867,8 @@ static const struct hw_sequencer_funcs dcn10_funcs = {
- .set_drr = set_drr,
- .get_position = get_position,
- .set_static_screen_control = set_static_screen_control,
-- .setup_stereo = dcn10_setup_stereo
-+ .setup_stereo = dcn10_setup_stereo,
-+ .set_avmute = dce110_set_avmute,
- };
-
-
-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 d216522..d753680 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-@@ -179,6 +179,7 @@ void core_link_enable_stream(struct pipe_ctx *pipe_ctx);
-
- void core_link_disable_stream(struct pipe_ctx *pipe_ctx);
-
-+void core_link_set_avmute(struct pipe_ctx *pipe_ctx, bool enable);
- /********** DAL Core*********************/
- #include "display_clock.h"
- #include "transform.h"
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h b/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h
-index 9fb27bd..6ff90a0f 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h
-@@ -123,6 +123,9 @@ struct stream_encoder_funcs {
- struct stream_encoder *enc,
- int tg_inst,
- bool enable);
-+
-+ void (*set_avmute)(
-+ struct stream_encoder *enc, bool enable);
- };
-
- #endif /* STREAM_ENCODER_H_ */
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
-index 97dbd25..d94e8e4 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
-@@ -152,6 +152,8 @@ struct hw_sequencer_funcs {
- void (*setup_stereo)(
- struct pipe_ctx *pipe_ctx,
- struct core_dc *dc);
-+
-+ void (*set_avmute)(struct pipe_ctx *pipe_ctx, bool enable);
- };
-
- void color_space_to_black_color(
-diff --git a/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
-index 8de21d9..7fe6085 100644
---- a/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
-+++ b/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
-@@ -53,6 +53,9 @@ static void virtual_stream_encoder_update_hdmi_info_packets(
- static void virtual_stream_encoder_stop_hdmi_info_packets(
- struct stream_encoder *enc) {}
-
-+static void virtual_stream_encoder_set_avmute(
-+ struct stream_encoder *enc,
-+ bool enable) {}
- static void virtual_stream_encoder_update_dp_info_packets(
- struct stream_encoder *enc,
- const struct encoder_info_frame *info_frame) {}
-@@ -94,6 +97,7 @@ static const struct stream_encoder_funcs virtual_str_enc_funcs = {
- virtual_stream_encoder_dp_unblank,
-
- .audio_mute_control = virtual_audio_mute_control,
-+ .set_avmute = virtual_stream_encoder_set_avmute,
- };
-
- bool virtual_stream_encoder_construct(
---
-2.7.4
-