Lines Matching defs:encoder
41 void dce3_2_afmt_write_sad_regs(struct drm_encoder *encoder,
43 void evergreen_hdmi_write_sad_regs(struct drm_encoder *encoder,
45 void dce6_afmt_write_sad_regs(struct drm_encoder *encoder,
47 void dce3_2_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder,
49 void dce3_2_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder,
51 void dce4_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder,
53 void dce4_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder,
55 void dce6_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder,
57 void dce6_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder,
59 void dce4_afmt_write_latency_fields(struct drm_encoder *encoder,
61 void dce6_afmt_write_latency_fields(struct drm_encoder *encoder,
65 void dce6_afmt_select_pin(struct drm_encoder *encoder);
82 void r600_hdmi_update_acr(struct drm_encoder *encoder, long offset,
84 void dce3_2_hdmi_update_acr(struct drm_encoder *encoder, long offset,
86 void evergreen_hdmi_update_acr(struct drm_encoder *encoder, long offset,
88 void r600_set_vbi_packet(struct drm_encoder *encoder, u32 offset);
89 void dce4_set_vbi_packet(struct drm_encoder *encoder, u32 offset);
90 void dce4_hdmi_set_color_depth(struct drm_encoder *encoder,
92 void r600_set_audio_packet(struct drm_encoder *encoder, u32 offset);
93 void dce3_2_set_audio_packet(struct drm_encoder *encoder, u32 offset);
94 void dce4_set_audio_packet(struct drm_encoder *encoder, u32 offset);
95 void r600_set_mute(struct drm_encoder *encoder, u32 offset, bool mute);
96 void dce3_2_set_mute(struct drm_encoder *encoder, u32 offset, bool mute);
97 void dce4_set_mute(struct drm_encoder *encoder, u32 offset, bool mute);
98 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
100 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
102 void r600_hdmi_enable(struct drm_encoder *encoder, bool enable);
103 void evergreen_hdmi_enable(struct drm_encoder *encoder, bool enable);
104 void evergreen_dp_enable(struct drm_encoder *encoder, bool enable);
248 struct drm_encoder *encoder;
257 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) {
258 if (radeon_encoder_is_digital(encoder)) {
259 radeon_encoder = to_radeon_encoder(encoder);
359 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder)
361 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
362 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
377 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_count);
382 static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder)
384 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
385 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
401 radeon_encoder->audio->write_speaker_allocation(encoder, sadb, sad_count);
406 static void radeon_audio_write_latency_fields(struct drm_encoder *encoder,
409 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
410 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
416 radeon_encoder->audio->write_latency_fields(encoder, connector, mode);
419 struct r600_audio_pin* radeon_audio_get_pin(struct drm_encoder *encoder)
421 struct radeon_device *rdev = encoder->dev->dev_private;
422 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
430 static void radeon_audio_select_pin(struct drm_encoder *encoder)
432 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
435 radeon_encoder->audio->select_pin(encoder);
439 struct drm_encoder *encoder,
444 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
450 if (!radeon_encoder_is_digital(encoder))
470 dig->pin = radeon_audio_get_pin(encoder);
495 static void radeon_audio_set_dto(struct drm_encoder *encoder, unsigned int clock)
497 struct radeon_device *rdev = encoder->dev->dev_private;
498 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
499 struct radeon_crtc *crtc = to_radeon_crtc(encoder->crtc);
505 static int radeon_audio_set_avi_packet(struct drm_encoder *encoder,
508 struct radeon_device *rdev = encoder->dev->dev_private;
509 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
511 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
622 static void radeon_audio_update_acr(struct drm_encoder *encoder, unsigned int clock)
625 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
632 radeon_encoder->audio->update_acr(encoder, dig->afmt->offset, acr);
635 static void radeon_audio_set_vbi_packet(struct drm_encoder *encoder)
637 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
644 radeon_encoder->audio->set_vbi_packet(encoder, dig->afmt->offset);
647 static void radeon_hdmi_set_color_depth(struct drm_encoder *encoder)
650 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
656 if (encoder->crtc) {
657 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc);
662 radeon_encoder->audio->set_color_depth(encoder, dig->afmt->offset, bpc);
665 static void radeon_audio_set_audio_packet(struct drm_encoder *encoder)
667 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
674 radeon_encoder->audio->set_audio_packet(encoder, dig->afmt->offset);
677 static void radeon_audio_set_mute(struct drm_encoder *encoder, bool mute)
679 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
686 radeon_encoder->audio->set_mute(encoder, dig->afmt->offset, mute);
692 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
695 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
697 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
706 radeon_audio_set_mute(encoder, true);
708 radeon_audio_write_speaker_allocation(encoder);
709 radeon_audio_write_sad_regs(encoder);
710 radeon_audio_write_latency_fields(encoder, mode);
711 radeon_audio_set_dto(encoder, mode->clock);
712 radeon_audio_set_vbi_packet(encoder);
713 radeon_hdmi_set_color_depth(encoder);
714 radeon_audio_update_acr(encoder, mode->clock);
715 radeon_audio_set_audio_packet(encoder);
716 radeon_audio_select_pin(encoder);
718 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
721 radeon_audio_set_mute(encoder, false);
723 radeon_hdmi_set_color_depth(encoder);
725 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
730 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
733 struct drm_device *dev = encoder->dev;
735 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
737 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
746 radeon_audio_write_speaker_allocation(encoder);
747 radeon_audio_write_sad_regs(encoder);
748 radeon_audio_write_latency_fields(encoder, mode);
749 radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10);
750 radeon_audio_set_audio_packet(encoder);
751 radeon_audio_select_pin(encoder);
753 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
758 void radeon_audio_mode_set(struct drm_encoder *encoder,
761 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
764 radeon_encoder->audio->mode_set(encoder, mode);
767 void radeon_audio_dpms(struct drm_encoder *encoder, int mode)
769 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
772 radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON);