Lines Matching full:encoder
39 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
41 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
186 struct drm_encoder *encoder; in radeon_audio_enable() local
195 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) { in radeon_audio_enable()
196 if (radeon_encoder_is_digital(encoder)) { in radeon_audio_enable()
197 radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_enable()
297 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder) in radeon_audio_write_sad_regs() argument
299 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_sad_regs()
300 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_sad_regs()
315 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_count); in radeon_audio_write_sad_regs()
320 static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder) in radeon_audio_write_speaker_allocation() argument
322 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_speaker_allocation()
323 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_speaker_allocation()
339 radeon_encoder->audio->write_speaker_allocation(encoder, sadb, sad_count); in radeon_audio_write_speaker_allocation()
344 static void radeon_audio_write_latency_fields(struct drm_encoder *encoder, in radeon_audio_write_latency_fields() argument
347 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_latency_fields()
348 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_latency_fields()
354 radeon_encoder->audio->write_latency_fields(encoder, connector, mode); in radeon_audio_write_latency_fields()
357 struct r600_audio_pin* radeon_audio_get_pin(struct drm_encoder *encoder) in radeon_audio_get_pin() argument
359 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_get_pin()
360 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_get_pin()
368 static void radeon_audio_select_pin(struct drm_encoder *encoder) in radeon_audio_select_pin() argument
370 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_select_pin()
373 radeon_encoder->audio->select_pin(encoder); in radeon_audio_select_pin()
377 struct drm_encoder *encoder, in radeon_audio_detect() argument
382 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_detect()
388 if (!radeon_encoder_is_digital(encoder)) in radeon_audio_detect()
408 dig->pin = radeon_audio_get_pin(encoder); in radeon_audio_detect()
433 static void radeon_audio_set_dto(struct drm_encoder *encoder, unsigned int clock) in radeon_audio_set_dto() argument
435 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_dto()
436 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_dto()
437 struct radeon_crtc *crtc = to_radeon_crtc(encoder->crtc); in radeon_audio_set_dto()
443 static int radeon_audio_set_avi_packet(struct drm_encoder *encoder, in radeon_audio_set_avi_packet() argument
446 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_avi_packet()
447 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_avi_packet()
449 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_set_avi_packet()
560 static void radeon_audio_update_acr(struct drm_encoder *encoder, unsigned int clock) in radeon_audio_update_acr() argument
563 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_update_acr()
570 radeon_encoder->audio->update_acr(encoder, dig->afmt->offset, acr); in radeon_audio_update_acr()
573 static void radeon_audio_set_vbi_packet(struct drm_encoder *encoder) in radeon_audio_set_vbi_packet() argument
575 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_vbi_packet()
582 radeon_encoder->audio->set_vbi_packet(encoder, dig->afmt->offset); in radeon_audio_set_vbi_packet()
585 static void radeon_hdmi_set_color_depth(struct drm_encoder *encoder) in radeon_hdmi_set_color_depth() argument
588 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_hdmi_set_color_depth()
594 if (encoder->crtc) { in radeon_hdmi_set_color_depth()
595 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_hdmi_set_color_depth()
600 radeon_encoder->audio->set_color_depth(encoder, dig->afmt->offset, bpc); in radeon_hdmi_set_color_depth()
603 static void radeon_audio_set_audio_packet(struct drm_encoder *encoder) in radeon_audio_set_audio_packet() argument
605 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_audio_packet()
612 radeon_encoder->audio->set_audio_packet(encoder, dig->afmt->offset); in radeon_audio_set_audio_packet()
615 static void radeon_audio_set_mute(struct drm_encoder *encoder, bool mute) in radeon_audio_set_mute() argument
617 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_set_mute()
624 radeon_encoder->audio->set_mute(encoder, dig->afmt->offset, mute); in radeon_audio_set_mute()
630 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder, in radeon_audio_hdmi_mode_set() argument
633 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_hdmi_mode_set()
635 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_hdmi_mode_set()
644 radeon_audio_set_mute(encoder, true); in radeon_audio_hdmi_mode_set()
646 radeon_audio_write_speaker_allocation(encoder); in radeon_audio_hdmi_mode_set()
647 radeon_audio_write_sad_regs(encoder); in radeon_audio_hdmi_mode_set()
648 radeon_audio_write_latency_fields(encoder, mode); in radeon_audio_hdmi_mode_set()
649 radeon_audio_set_dto(encoder, mode->clock); in radeon_audio_hdmi_mode_set()
650 radeon_audio_set_vbi_packet(encoder); in radeon_audio_hdmi_mode_set()
651 radeon_hdmi_set_color_depth(encoder); in radeon_audio_hdmi_mode_set()
652 radeon_audio_update_acr(encoder, mode->clock); in radeon_audio_hdmi_mode_set()
653 radeon_audio_set_audio_packet(encoder); in radeon_audio_hdmi_mode_set()
654 radeon_audio_select_pin(encoder); in radeon_audio_hdmi_mode_set()
656 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_hdmi_mode_set()
659 radeon_audio_set_mute(encoder, false); in radeon_audio_hdmi_mode_set()
661 radeon_hdmi_set_color_depth(encoder); in radeon_audio_hdmi_mode_set()
663 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_hdmi_mode_set()
668 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder, in radeon_audio_dp_mode_set() argument
671 struct drm_device *dev = encoder->dev; in radeon_audio_dp_mode_set()
673 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_dp_mode_set()
675 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_dp_mode_set()
684 radeon_audio_write_speaker_allocation(encoder); in radeon_audio_dp_mode_set()
685 radeon_audio_write_sad_regs(encoder); in radeon_audio_dp_mode_set()
686 radeon_audio_write_latency_fields(encoder, mode); in radeon_audio_dp_mode_set()
687 radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10); in radeon_audio_dp_mode_set()
688 radeon_audio_set_audio_packet(encoder); in radeon_audio_dp_mode_set()
689 radeon_audio_select_pin(encoder); in radeon_audio_dp_mode_set()
691 if (radeon_audio_set_avi_packet(encoder, mode) < 0) in radeon_audio_dp_mode_set()
696 void radeon_audio_mode_set(struct drm_encoder *encoder, in radeon_audio_mode_set() argument
699 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_mode_set()
702 radeon_encoder->audio->mode_set(encoder, mode); in radeon_audio_mode_set()
705 void radeon_audio_dpms(struct drm_encoder *encoder, int mode) in radeon_audio_dpms() argument
707 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_dpms()
710 radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON); in radeon_audio_dpms()