Lines Matching full:hdmi

13  * __drm_atomic_helper_connector_hdmi_reset() - Initializes all HDMI @drm_connector_state resources
17 * Initializes all HDMI resources from a @drm_connector_state without
18 * actually allocating it. This is useful for HDMI drivers, in
29 new_conn_state->hdmi.broadcast_rgb = DRM_HDMI_BROADCAST_RGB_AUTO; in __drm_atomic_helper_connector_hdmi_reset()
67 if (conn_state->hdmi.output_format != HDMI_COLORSPACE_RGB) in hdmi_is_limited_range()
70 if (conn_state->hdmi.broadcast_rgb == DRM_HDMI_BROADCAST_RGB_FULL) in hdmi_is_limited_range()
73 if (conn_state->hdmi.broadcast_rgb == DRM_HDMI_BROADCAST_RGB_LIMITED) in hdmi_is_limited_range()
112 if (!(connector->hdmi.supported_formats & BIT(format))) { in sink_supports_format_bpc()
124 * is not an HDMI compliant EDID for some reason, the in sink_supports_format_bpc()
131 drm_warn(dev, "HDMI Sink doesn't support RGB, something's wrong.\n"); in sink_supports_format_bpc()
166 * HDMI Spec 1.3 - Section 6.5 Pixel Encodings and Color Depth in sink_supports_format_bpc()
207 const struct drm_connector_hdmi_funcs *funcs = connector->hdmi.funcs; in hdmi_clock_valid()
241 conn_state->hdmi.tmds_char_rate = clock; in hdmi_compute_clock()
276 bpc, conn_state->hdmi.tmds_char_rate); in hdmi_try_format_bpc()
290 * TODO: Add support for YCbCr420 output for HDMI 2.0 capable in hdmi_compute_format()
294 conn_state->hdmi.output_format = HDMI_COLORSPACE_RGB; in hdmi_compute_format()
322 conn_state->hdmi.output_bpc = bpc; in hdmi_compute_config()
327 conn_state->hdmi.output_bpc, in hdmi_compute_config()
328 drm_hdmi_connector_get_output_format_name(conn_state->hdmi.output_format), in hdmi_compute_config()
329 conn_state->hdmi.tmds_char_rate); in hdmi_compute_config()
343 &conn_state->hdmi.infoframes.avi; in hdmi_generate_avi_infoframe()
346 bool is_limited_range = conn_state->hdmi.is_limited_range; in hdmi_generate_avi_infoframe()
357 frame->colorspace = conn_state->hdmi.output_format; in hdmi_generate_avi_infoframe()
377 &conn_state->hdmi.infoframes.spd; in hdmi_generate_spd_infoframe()
385 connector->hdmi.vendor, in hdmi_generate_spd_infoframe()
386 connector->hdmi.product); in hdmi_generate_spd_infoframe()
401 &conn_state->hdmi.infoframes.hdr_drm; in hdmi_generate_hdr_infoframe()
430 &conn_state->hdmi.infoframes.hdmi; in hdmi_generate_hdmi_vendor_infoframe()
432 &infoframe->data.vendor.hdmi; in hdmi_generate_hdmi_vendor_infoframe()
484 * drm_atomic_helper_connector_hdmi_check() - Helper to check HDMI connector atomic state
488 * Provides a default connector state check handler for HDMI connectors.
509 new_conn_state->hdmi.is_limited_range = hdmi_is_limited_range(connector, new_conn_state); in drm_atomic_helper_connector_hdmi_check()
519 if (old_conn_state->hdmi.broadcast_rgb != new_conn_state->hdmi.broadcast_rgb || in drm_atomic_helper_connector_hdmi_check()
520 old_conn_state->hdmi.output_bpc != new_conn_state->hdmi.output_bpc || in drm_atomic_helper_connector_hdmi_check()
521 old_conn_state->hdmi.output_format != new_conn_state->hdmi.output_format) { in drm_atomic_helper_connector_hdmi_check()
537 * drm_hdmi_connector_mode_valid() - Check if mode is valid for HDMI connector
541 * Generic .mode_valid implementation for HDMI connectors.
560 const struct drm_connector_hdmi_funcs *funcs = connector->hdmi.funcs; in clear_device_infoframe()
595 const struct drm_connector_hdmi_funcs *funcs = connector->hdmi.funcs; in write_device_infoframe()
648 * @connector: A pointer to the HDMI connector
649 * @state: The HDMI connector state to generate the infoframe from
651 * This function is meant for HDMI connector drivers to write their
671 mutex_lock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_update_infoframes()
674 &old_conn_state->hdmi.infoframes.avi, in drm_atomic_helper_connector_hdmi_update_infoframes()
675 &new_conn_state->hdmi.infoframes.avi); in drm_atomic_helper_connector_hdmi_update_infoframes()
679 if (connector->hdmi.infoframes.audio.set) { in drm_atomic_helper_connector_hdmi_update_infoframes()
681 &connector->hdmi.infoframes.audio); in drm_atomic_helper_connector_hdmi_update_infoframes()
687 &old_conn_state->hdmi.infoframes.hdr_drm, in drm_atomic_helper_connector_hdmi_update_infoframes()
688 &new_conn_state->hdmi.infoframes.hdr_drm); in drm_atomic_helper_connector_hdmi_update_infoframes()
693 &old_conn_state->hdmi.infoframes.spd, in drm_atomic_helper_connector_hdmi_update_infoframes()
694 &new_conn_state->hdmi.infoframes.spd); in drm_atomic_helper_connector_hdmi_update_infoframes()
700 &old_conn_state->hdmi.infoframes.hdmi, in drm_atomic_helper_connector_hdmi_update_infoframes()
701 &new_conn_state->hdmi.infoframes.hdmi); in drm_atomic_helper_connector_hdmi_update_infoframes()
707 mutex_unlock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_update_infoframes()
714 * @connector: A pointer to the HDMI connector
717 * This function is meant for HDMI connector drivers to update their
729 &connector->hdmi.infoframes.audio; in drm_atomic_helper_connector_hdmi_update_audio_infoframe()
736 mutex_lock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_update_audio_infoframe()
743 mutex_unlock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_update_audio_infoframe()
751 * @connector: A pointer to the HDMI connector
753 * This function is meant for HDMI connector drivers to stop sending their
764 &connector->hdmi.infoframes.audio; in drm_atomic_helper_connector_hdmi_clear_audio_infoframe()
771 mutex_lock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_clear_audio_infoframe()
779 mutex_unlock(&connector->hdmi.infoframes.lock); in drm_atomic_helper_connector_hdmi_clear_audio_infoframe()
792 // TODO: also handle CEC and scramber, HDMI sink disconnected. in drm_atomic_helper_connector_hdmi_update()
798 if (connector->hdmi.funcs->read_edid) in drm_atomic_helper_connector_hdmi_update()
799 drm_edid = connector->hdmi.funcs->read_edid(connector); in drm_atomic_helper_connector_hdmi_update()
808 // TODO: also handle CEC and scramber, HDMI sink is now connected. in drm_atomic_helper_connector_hdmi_update()
814 * drm_atomic_helper_connector_hdmi_hotplug - Handle the hotplug event for the HDMI connector
815 * @connector: A pointer to the HDMI connector
819 * callbacks, updating the HDMI-specific connector's data.
829 * drm_atomic_helper_connector_hdmi_force - HDMI Connector implementation of the force callback
830 * @connector: A pointer to the HDMI connector
832 * This function implements the .force() callback for the HDMI connectors. It
834 * the .force() callback implementation to maintain the HDMI-specific