Lines Matching refs:enc

103 static bool has_query_dp_alt(struct link_encoder *enc)
105 struct dc_dmub_srv *dc_dmub_srv = enc->ctx->dmub_srv;
107 if (enc->ctx->dce_version >= DCN_VERSION_3_15)
116 static bool query_dp_alt_from_dmub(struct link_encoder *enc,
119 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
128 if (!dc_wake_and_execute_dmub_cmd(enc->ctx, cmd, DM_DMUB_WAIT_TYPE_WAIT_WITH_REPLY))
135 struct link_encoder *enc,
139 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
141 switch (enc->transmitter) {
208 static void enc31_hw_init(struct link_encoder *enc)
210 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
451 struct link_encoder *enc,
455 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
458 if (!link_enc_cfg_is_transmitter_mappable(enc->ctx->dc, enc)) {
460 DC_LOG_DEBUG("%s: enc_id(%d)\n", __func__, enc->preferred_engine);
461 dcn20_link_encoder_enable_dp_output(enc, link_settings, clock_source);
468 link = link_enc_cfg_get_link_using_link_enc(enc->ctx->dc, enc->preferred_engine);
473 dpia_control.enc_id = enc->preferred_engine;
493 link_dpia_control(enc->ctx, &dpia_control);
498 struct link_encoder *enc,
502 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
505 if (!link_enc_cfg_is_transmitter_mappable(enc->ctx->dc, enc)) {
507 DC_LOG_DEBUG("%s: enc_id(%d)\n", __func__, enc->preferred_engine);
508 dcn10_link_encoder_enable_dp_mst_output(enc, link_settings, clock_source);
515 link = link_enc_cfg_get_link_using_link_enc(enc->ctx->dc, enc->preferred_engine);
520 dpia_control.enc_id = enc->preferred_engine;
540 link_dpia_control(enc->ctx, &dpia_control);
545 struct link_encoder *enc,
548 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
551 if (!link_enc_cfg_is_transmitter_mappable(enc->ctx->dc, enc)) {
553 DC_LOG_DEBUG("%s: enc_id(%d)\n", __func__, enc->preferred_engine);
554 dcn10_link_encoder_disable_output(enc, signal);
561 if (enc->funcs->is_dig_enabled && !enc->funcs->is_dig_enabled(enc))
564 link = link_enc_cfg_get_link_using_link_enc(enc->ctx->dc, enc->preferred_engine);
567 dpia_control.enc_id = enc->preferred_engine;
586 link_dpia_control(enc->ctx, &dpia_control);
592 bool dcn31_link_encoder_is_in_alt_mode(struct link_encoder *enc)
594 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
599 if (!enc->features.flags.bits.DP_IS_USB_C)
606 if (has_query_dp_alt(enc)) {
607 if (!query_dp_alt_from_dmub(enc, &cmd))
614 if (enc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_B0) {
636 void dcn31_link_encoder_get_max_link_cap(struct link_encoder *enc, struct dc_link_settings *link_settings)
638 struct dcn10_link_encoder *enc10 = TO_DCN10_LINK_ENC(enc);
642 dcn10_link_encoder_get_max_link_cap(enc, link_settings);
645 if (!enc->features.flags.bits.DP_IS_USB_C)
652 if (has_query_dp_alt(enc)) {
653 if (!query_dp_alt_from_dmub(enc, &cmd))
664 if (enc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_B0) {