Skip to content

Commit 9e61ef8

Browse files
Harry Wentlandalexdeucher
authored andcommitted
drm/amd/display: Program VSC SDP colorimetry for all DP sinks >= 1.4
In order for display colorimetry to work correctly on DP displays we need to send the VSC SDP packet. We should only do so for panels with DPCD revision greater or equal to 1.4 as older receivers might have problems with it. Cc: stable@vger.kernel.org Cc: Joshua Ashton <joshua@froggi.es> Cc: Xaver Hugl <xaver.hugl@gmail.com> Cc: Melissa Wen <mwen@igalia.com> Cc: Agustin Gutierrez <Agustin.Gutierrez@amd.com> Reviewed-by: Agustin Gutierrez <agustin.gutierrez@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent cf79814 commit 9e61ef8

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6318,7 +6318,9 @@ create_stream_for_sink(struct drm_connector *connector,
63186318
if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
63196319
mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket);
63206320

6321-
if (stream->link->psr_settings.psr_feature_enabled || stream->link->replay_settings.replay_feature_enabled) {
6321+
if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT ||
6322+
stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST ||
6323+
stream->signal == SIGNAL_TYPE_EDP) {
63226324
//
63236325
// should decide stream support vsc sdp colorimetry capability
63246326
// before building vsc info packet
@@ -6328,7 +6330,8 @@ create_stream_for_sink(struct drm_connector *connector,
63286330
stream->use_vsc_sdp_for_colorimetry =
63296331
aconnector->dc_sink->is_vsc_sdp_colorimetry_supported;
63306332
} else {
6331-
if (stream->link->dpcd_caps.dprx_feature.bits.VSC_SDP_COLORIMETRY_SUPPORTED)
6333+
if (stream->link->dpcd_caps.dpcd_rev.raw >= 0x14 &&
6334+
stream->link->dpcd_caps.dprx_feature.bits.VSC_SDP_COLORIMETRY_SUPPORTED)
63326335
stream->use_vsc_sdp_for_colorimetry = true;
63336336
}
63346337
if (stream->out_transfer_func->tf == TRANSFER_FUNCTION_GAMMA22)

0 commit comments

Comments
 (0)