Lines Matching refs:encoder

40 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
42 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
189 struct drm_encoder *encoder;
198 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) {
199 if (radeon_encoder_is_digital(encoder)) {
200 radeon_encoder = to_radeon_encoder(encoder);
302 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder)
304 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
305 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
320 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_count);
325 static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder)
327 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
328 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
344 radeon_encoder->audio->write_speaker_allocation(encoder, sadb, sad_count);
349 static void radeon_audio_write_latency_fields(struct drm_encoder *encoder,
352 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
353 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
359 radeon_encoder->audio->write_latency_fields(encoder, connector, mode);
362 struct r600_audio_pin* radeon_audio_get_pin(struct drm_encoder *encoder)
364 struct radeon_device *rdev = encoder->dev->dev_private;
365 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
373 static void radeon_audio_select_pin(struct drm_encoder *encoder)
375 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
378 radeon_encoder->audio->select_pin(encoder);
382 struct drm_encoder *encoder,
387 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
393 if (!radeon_encoder_is_digital(encoder))
413 dig->pin = radeon_audio_get_pin(encoder);
438 static void radeon_audio_set_dto(struct drm_encoder *encoder, unsigned int clock)
440 struct radeon_device *rdev = encoder->dev->dev_private;
441 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
442 struct radeon_crtc *crtc = to_radeon_crtc(encoder->crtc);
448 static int radeon_audio_set_avi_packet(struct drm_encoder *encoder,
451 struct radeon_device *rdev = encoder->dev->dev_private;
452 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
454 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
565 static void radeon_audio_update_acr(struct drm_encoder *encoder, unsigned int clock)
568 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
575 radeon_encoder->audio->update_acr(encoder, dig->afmt->offset, acr);
578 static void radeon_audio_set_vbi_packet(struct drm_encoder *encoder)
580 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
587 radeon_encoder->audio->set_vbi_packet(encoder, dig->afmt->offset);
590 static void radeon_hdmi_set_color_depth(struct drm_encoder *encoder)
593 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
599 if (encoder->crtc) {
600 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc);
605 radeon_encoder->audio->set_color_depth(encoder, dig->afmt->offset, bpc);
608 static void radeon_audio_set_audio_packet(struct drm_encoder *encoder)
610 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
617 radeon_encoder->audio->set_audio_packet(encoder, dig->afmt->offset);
620 static void radeon_audio_set_mute(struct drm_encoder *encoder, bool mute)
622 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
629 radeon_encoder->audio->set_mute(encoder, dig->afmt->offset, mute);
635 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
638 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
640 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
649 radeon_audio_set_mute(encoder, true);
651 radeon_audio_write_speaker_allocation(encoder);
652 radeon_audio_write_sad_regs(encoder);
653 radeon_audio_write_latency_fields(encoder, mode);
654 radeon_audio_set_dto(encoder, mode->clock);
655 radeon_audio_set_vbi_packet(encoder);
656 radeon_hdmi_set_color_depth(encoder);
657 radeon_audio_update_acr(encoder, mode->clock);
658 radeon_audio_set_audio_packet(encoder);
659 radeon_audio_select_pin(encoder);
661 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
664 radeon_audio_set_mute(encoder, false);
666 radeon_hdmi_set_color_depth(encoder);
668 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
673 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
676 struct drm_device *dev = encoder->dev;
678 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
680 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
689 radeon_audio_write_speaker_allocation(encoder);
690 radeon_audio_write_sad_regs(encoder);
691 radeon_audio_write_latency_fields(encoder, mode);
692 radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10);
693 radeon_audio_set_audio_packet(encoder);
694 radeon_audio_select_pin(encoder);
696 if (radeon_audio_set_avi_packet(encoder, mode) < 0)
701 void radeon_audio_mode_set(struct drm_encoder *encoder,
704 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
707 radeon_encoder->audio->mode_set(encoder, mode);
710 void radeon_audio_dpms(struct drm_encoder *encoder, int mode)
712 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
715 radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON);
751 struct drm_encoder *encoder;
761 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) {
762 if (!radeon_encoder_is_digital(encoder))
764 radeon_encoder = to_radeon_encoder(encoder);
768 connector = radeon_get_connector_for_encoder(encoder);