Lines Matching refs:encoder

20  * register in the HDMI encoder takes SPDIF frames from the DMA engine
22 * interconnect) bus to the encoder side for insertion into the video
25 * The driver's HDMI encoder does not yet support power management.
26 * The HDMI encoder's power domain and the HSM/pixel clocks are kept
31 * encoder block has CEC support.
170 vc4_hdmi->encoder.hdmi_monitor = drm_detect_hdmi_monitor(edid);
193 struct vc4_hdmi_encoder *vc4_encoder = &vc4_hdmi->encoder;
236 struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
258 drm_connector_attach_encoder(connector, encoder);
263 static int vc4_hdmi_stop_packet(struct drm_encoder *encoder,
266 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
276 static void vc4_hdmi_write_infoframe(struct drm_encoder *encoder,
279 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
298 ret = vc4_hdmi_stop_packet(encoder, frame->any.type);
327 static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
329 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
330 struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
333 struct drm_crtc *crtc = encoder->crtc;
353 vc4_hdmi_write_infoframe(encoder, &frame);
356 static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder)
369 vc4_hdmi_write_infoframe(encoder, &frame);
372 static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder)
374 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
385 vc4_hdmi_write_infoframe(encoder, &frame);
388 static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder)
390 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
392 vc4_hdmi_set_avi_infoframe(encoder);
393 vc4_hdmi_set_spd_infoframe(encoder);
399 vc4_hdmi_set_audio_infoframe(encoder);
402 static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder)
404 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
415 static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder)
417 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
434 static void vc4_hdmi_encoder_disable(struct drm_encoder *encoder)
629 static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder)
631 struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode;
632 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
711 static void vc4_hdmi_encoder_pre_crtc_enable(struct drm_encoder *encoder)
713 struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode;
714 struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
715 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
733 static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder)
735 struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode;
736 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
737 struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
785 vc4_hdmi_set_infoframes(encoder);
791 static void vc4_hdmi_encoder_enable(struct drm_encoder *encoder)
798 static int vc4_hdmi_encoder_atomic_check(struct drm_encoder *encoder,
803 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
837 vc4_hdmi_encoder_mode_valid(struct drm_encoder *encoder,
840 struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
905 struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
906 struct drm_crtc *crtc = encoder->crtc;
941 struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
951 * If the HDMI encoder hasn't probed, or the encoder is
954 if (!encoder->crtc || !(HDMI_READ(HDMI_RAM_PACKET_CONFIG) &
972 struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
977 ret = vc4_hdmi_stop_packet(encoder, HDMI_INFOFRAME_TYPE_AUDIO);
1005 struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
1055 vc4_hdmi_set_audio_infoframe(encoder);
1751 struct drm_encoder *encoder;
1761 encoder = &vc4_hdmi->encoder.base.base;
1762 vc4_hdmi->encoder.base.type = variant->encoder_type;
1763 vc4_hdmi->encoder.base.pre_crtc_configure = vc4_hdmi_encoder_pre_crtc_configure;
1764 vc4_hdmi->encoder.base.pre_crtc_enable = vc4_hdmi_encoder_pre_crtc_enable;
1765 vc4_hdmi->encoder.base.post_crtc_enable = vc4_hdmi_encoder_post_crtc_enable;
1766 vc4_hdmi->encoder.base.post_crtc_disable = vc4_hdmi_encoder_post_crtc_disable;
1767 vc4_hdmi->encoder.base.post_crtc_powerdown = vc4_hdmi_encoder_post_crtc_powerdown;
1834 drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
1835 drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs);
1860 drm_encoder_cleanup(encoder);
1899 drm_encoder_cleanup(&vc4_hdmi->encoder.base.base);