[Intel-gfx] [PATCH v2 3/5] drm/i915/dp: Stop sending of VSC SDP when it is not needed

Gwan-gyeong Mun gwan-gyeong.mun at intel.com
Fri Oct 25 12:55:28 UTC 2019


It prevents sending VSC SDP Packet to a receiver when VSC SDP is not
needed. Because VSC SDP is used for PSR, YCbCr 420, HDR BT.2020 and etc,
it checks PSR is enabled or not.

Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 521ce23f38ac..ed6845485b41 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4735,8 +4735,16 @@ void intel_dp_vsc_enable(struct intel_dp *intel_dp,
 			 const struct intel_crtc_state *crtc_state,
 			 const struct drm_connector_state *conn_state)
 {
-	if (!intel_dp_needs_vsc_sdp(crtc_state, conn_state))
+	if (!intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
+		struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
+		struct intel_encoder *encoder = &intel_dig_port->base;
+
+		if (!intel_psr_enabled(intel_dp) &&
+		    intel_infoframe_enabled(encoder, crtc_state, DP_SDP_VSC))
+			intel_enable_infoframe(encoder, false, crtc_state, DP_SDP_VSC);
+
 		return;
+	}
 
 	intel_dp_setup_vsc_sdp(intel_dp, crtc_state, conn_state);
 }
-- 
2.23.0



More information about the Intel-gfx mailing list