Lines Matching refs: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; in radeon_audio_enable() local
257 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) { in radeon_audio_enable()
258 if (radeon_encoder_is_digital(encoder)) { in radeon_audio_enable()
259 radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_enable()
359 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder) in radeon_audio_write_sad_regs() argument
361 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_sad_regs()
362 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_sad_regs()
377 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_count); in radeon_audio_write_sad_regs()
382 static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder) in radeon_audio_write_speaker_allocation() argument
384 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_speaker_allocation()
385 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_speaker_allocation()
401 radeon_encoder->audio->write_speaker_allocation(encoder, sadb, sad_count); in radeon_audio_write_speaker_allocation()
406 static void radeon_audio_write_latency_fields(struct drm_encoder *encoder, in radeon_audio_write_latency_fields() argument
409 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_latency_fields()
410 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_latency_fields()
416 radeon_encoder->audio->write_latency_fields(encoder, connector, mode); in radeon_audio_write_latency_fields()
419 struct r600_audio_pin* radeon_audio_get_pin(struct drm_encoder *encoder) in radeon_audio_get_pin() argument
421 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_get_pin()
422 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_get_pin()
430 static void radeon_audio_select_pin(struct drm_encoder *encoder) in radeon_audio_select_pin() argument
432 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_select_pin()
435 radeon_encoder->audio->select_pin(encoder); in radeon_audio_select_pin()
439 struct drm_encoder *encoder, in radeon_audio_detect() argument
444 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_detect()
450 if (!radeon_encoder_is_digital(encoder)) in radeon_audio_detect()
470 dig->pin = radeon_audio_get_pin(encoder); in radeon_audio_detect()
495 static void radeon_audio_set_dto(struct drm_encoder *encoder, unsigned int clock) in radeon_audio_set_dto() argument
497 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_dto()
498 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_dto()
499 struct radeon_crtc *crtc = to_radeon_crtc(encoder->crtc); in radeon_audio_set_dto()
505 static int radeon_audio_set_avi_packet(struct drm_encoder *encoder, in radeon_audio_set_avi_packet() argument
508 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_avi_packet()
509 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_avi_packet()
511 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_set_avi_packet()
622 static void radeon_audio_update_acr(struct drm_encoder *encoder, unsigned int clock) in radeon_audio_update_acr() argument
625 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_update_acr()
632 radeon_encoder->audio->update_acr(encoder, dig->afmt->offset, acr); in radeon_audio_update_acr()
635 static void radeon_audio_set_vbi_packet(struct drm_encoder *encoder) in radeon_audio_set_vbi_packet() argument
637 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_vbi_packet()
644 radeon_encoder->audio->set_vbi_packet(encoder, dig->afmt->offset); in radeon_audio_set_vbi_packet()
647 static void radeon_hdmi_set_color_depth(struct drm_encoder *encoder) in radeon_hdmi_set_color_depth() argument
650 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_hdmi_set_color_depth()
656 if (encoder->crtc) { in radeon_hdmi_set_color_depth()
657 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_hdmi_set_color_depth()
662 radeon_encoder->audio->set_color_depth(encoder, dig->afmt->offset, bpc); in radeon_hdmi_set_color_depth()
665 static void radeon_audio_set_audio_packet(struct drm_encoder *encoder) in radeon_audio_set_audio_packet() argument
667 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_audio_packet()
674 radeon_encoder->audio->set_audio_packet(encoder, dig->afmt->offset); in radeon_audio_set_audio_packet()
677 static void radeon_audio_set_mute(struct drm_encoder *encoder, bool mute) in radeon_audio_set_mute() argument
679 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_mute()
686 radeon_encoder->audio->set_mute(encoder, dig->afmt->offset, mute); in radeon_audio_set_mute()
692 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder, in radeon_audio_hdmi_mode_set() argument
695 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_hdmi_mode_set()
697 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_hdmi_mode_set()
706 radeon_audio_set_mute(encoder, true); in radeon_audio_hdmi_mode_set()
708 radeon_audio_write_speaker_allocation(encoder); in radeon_audio_hdmi_mode_set()
709 radeon_audio_write_sad_regs(encoder); in radeon_audio_hdmi_mode_set()
710 radeon_audio_write_latency_fields(encoder, mode); in radeon_audio_hdmi_mode_set()
711 radeon_audio_set_dto(encoder, mode->clock); in radeon_audio_hdmi_mode_set()
712 radeon_audio_set_vbi_packet(encoder); in radeon_audio_hdmi_mode_set()
713 radeon_hdmi_set_color_depth(encoder); in radeon_audio_hdmi_mode_set()
714 radeon_audio_update_acr(encoder, mode->clock); in radeon_audio_hdmi_mode_set()
715 radeon_audio_set_audio_packet(encoder); in radeon_audio_hdmi_mode_set()
716 radeon_audio_select_pin(encoder); in radeon_audio_hdmi_mode_set()
718 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_hdmi_mode_set()
721 radeon_audio_set_mute(encoder, false); in radeon_audio_hdmi_mode_set()
723 radeon_hdmi_set_color_depth(encoder); in radeon_audio_hdmi_mode_set()
725 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_hdmi_mode_set()
730 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder, in radeon_audio_dp_mode_set() argument
733 struct drm_device *dev = encoder->dev; in radeon_audio_dp_mode_set()
735 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_dp_mode_set()
737 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_dp_mode_set()
746 radeon_audio_write_speaker_allocation(encoder); in radeon_audio_dp_mode_set()
747 radeon_audio_write_sad_regs(encoder); in radeon_audio_dp_mode_set()
748 radeon_audio_write_latency_fields(encoder, mode); in radeon_audio_dp_mode_set()
749 radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10); in radeon_audio_dp_mode_set()
750 radeon_audio_set_audio_packet(encoder); in radeon_audio_dp_mode_set()
751 radeon_audio_select_pin(encoder); in radeon_audio_dp_mode_set()
753 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_dp_mode_set()
758 void radeon_audio_mode_set(struct drm_encoder *encoder, in radeon_audio_mode_set() argument
761 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_mode_set()
764 radeon_encoder->audio->mode_set(encoder, mode); in radeon_audio_mode_set()
767 void radeon_audio_dpms(struct drm_encoder *encoder, int mode) in radeon_audio_dpms() argument
769 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_dpms()
772 radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON); in radeon_audio_dpms()