Lines Matching refs:encoder

697 static void dce_v11_0_program_fmt(struct drm_encoder *encoder)  in dce_v11_0_program_fmt()  argument
699 struct drm_device *dev = encoder->dev; in dce_v11_0_program_fmt()
701 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_program_fmt()
702 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc); in dce_v11_0_program_fmt()
703 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); in dce_v11_0_program_fmt()
1413 static void dce_v11_0_afmt_audio_select_pin(struct drm_encoder *encoder) in dce_v11_0_afmt_audio_select_pin() argument
1415 struct amdgpu_device *adev = encoder->dev->dev_private; in dce_v11_0_afmt_audio_select_pin()
1416 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_afmt_audio_select_pin()
1428 static void dce_v11_0_audio_write_latency_fields(struct drm_encoder *encoder, in dce_v11_0_audio_write_latency_fields() argument
1431 struct amdgpu_device *adev = encoder->dev->dev_private; in dce_v11_0_audio_write_latency_fields()
1432 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_audio_write_latency_fields()
1442 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { in dce_v11_0_audio_write_latency_fields()
1443 if (connector->encoder == encoder) { in dce_v11_0_audio_write_latency_fields()
1471 static void dce_v11_0_audio_write_speaker_allocation(struct drm_encoder *encoder) in dce_v11_0_audio_write_speaker_allocation() argument
1473 struct amdgpu_device *adev = encoder->dev->dev_private; in dce_v11_0_audio_write_speaker_allocation()
1474 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_audio_write_speaker_allocation()
1485 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { in dce_v11_0_audio_write_speaker_allocation()
1486 if (connector->encoder == encoder) { in dce_v11_0_audio_write_speaker_allocation()
1523 static void dce_v11_0_audio_write_sad_regs(struct drm_encoder *encoder) in dce_v11_0_audio_write_sad_regs() argument
1525 struct amdgpu_device *adev = encoder->dev->dev_private; in dce_v11_0_audio_write_sad_regs()
1526 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_audio_write_sad_regs()
1551 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { in dce_v11_0_audio_write_sad_regs()
1552 if (connector->encoder == encoder) { in dce_v11_0_audio_write_sad_regs()
1671 static void dce_v11_0_afmt_update_ACR(struct drm_encoder *encoder, uint32_t clock) in dce_v11_0_afmt_update_ACR() argument
1673 struct drm_device *dev = encoder->dev; in dce_v11_0_afmt_update_ACR()
1676 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_afmt_update_ACR()
1706 static void dce_v11_0_afmt_update_avi_infoframe(struct drm_encoder *encoder, in dce_v11_0_afmt_update_avi_infoframe() argument
1709 struct drm_device *dev = encoder->dev; in dce_v11_0_afmt_update_avi_infoframe()
1711 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_afmt_update_avi_infoframe()
1726 static void dce_v11_0_audio_set_dto(struct drm_encoder *encoder, u32 clock) in dce_v11_0_audio_set_dto() argument
1728 struct drm_device *dev = encoder->dev; in dce_v11_0_audio_set_dto()
1730 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_audio_set_dto()
1732 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc); in dce_v11_0_audio_set_dto()
1756 static void dce_v11_0_afmt_setmode(struct drm_encoder *encoder, in dce_v11_0_afmt_setmode() argument
1759 struct drm_device *dev = encoder->dev; in dce_v11_0_afmt_setmode()
1761 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_afmt_setmode()
1763 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); in dce_v11_0_afmt_setmode()
1778 if (encoder->crtc) { in dce_v11_0_afmt_setmode()
1779 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc); in dce_v11_0_afmt_setmode()
1787 dce_v11_0_audio_set_dto(encoder, mode->clock); in dce_v11_0_afmt_setmode()
1870 dce_v11_0_afmt_update_ACR(encoder, mode->clock); in dce_v11_0_afmt_setmode()
1889 dce_v11_0_audio_write_speaker_allocation(encoder); in dce_v11_0_afmt_setmode()
1894 dce_v11_0_afmt_audio_select_pin(encoder); in dce_v11_0_afmt_setmode()
1895 dce_v11_0_audio_write_sad_regs(encoder); in dce_v11_0_afmt_setmode()
1896 dce_v11_0_audio_write_latency_fields(encoder, mode); in dce_v11_0_afmt_setmode()
1910 dce_v11_0_afmt_update_avi_infoframe(encoder, buffer, sizeof(buffer)); in dce_v11_0_afmt_setmode()
1937 static void dce_v11_0_afmt_enable(struct drm_encoder *encoder, bool enable) in dce_v11_0_afmt_enable() argument
1939 struct drm_device *dev = encoder->dev; in dce_v11_0_afmt_enable()
1941 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_afmt_enable()
2355 static int dce_v11_0_pick_dig_encoder(struct drm_encoder *encoder) in dce_v11_0_pick_dig_encoder() argument
2357 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_pick_dig_encoder()
2418 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(amdgpu_crtc->encoder))) { in dce_v11_0_pick_pll()
2782 amdgpu_crtc->encoder = NULL; in dce_v11_0_crtc_disable()
2814 struct drm_encoder *encoder; in dce_v11_0_crtc_mode_fixup() local
2817 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { in dce_v11_0_crtc_mode_fixup()
2818 if (encoder->crtc == crtc) { in dce_v11_0_crtc_mode_fixup()
2819 amdgpu_crtc->encoder = encoder; in dce_v11_0_crtc_mode_fixup()
2820 amdgpu_crtc->connector = amdgpu_get_connector_for_encoder(encoder); in dce_v11_0_crtc_mode_fixup()
2824 if ((amdgpu_crtc->encoder == NULL) || (amdgpu_crtc->connector == NULL)) { in dce_v11_0_crtc_mode_fixup()
2825 amdgpu_crtc->encoder = NULL; in dce_v11_0_crtc_mode_fixup()
2837 !ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(amdgpu_crtc->encoder))) in dce_v11_0_crtc_mode_fixup()
2920 amdgpu_crtc->encoder = NULL; in dce_v11_0_crtc_init()
3505 dce_v11_0_encoder_mode_set(struct drm_encoder *encoder, in dce_v11_0_encoder_mode_set() argument
3509 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_encoder_mode_set()
3514 amdgpu_atombios_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); in dce_v11_0_encoder_mode_set()
3517 dce_v11_0_set_interleave(encoder->crtc, mode); in dce_v11_0_encoder_mode_set()
3519 if (amdgpu_atombios_encoder_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_HDMI) { in dce_v11_0_encoder_mode_set()
3520 dce_v11_0_afmt_enable(encoder, true); in dce_v11_0_encoder_mode_set()
3521 dce_v11_0_afmt_setmode(encoder, adjusted_mode); in dce_v11_0_encoder_mode_set()
3525 static void dce_v11_0_encoder_prepare(struct drm_encoder *encoder) in dce_v11_0_encoder_prepare() argument
3527 struct amdgpu_device *adev = encoder->dev->dev_private; in dce_v11_0_encoder_prepare()
3528 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_encoder_prepare()
3529 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); in dce_v11_0_encoder_prepare()
3533 (amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != in dce_v11_0_encoder_prepare()
3537 dig->dig_encoder = dce_v11_0_pick_dig_encoder(encoder); in dce_v11_0_encoder_prepare()
3559 amdgpu_atombios_encoder_set_crtc_source(encoder); in dce_v11_0_encoder_prepare()
3561 dce_v11_0_program_fmt(encoder); in dce_v11_0_encoder_prepare()
3564 static void dce_v11_0_encoder_commit(struct drm_encoder *encoder) in dce_v11_0_encoder_commit() argument
3566 struct drm_device *dev = encoder->dev; in dce_v11_0_encoder_commit()
3570 amdgpu_atombios_encoder_dpms(encoder, DRM_MODE_DPMS_ON); in dce_v11_0_encoder_commit()
3574 static void dce_v11_0_encoder_disable(struct drm_encoder *encoder) in dce_v11_0_encoder_disable() argument
3576 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_encoder_disable()
3579 amdgpu_atombios_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); in dce_v11_0_encoder_disable()
3581 if (amdgpu_atombios_encoder_is_digital(encoder)) { in dce_v11_0_encoder_disable()
3582 if (amdgpu_atombios_encoder_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_HDMI) in dce_v11_0_encoder_disable()
3583 dce_v11_0_afmt_enable(encoder, false); in dce_v11_0_encoder_disable()
3591 static void dce_v11_0_ext_prepare(struct drm_encoder *encoder) in dce_v11_0_ext_prepare() argument
3596 static void dce_v11_0_ext_commit(struct drm_encoder *encoder) in dce_v11_0_ext_commit() argument
3602 dce_v11_0_ext_mode_set(struct drm_encoder *encoder, in dce_v11_0_ext_mode_set() argument
3609 static void dce_v11_0_ext_disable(struct drm_encoder *encoder) in dce_v11_0_ext_disable() argument
3615 dce_v11_0_ext_dpms(struct drm_encoder *encoder, int mode) in dce_v11_0_ext_dpms() argument
3620 static bool dce_v11_0_ext_mode_fixup(struct drm_encoder *encoder, in dce_v11_0_ext_mode_fixup() argument
3656 static void dce_v11_0_encoder_destroy(struct drm_encoder *encoder) in dce_v11_0_encoder_destroy() argument
3658 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_encoder_destroy()
3662 drm_encoder_cleanup(encoder); in dce_v11_0_encoder_destroy()
3676 struct drm_encoder *encoder; in dce_v11_0_encoder_add() local
3680 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { in dce_v11_0_encoder_add()
3681 amdgpu_encoder = to_amdgpu_encoder(encoder); in dce_v11_0_encoder_add()
3694 encoder = &amdgpu_encoder->base; in dce_v11_0_encoder_add()
3697 encoder->possible_crtcs = 0x1; in dce_v11_0_encoder_add()
3701 encoder->possible_crtcs = 0x3; in dce_v11_0_encoder_add()
3704 encoder->possible_crtcs = 0xf; in dce_v11_0_encoder_add()
3707 encoder->possible_crtcs = 0x3f; in dce_v11_0_encoder_add()
3724 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3726 drm_encoder_helper_add(encoder, &dce_v11_0_dac_helper_funcs); in dce_v11_0_encoder_add()
3735 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3739 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3743 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3747 drm_encoder_helper_add(encoder, &dce_v11_0_dig_helper_funcs); in dce_v11_0_encoder_add()
3761 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3764 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3767 drm_encoder_init(dev, encoder, &dce_v11_0_encoder_funcs, in dce_v11_0_encoder_add()
3769 drm_encoder_helper_add(encoder, &dce_v11_0_ext_helper_funcs); in dce_v11_0_encoder_add()