diff options
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_hdmi.c | 16 |
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 | ||
115 | static inline struct vc4_hdmi_encoder * | 114 | static 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; |