From: Wayne Lin <wayne....@amd.com>

[Why]
Current function excludes the logic to generate H14b-VSIF. Now it
constructs HF-VSIF only and causes HDMI compliace test fail.
[How]
According to HDMI spec, source devices shall utilize the H14b-VSIF
whenever the signaling capabilities of the H14b-VSIF allow this.

Here keep the logic for HF-VSIF and add H14b-VSIF construction part.

Signed-off-by: Wayne Lin <wayne....@amd.com>
Reviewed-by: Roman Li <roman...@amd.com>
Acked-by: Eryk Brol <eryk.b...@amd.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c    |  3 ++-
 .../amd/display/modules/inc/mod_info_packet.h    |  2 +-
 .../display/modules/info_packet/info_packet.c    | 16 ++--------------
 3 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 3f86a482f2a2..ee5271286825 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4757,7 +4757,8 @@ create_stream_for_sink(struct amdgpu_dm_connector 
*aconnector,
        update_stream_signal(stream, sink);
 
        if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
-               mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket, 
false, false);
+               mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket);
+
        if (stream->link->psr_settings.psr_feature_enabled) {
                //
                // should decide stream support vsc sdp colorimetry capability
diff --git a/drivers/gpu/drm/amd/display/modules/inc/mod_info_packet.h 
b/drivers/gpu/drm/amd/display/modules/inc/mod_info_packet.h
index 13c57ff2abdc..1ab813b4fd14 100644
--- a/drivers/gpu/drm/amd/display/modules/inc/mod_info_packet.h
+++ b/drivers/gpu/drm/amd/display/modules/inc/mod_info_packet.h
@@ -37,6 +37,6 @@ void mod_build_vsc_infopacket(const struct dc_stream_state 
*stream,
                struct dc_info_packet *info_packet);
 
 void mod_build_hf_vsif_infopacket(const struct dc_stream_state *stream,
-               struct dc_info_packet *info_packet, int ALLMEnabled, int 
ALLMValue);
+               struct dc_info_packet *info_packet);
 
 #endif
diff --git a/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c 
b/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c
index 7cd8a43d1889..0fdf7a3e96de 100644
--- a/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c
+++ b/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c
@@ -421,15 +421,13 @@ void mod_build_vsc_infopacket(const struct 
dc_stream_state *stream,
  *****************************************************************************
  */
 void mod_build_hf_vsif_infopacket(const struct dc_stream_state *stream,
-               struct dc_info_packet *info_packet, int ALLMEnabled, int 
ALLMValue)
+               struct dc_info_packet *info_packet)
 {
                unsigned int length = 5;
                bool hdmi_vic_mode = false;
                uint8_t checksum = 0;
                uint32_t i = 0;
                enum dc_timing_3d_format format;
-               bool bALLM = (bool)ALLMEnabled;
-               bool bALLMVal = (bool)ALLMValue;
 
                info_packet->valid = false;
                format = stream->timing.timing_3d_format;
@@ -442,20 +440,13 @@ void mod_build_hf_vsif_infopacket(const struct 
dc_stream_state *stream,
                                && format == TIMING_3D_FORMAT_NONE)
                        hdmi_vic_mode = true;
 
-               if ((format == TIMING_3D_FORMAT_NONE) && !hdmi_vic_mode && 
!bALLM)
+               if ((format == TIMING_3D_FORMAT_NONE) && !hdmi_vic_mode)
                        return;
 
                info_packet->sb[1] = 0x03;
                info_packet->sb[2] = 0x0C;
                info_packet->sb[3] = 0x00;
 
-               if (bALLM) {
-                       info_packet->sb[1] = 0xD8;
-                       info_packet->sb[2] = 0x5D;
-                       info_packet->sb[3] = 0xC4;
-                       info_packet->sb[4] = HF_VSIF_VERSION;
-               }
-
                if (format != TIMING_3D_FORMAT_NONE)
                        info_packet->sb[4] = (2 << 5);
 
@@ -490,9 +481,6 @@ void mod_build_hf_vsif_infopacket(const struct 
dc_stream_state *stream,
                info_packet->hb1 = 0x01;
                info_packet->hb2 = (uint8_t) (length);
 
-               if (bALLM)
-                       info_packet->sb[5] = (info_packet->sb[5] & ~0x02) | 
(bALLMVal << 1);
-
                checksum += info_packet->hb0;
                checksum += info_packet->hb1;
                checksum += info_packet->hb2;
-- 
2.25.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to