[6/9] drm/i915: Reject DRM_MODE_FLAG_DBLCLK with DVI sinks
diff mbox series

Message ID 20200108181242.13650-6-ville.syrjala@linux.intel.com
State New
Headers show
  • [1/9] drm/i915/sdvo: Reduce the size of the on stack buffers
Related show

Commit Message

Ville Syrjälä Jan. 8, 2020, 6:12 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The code assumes that DRM_MODE_FLAG_DBLCLK means that we enable the
pixel repeat feature. That only works with HDMI since it requires
AVI infoframe to signal the information to the sink. Hence even if
the mode dotclock would be valid we cannot currently assume that
we can just ignore the DBLCLK flag. Reject it for DVI sinks.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
 drivers/gpu/drm/i915/display/intel_hdmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff mbox series

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 85c5f840a0fc..a62dd3348301 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2185,8 +2185,11 @@  intel_hdmi_mode_valid(struct drm_connector *connector,
 	if (clock > max_dotclk)
 		return MODE_CLOCK_HIGH;
-	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
+	if (mode->flags & DRM_MODE_FLAG_DBLCLK) {
+		if (!has_hdmi_sink)
+			return MODE_CLOCK_LOW;
 		clock *= 2;
+	}
 	if (drm_mode_is_420_only(&connector->display_info, mode))
 		clock /= 2;