xref: /linux/include/drm/display/drm_hdmi_helper.h (revision 8d45d88e0b3d17c9f847cef8171c95c19d2cbdf5)
1 /* SPDX-License-Identifier: MIT */
2 
3 #ifndef DRM_HDMI_HELPER
4 #define DRM_HDMI_HELPER
5 
6 #include <linux/hdmi.h>
7 
8 struct drm_connector;
9 struct drm_connector_state;
10 struct drm_display_mode;
11 enum drm_output_color_format;
12 
13 void
14 drm_hdmi_avi_infoframe_colorimetry(struct hdmi_avi_infoframe *frame,
15 				   const struct drm_connector_state *conn_state);
16 
17 void
18 drm_hdmi_avi_infoframe_bars(struct hdmi_avi_infoframe *frame,
19 			    const struct drm_connector_state *conn_state);
20 
21 int
22 drm_hdmi_infoframe_set_hdr_metadata(struct hdmi_drm_infoframe *frame,
23 				    const struct drm_connector_state *conn_state);
24 
25 void drm_hdmi_avi_infoframe_content_type(struct hdmi_avi_infoframe *frame,
26 					 const struct drm_connector_state *conn_state);
27 
28 unsigned long long
29 drm_hdmi_compute_mode_clock(const struct drm_display_mode *mode,
30 			    unsigned int bpc, enum drm_output_color_format fmt);
31 
32 void
33 drm_hdmi_acr_get_n_cts(unsigned long long tmds_char_rate,
34 		       unsigned int sample_rate,
35 		       unsigned int *out_n,
36 		       unsigned int *out_cts);
37 
38 #endif
39