aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vc4/vc4_hdmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_hdmi.c')
-rw-r--r--drivers/gpu/drm/vc4/vc4_hdmi.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 2f276222e30f..051b61b62541 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -109,7 +109,6 @@ struct vc4_hdmi_encoder {
109 struct vc4_encoder base; 109 struct vc4_encoder base;
110 bool hdmi_monitor; 110 bool hdmi_monitor;
111 bool limited_rgb_range; 111 bool limited_rgb_range;
112 bool rgb_range_selectable;
113}; 112};
114 113
115static inline struct vc4_hdmi_encoder * 114static inline struct vc4_hdmi_encoder *
@@ -280,11 +279,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
280 279
281 vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid); 280 vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid);
282 281
283 if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
284 vc4_encoder->rgb_range_selectable =
285 drm_rgb_quant_range_selectable(edid);
286 }
287
288 drm_connector_update_edid_property(connector, edid); 282 drm_connector_update_edid_property(connector, edid);
289 ret = drm_add_edid_modes(connector, edid); 283 ret = drm_add_edid_modes(connector, edid);
290 kfree(edid); 284 kfree(edid);
@@ -424,18 +418,18 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
424 union hdmi_infoframe frame; 418 union hdmi_infoframe frame;
425 int ret; 419 int ret;
426 420
427 ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, mode, false); 421 ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi,
422 hdmi->connector, mode);
428 if (ret < 0) { 423 if (ret < 0) {
429 DRM_ERROR("couldn't fill AVI infoframe\n"); 424 DRM_ERROR("couldn't fill AVI infoframe\n");
430 return; 425 return;
431 } 426 }
432 427
433 drm_hdmi_avi_infoframe_quant_range(&frame.avi, mode, 428 drm_hdmi_avi_infoframe_quant_range(&frame.avi,
429 hdmi->connector, mode,
434 vc4_encoder->limited_rgb_range ? 430 vc4_encoder->limited_rgb_range ?
435 HDMI_QUANTIZATION_RANGE_LIMITED : 431 HDMI_QUANTIZATION_RANGE_LIMITED :
436 HDMI_QUANTIZATION_RANGE_FULL, 432 HDMI_QUANTIZATION_RANGE_FULL);
437 vc4_encoder->rgb_range_selectable,
438 false);
439 433
440 frame.avi.right_bar = cstate->tv.margins.right; 434 frame.avi.right_bar = cstate->tv.margins.right;
441 frame.avi.left_bar = cstate->tv.margins.left; 435 frame.avi.left_bar = cstate->tv.margins.left;