Currently colorimetry data is not added for psr1 or non-psr case.
Fix this by adding it as needed.

Signed-off-by: Jouni Högander <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 48 ++++++++++---------------
 1 file changed, 19 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 3550cebb44f2..635790ec2fb7 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2628,36 +2628,26 @@ static void intel_dp_compute_vsc_sdp(struct intel_dp 
*intel_dp,
        crtc_state->infoframes.enable |= 
intel_hdmi_infoframe_enable(DP_SDP_VSC);
        vsc->sdp_type = DP_SDP_VSC;
 
-       if (crtc_state->has_psr2) {
-               if (intel_dp->colorimetry_support &&
-                   intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
-                       /* [PSR2, +Colorimetry] */
-                       intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
-                                                        vsc);
-               } else {
-                       /*
-                        * [PSR2, -Colorimetry]
-                        * Prepare VSC Header for SU as per eDP 1.4 spec, Table 
6-11
-                        * 3D stereo + PSR/PSR2 + Y-coordinate.
-                        */
-                       vsc->revision = 0x4;
-                       vsc->length = 0xe;
-               }
+       /* Needs colorimetry */
+       if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
+               intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
+                                                vsc);
+       } else if (crtc_state->has_psr2) {
+               /*
+                * [PSR2, -Colorimetry]
+                * Prepare VSC Header for SU as per eDP 1.4 spec, Table 6-11
+                * 3D stereo + PSR/PSR2 + Y-coordinate.
+                */
+               vsc->revision = 0x4;
+               vsc->length = 0xe;
        } else if (crtc_state->has_panel_replay) {
-               if (intel_dp->colorimetry_support &&
-                   intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
-                       /* [Panel Replay with colorimetry info] */
-                       intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
-                                                        vsc);
-               } else {
-                       /*
-                        * [Panel Replay without colorimetry info]
-                        * Prepare VSC Header for SU as per DP 2.0 spec, Table 
2-223
-                        * VSC SDP supporting 3D stereo + Panel Replay.
-                        */
-                       vsc->revision = 0x6;
-                       vsc->length = 0x10;
-               }
+               /*
+                * [Panel Replay without colorimetry info]
+                * Prepare VSC Header for SU as per DP 2.0 spec, Table 2-223
+                * VSC SDP supporting 3D stereo + Panel Replay.
+                */
+               vsc->revision = 0x6;
+               vsc->length = 0x10;
        } else {
                /*
                 * [PSR1]
-- 
2.34.1

Reply via email to