Lines Matching refs:funcs

114 		    !tg->funcs->is_tg_enabled(tg) ||  in dcn10_lock_all_pipes()
147 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_log_hubbub_state()
180 hubp->funcs->hubp_read_state(hubp); in dcn10_log_hubp_states()
302 dpp->funcs->dpp_read_state(dpp, &s); in dcn10_log_hw_state()
343 pool->mpc->funcs->read_mpcc_state(pool->mpc, i, &s); in dcn10_log_hw_state()
367 if (pool->opps[i]->funcs->dpg_is_blanked) in dcn10_log_hw_state()
368 s.blank_enabled = pool->opps[i]->funcs->dpg_is_blanked(pool->opps[i]); in dcn10_log_hw_state()
370 s.blank_enabled = tg->funcs->is_blanked(tg); in dcn10_log_hw_state()
401 tg->funcs->clear_optc_underflow(tg); in dcn10_log_hw_state()
412 dsc->funcs->dsc_read_state(dsc, &s); in dcn10_log_hw_state()
428 if (enc->funcs->enc_read_state) { in dcn10_log_hw_state()
429 enc->funcs->enc_read_state(enc, &s); in dcn10_log_hw_state()
449 if (lenc && lenc->funcs->read_state) { in dcn10_log_hw_state()
450 lenc->funcs->read_state(lenc, &s); in dcn10_log_hw_state()
481 if (hpo_dp_stream_enc && hpo_dp_stream_enc->funcs->read_state) { in dcn10_log_hw_state()
482 hpo_dp_stream_enc->funcs->read_state(hpo_dp_stream_enc, &hpo_dp_se_state); in dcn10_log_hw_state()
512 if (hpo_dp_link_enc->funcs->read_state) { in dcn10_log_hw_state()
513 hpo_dp_link_enc->funcs->read_state(hpo_dp_link_enc, &hpo_dp_le_state); in dcn10_log_hw_state()
541 if (tg->funcs->is_optc_underflow_occurred(tg)) { in dcn10_did_underflow_occur()
542 tg->funcs->clear_optc_underflow(tg); in dcn10_did_underflow_occur()
546 if (hubp->funcs->hubp_get_underflow_status(hubp)) { in dcn10_did_underflow_occur()
547 hubp->funcs->hubp_clear_underflow(hubp); in dcn10_did_underflow_occur()
736 if (hws->funcs.dpp_root_clock_control) in power_on_plane_resources()
737 hws->funcs.dpp_root_clock_control(hws, plane_id, true); in power_on_plane_resources()
743 if (hws->funcs.dpp_pg_control) in power_on_plane_resources()
744 hws->funcs.dpp_pg_control(hws, plane_id, true); in power_on_plane_resources()
746 if (hws->funcs.hubp_pg_control) in power_on_plane_resources()
747 hws->funcs.hubp_pg_control(hws, plane_id, true); in power_on_plane_resources()
764 hubp->funcs->set_blank(hubp, true); in undo_DEGVIDCN10_253_wa()
769 hws->funcs.hubp_pg_control(hws, 0, false); in undo_DEGVIDCN10_253_wa()
798 hws->funcs.hubp_pg_control(hws, 0, true); in apply_DEGVIDCN10_253_wa()
802 hubp->funcs->set_hubp_blank_en(hubp, false); in apply_DEGVIDCN10_253_wa()
813 if (hws->funcs.s0i3_golden_init_wa && hws->funcs.s0i3_golden_init_wa(dc)) in dcn10_bios_golden_init()
816 if (dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled) in dcn10_bios_golden_init()
818 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub); in dcn10_bios_golden_init()
829 bp->funcs->enable_disp_power_gating(bp, in dcn10_bios_golden_init()
834 bp->funcs->enable_disp_power_gating(bp, in dcn10_bios_golden_init()
838 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_bios_golden_init()
840 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub)) in dcn10_bios_golden_init()
841 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_bios_golden_init()
857 underflow = tg->funcs->is_optc_underflow_occurred(tg); in false_optc_underflow_wa()
868 if (tg->funcs->set_blank_data_double_buffer) in false_optc_underflow_wa()
869 tg->funcs->set_blank_data_double_buffer(tg, true); in false_optc_underflow_wa()
871 if (tg->funcs->is_optc_underflow_occurred(tg) && !underflow) in false_optc_underflow_wa()
872 tg->funcs->clear_optc_underflow(tg); in false_optc_underflow_wa()
922 pipe_ctx->stream_res.tg->funcs->enable_optc_clock(pipe_ctx->stream_res.tg, true); in dcn10_enable_stream_timing()
924 if (false == pipe_ctx->clock_source->funcs->program_pix_clk( in dcn10_enable_stream_timing()
941 pipe_ctx->stream_res.tg->funcs->program_timing( in dcn10_enable_stream_timing()
957 pipe_ctx->stream_res.opp->funcs->opp_program_fmt( in dcn10_enable_stream_timing()
974 if (pipe_ctx->stream_res.tg->funcs->set_blank_color) in dcn10_enable_stream_timing()
975 pipe_ctx->stream_res.tg->funcs->set_blank_color( in dcn10_enable_stream_timing()
979 if (pipe_ctx->stream_res.tg->funcs->is_blanked && in dcn10_enable_stream_timing()
980 !pipe_ctx->stream_res.tg->funcs->is_blanked(pipe_ctx->stream_res.tg)) { in dcn10_enable_stream_timing()
981 pipe_ctx->stream_res.tg->funcs->set_blank(pipe_ctx->stream_res.tg, true); in dcn10_enable_stream_timing()
987 if (false == pipe_ctx->stream_res.tg->funcs->enable_crtc(pipe_ctx->stream_res.tg)) { in dcn10_enable_stream_timing()
1030 pipe_ctx->stream_res.audio->funcs->az_disable(pipe_ctx->stream_res.audio); in dcn10_reset_back_end_for_pipe()
1051 pipe_ctx->stream_res.tg->funcs->disable_crtc(pipe_ctx->stream_res.tg); in dcn10_reset_back_end_for_pipe()
1053 pipe_ctx->stream_res.tg->funcs->enable_optc_clock(pipe_ctx->stream_res.tg, false); in dcn10_reset_back_end_for_pipe()
1054 if (pipe_ctx->stream_res.tg->funcs->set_drr) in dcn10_reset_back_end_for_pipe()
1055 pipe_ctx->stream_res.tg->funcs->set_drr( in dcn10_reset_back_end_for_pipe()
1087 if (hubp != NULL && hubp->funcs->hubp_get_underflow_status) { in dcn10_hw_wa_force_recovery()
1088 if (hubp->funcs->hubp_get_underflow_status(hubp) != 0) { in dcn10_hw_wa_force_recovery()
1113 if (hubp != NULL && hubp->funcs->set_hubp_blank_en) in dcn10_hw_wa_force_recovery()
1114 hubp->funcs->set_hubp_blank_en(hubp, true); in dcn10_hw_wa_force_recovery()
1126 if (hubp != NULL && hubp->funcs->hubp_disable_control) in dcn10_hw_wa_force_recovery()
1127 hubp->funcs->hubp_disable_control(hubp, true); in dcn10_hw_wa_force_recovery()
1136 if (hubp != NULL && hubp->funcs->hubp_disable_control) in dcn10_hw_wa_force_recovery()
1137 hubp->funcs->hubp_disable_control(hubp, true); in dcn10_hw_wa_force_recovery()
1148 if (hubp != NULL && hubp->funcs->set_hubp_blank_en) in dcn10_hw_wa_force_recovery()
1149 hubp->funcs->set_hubp_blank_en(hubp, true); in dcn10_hw_wa_force_recovery()
1161 if (!hubbub->funcs->verify_allow_pstate_change_high) in dcn10_verify_allow_pstate_change_high()
1164 if (!hubbub->funcs->verify_allow_pstate_change_high(hubbub)) { in dcn10_verify_allow_pstate_change_high()
1174 if (!hubbub->funcs->verify_allow_pstate_change_high(hubbub)) in dcn10_verify_allow_pstate_change_high()
1192 mpcc_to_remove = mpc->funcs->get_mpcc_for_dpp(mpc_tree_params, dpp_id); in dcn10_plane_atomic_disconnect()
1198 mpc->funcs->remove_mpcc(mpc, mpc_tree_params, mpcc_to_remove); in dcn10_plane_atomic_disconnect()
1206 if (hubp->funcs->hubp_disconnect) in dcn10_plane_atomic_disconnect()
1207 hubp->funcs->hubp_disconnect(hubp); in dcn10_plane_atomic_disconnect()
1210 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_plane_atomic_disconnect()
1237 if (hws->funcs.dpp_pg_control) in dcn10_plane_atomic_power_down()
1238 hws->funcs.dpp_pg_control(hws, dpp->inst, false); in dcn10_plane_atomic_power_down()
1240 if (hws->funcs.hubp_pg_control) in dcn10_plane_atomic_power_down()
1241 hws->funcs.hubp_pg_control(hws, hubp->inst, false); in dcn10_plane_atomic_power_down()
1243 dpp->funcs->dpp_reset(dpp); in dcn10_plane_atomic_power_down()
1251 if (hws->funcs.dpp_root_clock_control) in dcn10_plane_atomic_power_down()
1252 hws->funcs.dpp_root_clock_control(hws, dpp->inst, false); in dcn10_plane_atomic_power_down()
1267 hubp->funcs->hubp_clk_cntl(hubp, false); in dcn10_plane_atomic_disable()
1269 dpp->funcs->dpp_dppclk_control(dpp, false, false); in dcn10_plane_atomic_disable()
1272 pipe_ctx->stream_res.opp->funcs->opp_pipe_clock_control( in dcn10_plane_atomic_disable()
1279 hws->funcs.plane_atomic_power_down(dc, in dcn10_plane_atomic_disable()
1299 hws->funcs.plane_atomic_disable(dc, pipe_ctx); in dcn10_disable_plane()
1335 if (tg->funcs->is_tg_enabled(tg)) { in dcn10_init_pipes()
1336 if (hws->funcs.init_blank != NULL) { in dcn10_init_pipes()
1337 hws->funcs.init_blank(dc, tg); in dcn10_init_pipes()
1338 tg->funcs->lock(tg); in dcn10_init_pipes()
1340 tg->funcs->lock(tg); in dcn10_init_pipes()
1341 tg->funcs->set_blank(tg, true); in dcn10_init_pipes()
1357 if (hubbub->funcs->program_det_size) in dcn10_init_pipes()
1358 hubbub->funcs->program_det_size(hubbub, hubp->inst, 0); in dcn10_init_pipes()
1370 dc->res_pool->mpc->funcs->mpc_init_single_inst( in dcn10_init_pipes()
1386 pipe_ctx->stream_res.tg->funcs->is_tg_enabled( in dcn10_init_pipes()
1392 tg->funcs->tg_init(tg); in dcn10_init_pipes()
1400 dpp->funcs->dpp_reset(dpp); in dcn10_init_pipes()
1417 hws->funcs.plane_atomic_disconnect(dc, pipe_ctx); in dcn10_init_pipes()
1419 if (tg->funcs->is_tg_enabled(tg)) in dcn10_init_pipes()
1420 tg->funcs->unlock(tg); in dcn10_init_pipes()
1427 if (tg->funcs->is_tg_enabled(tg)) { in dcn10_init_pipes()
1428 if (tg->funcs->init_odm) in dcn10_init_pipes()
1429 tg->funcs->init_odm(tg); in dcn10_init_pipes()
1432 tg->funcs->tg_init(tg); in dcn10_init_pipes()
1436 if (hws->funcs.dsc_pg_control != NULL) { in dcn10_init_pipes()
1451 if (tg->funcs->is_tg_enabled(tg)) { in dcn10_init_pipes()
1452 if (tg->funcs->get_dsc_status) in dcn10_init_pipes()
1453 tg->funcs->get_dsc_status(tg, &optc_dsc_state); in dcn10_init_pipes()
1457 tg->funcs->get_optc_source(tg, &num_opps, &opp_id_src0, &opp_id_src1); in dcn10_init_pipes()
1467 dc->res_pool->dscs[i]->funcs->dsc_read_state(dc->res_pool->dscs[i], &s); in dcn10_init_pipes()
1473 hws->funcs.dsc_pg_control(hws, dc->res_pool->dscs[i]->inst, false); in dcn10_init_pipes()
1489 if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks) in dcn10_init_hw()
1490 dc->clk_mgr->funcs->init_clocks(dc->clk_mgr); in dcn10_init_hw()
1499 if (dc->res_pool->dccg && dc->res_pool->dccg->funcs->dccg_init) in dcn10_init_hw()
1500 dc->res_pool->dccg->funcs->dccg_init(res_pool->dccg); in dcn10_init_hw()
1502 if (!dcb->funcs->is_accelerated_mode(dcb)) in dcn10_init_hw()
1503 hws->funcs.disable_vga(dc->hwseq); in dcn10_init_hw()
1506 hws->funcs.bios_golden_init(dc); in dcn10_init_hw()
1515 (res_pool->dccg->funcs->get_dccg_ref_freq)(res_pool->dccg, in dcn10_init_hw()
1519 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn10_init_hw()
1540 link->link_enc->funcs->hw_init(link->link_enc); in dcn10_init_hw()
1543 if (link->link_enc->funcs->is_dig_enabled && in dcn10_init_hw()
1544 link->link_enc->funcs->is_dig_enabled(link->link_enc)) { in dcn10_init_hw()
1546 if (link->link_enc->funcs->fec_is_active && in dcn10_init_hw()
1547 link->link_enc->funcs->fec_is_active(link->link_enc)) in dcn10_init_hw()
1555 if (hws->funcs.enable_power_gating_plane) in dcn10_init_hw()
1556 hws->funcs.enable_power_gating_plane(dc->hwseq, true); in dcn10_init_hw()
1564 if (dcb->funcs->is_accelerated_mode(dcb) || !dc->config.seamless_boot_edp_requested) { in dcn10_init_hw()
1566 hws->funcs.init_pipes(dc, dc->current_state); in dcn10_init_hw()
1567 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_init_hw()
1568 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_init_hw()
1578 audio->funcs->hw_init(audio); in dcn10_init_hw()
1585 backlight = link->panel_cntl->funcs->hw_init(link->panel_cntl); in dcn10_init_hw()
1589 abm->funcs->abm_init(abm, backlight); in dcn10_init_hw()
1592 dmcu->funcs->dmcu_init(dmcu); in dcn10_init_hw()
1596 abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu); in dcn10_init_hw()
1611 if (dc->clk_mgr->funcs->notify_wm_ranges) in dcn10_init_hw()
1612 dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr); in dcn10_init_hw()
1631 if (edp_link && edp_link->link_enc->funcs->is_dig_enabled && in dcn10_power_down_on_boot()
1632 edp_link->link_enc->funcs->is_dig_enabled(edp_link->link_enc) && in dcn10_power_down_on_boot()
1633 dc->hwseq->funcs.edp_backlight_control && in dcn10_power_down_on_boot()
1636 dc->hwseq->funcs.edp_backlight_control(edp_link, false); in dcn10_power_down_on_boot()
1643 if (link->link_enc && link->link_enc->funcs->is_dig_enabled && in dcn10_power_down_on_boot()
1644 link->link_enc->funcs->is_dig_enabled(link->link_enc) && in dcn10_power_down_on_boot()
1658 if (dc->clk_mgr->funcs->set_low_power_state) in dcn10_power_down_on_boot()
1659 dc->clk_mgr->funcs->set_low_power_state(dc->clk_mgr); in dcn10_power_down_on_boot()
1686 if (hws->funcs.enable_stream_gating) in dcn10_reset_hw_ctx_wrap()
1687 hws->funcs.enable_stream_gating(dc, pipe_ctx_old); in dcn10_reset_hw_ctx_wrap()
1689 old_clk->funcs->cs_power_down(old_clk); in dcn10_reset_hw_ctx_wrap()
1733 pipe_ctx->plane_res.hubp->funcs->hubp_program_surface_flip_and_addr( in dcn10_update_plane_addr()
1764 dpp_base->funcs->dpp_program_input_lut(dpp_base, plane_state->gamma_correction); in dcn10_set_input_transfer_func()
1767 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_BYPASS); in dcn10_set_input_transfer_func()
1771 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_HW_sRGB); in dcn10_set_input_transfer_func()
1774 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_HW_xvYCC); in dcn10_set_input_transfer_func()
1777 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_BYPASS); in dcn10_set_input_transfer_func()
1780 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_USER_PWL); in dcn10_set_input_transfer_func()
1782 dpp_base->funcs->dpp_program_degamma_pwl(dpp_base, &dpp_base->degamma_params); in dcn10_set_input_transfer_func()
1790 dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_BYPASS); in dcn10_set_input_transfer_func()
1794 dpp_base->funcs->dpp_program_degamma_pwl(dpp_base, in dcn10_set_input_transfer_func()
1846 dpp->funcs->dpp_program_regamma_pwl(dpp, NULL, OPP_REGAMMA_SRGB); in dcn10_set_output_transfer_func()
1854 dpp->funcs->dpp_program_regamma_pwl( in dcn10_set_output_transfer_func()
1858 dpp->funcs->dpp_program_regamma_pwl(dpp, NULL, OPP_REGAMMA_BYPASS); in dcn10_set_output_transfer_func()
1884 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_pipe_control_lock()
1887 pipe->stream_res.tg->funcs->lock(pipe->stream_res.tg); in dcn10_pipe_control_lock()
1889 pipe->stream_res.tg->funcs->unlock(pipe->stream_res.tg); in dcn10_pipe_control_lock()
1892 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_pipe_control_lock()
1987 dc->res_pool->mpc->funcs->cursor_lock(dc->res_pool->mpc, in dcn10_cursor_lock()
2004 if (!tg->funcs->is_counter_moving(tg)) { in wait_for_reset_trigger_to_occur()
2009 if (tg->funcs->did_triggered_reset_occur(tg)) { in wait_for_reset_trigger_to_occur()
2018 tg->funcs->wait_for_state(tg, CRTC_STATE_VACTIVE); in wait_for_reset_trigger_to_occur()
2019 tg->funcs->wait_for_state(tg, CRTC_STATE_VBLANK); in wait_for_reset_trigger_to_occur()
2129 dc->res_pool->dp_clock_source->funcs->override_dp_pix_clk) { in dcn10_align_pixel_clocks()
2138 grouped_pipes[i]->stream_res.tg->funcs->get_hw_timing( in dcn10_align_pixel_clocks()
2141 dc->res_pool->dp_clock_source->funcs->get_pixel_clk_frequency_100hz( in dcn10_align_pixel_clocks()
2176 dc->res_pool->dp_clock_source->funcs->override_dp_pix_clk( in dcn10_align_pixel_clocks()
2180 dc->res_pool->dp_clock_source->funcs->get_pixel_clk_frequency_100hz( in dcn10_align_pixel_clocks()
2210 tg->funcs->get_otg_active_size(tg, &width, &height); in dcn10_enable_vblanks_synchronization()
2212 if (!tg->funcs->is_tg_enabled(tg)) { in dcn10_enable_vblanks_synchronization()
2217 if (opp->funcs->opp_program_dpg_dimensions) in dcn10_enable_vblanks_synchronization()
2218 opp->funcs->opp_program_dpg_dimensions(opp, width, 2*(height) + 1); in dcn10_enable_vblanks_synchronization()
2237 grouped_pipes[i]->stream_res.tg->funcs->align_vblanks( in dcn10_enable_vblanks_synchronization()
2253 tg->funcs->get_otg_active_size(tg, &width, &height); in dcn10_enable_vblanks_synchronization()
2254 if (opp->funcs->opp_program_dpg_dimensions) in dcn10_enable_vblanks_synchronization()
2255 opp->funcs->opp_program_dpg_dimensions(opp, width, height); in dcn10_enable_vblanks_synchronization()
2278 tg->funcs->get_otg_active_size(tg, &width, &height); in dcn10_enable_timing_synchronization()
2280 if (!tg->funcs->is_tg_enabled(tg)) { in dcn10_enable_timing_synchronization()
2285 if (opp->funcs->opp_program_dpg_dimensions) in dcn10_enable_timing_synchronization()
2286 opp->funcs->opp_program_dpg_dimensions(opp, width, 2*(height) + 1); in dcn10_enable_timing_synchronization()
2303 grouped_pipes[i]->stream_res.tg->funcs->enable_reset_trigger( in dcn10_enable_timing_synchronization()
2321 grouped_pipes[i]->stream_res.tg->funcs->disable_reset_trigger( in dcn10_enable_timing_synchronization()
2331 tg->funcs->get_otg_active_size(tg, &width, &height); in dcn10_enable_timing_synchronization()
2332 if (opp->funcs->opp_program_dpg_dimensions) in dcn10_enable_timing_synchronization()
2333 opp->funcs->opp_program_dpg_dimensions(opp, width, height); in dcn10_enable_timing_synchronization()
2349 if (grouped_pipes[i]->stream_res.tg->funcs->enable_crtc_reset) in dcn10_enable_per_frame_crtc_position_reset()
2350 grouped_pipes[i]->stream_res.tg->funcs->enable_crtc_reset( in dcn10_enable_per_frame_crtc_position_reset()
2442 hubp->funcs->hubp_set_vm_system_aperture_settings(hubp, &apt); in dcn10_program_pte_vm()
2443 hubp->funcs->hubp_set_vm_context0_settings(hubp, &vm0); in dcn10_program_pte_vm()
2454 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_enable_plane()
2463 pipe_ctx->plane_res.hubp->funcs->hubp_clk_cntl(pipe_ctx->plane_res.hubp, true); in dcn10_enable_plane()
2466 pipe_ctx->stream_res.opp->funcs->opp_pipe_clock_control( in dcn10_enable_plane()
2474 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_enable_plane()
2480 && pipe_ctx->plane_res.hubp->funcs->hubp_set_flip_int) in dcn10_enable_plane()
2481 pipe_ctx->plane_res.hubp->funcs->hubp_set_flip_int(pipe_ctx->plane_res.hubp); in dcn10_enable_plane()
2506 pipe_ctx->plane_res.dpp->funcs->dpp_set_gamut_remap(pipe_ctx->plane_res.dpp, &adjust); in dcn10_program_gamut_remap()
2533 pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment(pipe_ctx->plane_res.dpp, matrix); in dcn10_set_csc_adjustment_rgb_mpo_fix()
2546 if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment != NULL) { in dcn10_program_output_csc()
2562 pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment(pipe_ctx->plane_res.dpp, matrix); in dcn10_program_output_csc()
2566 if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default != NULL) in dcn10_program_output_csc()
2567 pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default(pipe_ctx->plane_res.dpp, colorspace); in dcn10_program_output_csc()
2576 dpp->funcs->dpp_setup(dpp, in dcn10_update_dpp()
2585 if (dpp->funcs->dpp_program_bias_and_scale) in dcn10_update_dpp()
2586 dpp->funcs->dpp_program_bias_and_scale(dpp, &bns_params); in dcn10_update_dpp()
2595 if (mpc->funcs->set_bg_color) { in dcn10_update_visual_confirm_color()
2597 mpc->funcs->set_bg_color(mpc, &(pipe_ctx->visual_confirm_color), mpcc_id); in dcn10_update_visual_confirm_color()
2649 mpc->funcs->update_blending(mpc, &blnd_cfg, mpcc_id); in dcn10_update_mpcc()
2655 new_mpcc = mpc->funcs->get_mpcc_for_dpp(mpc_tree_params, mpcc_id); in dcn10_update_mpcc()
2658 mpc->funcs->remove_mpcc(mpc, mpc_tree_params, new_mpcc); in dcn10_update_mpcc()
2661 mpc->funcs->assert_mpcc_idle_before_connect( in dcn10_update_mpcc()
2665 new_mpcc = mpc->funcs->insert_plane(dc->res_pool->mpc, in dcn10_update_mpcc()
2687 pipe_ctx->plane_res.dpp->funcs->dpp_set_scaler( in update_scaler()
2743 dpp->funcs->dpp_dppclk_control( in dcn10_update_dchubp_dpp()
2749 dc->res_pool->dccg->funcs->update_dpp_dto( in dcn10_update_dchubp_dpp()
2764 hubp->funcs->hubp_vtg_sel(hubp, pipe_ctx->stream_res.tg->inst); in dcn10_update_dchubp_dpp()
2766 hubp->funcs->hubp_setup( in dcn10_update_dchubp_dpp()
2772 hubp->funcs->hubp_setup_interdependent( in dcn10_update_dchubp_dpp()
2787 hws->funcs.update_mpcc(dc, pipe_ctx); in dcn10_update_dchubp_dpp()
2800 hubp->funcs->mem_program_viewport( in dcn10_update_dchubp_dpp()
2834 hubp->funcs->hubp_program_surface_config( in dcn10_update_dchubp_dpp()
2847 hws->funcs.update_plane_addr(dc, pipe_ctx); in dcn10_update_dchubp_dpp()
2850 hubp->funcs->set_blank(hubp, false); in dcn10_update_dchubp_dpp()
2876 if (stream_res->tg->funcs->set_blank_color) in dcn10_blank_pixel_data()
2877 stream_res->tg->funcs->set_blank_color( in dcn10_blank_pixel_data()
2882 if (stream_res->tg->funcs->set_blank) in dcn10_blank_pixel_data()
2883 stream_res->tg->funcs->set_blank(stream_res->tg, blank); in dcn10_blank_pixel_data()
2886 stream_res->abm->funcs->set_abm_level(stream_res->abm, stream->abm_level); in dcn10_blank_pixel_data()
2890 if (stream_res->tg->funcs->set_blank) { in dcn10_blank_pixel_data()
2891 stream_res->tg->funcs->wait_for_state(stream_res->tg, CRTC_STATE_VBLANK); in dcn10_blank_pixel_data()
2892 stream_res->tg->funcs->set_blank(stream_res->tg, blank); in dcn10_blank_pixel_data()
2911 pipe_ctx->plane_res.dpp->funcs->dpp_set_hdr_multiplier( in dcn10_set_hdr_multiplier()
2925 pipe_ctx->stream_res.tg->funcs->program_global_sync( in dcn10_program_pipe()
2932 pipe_ctx->stream_res.tg->funcs->set_vtg_params( in dcn10_program_pipe()
2935 if (hws->funcs.setup_vupdate_interrupt) in dcn10_program_pipe()
2936 hws->funcs.setup_vupdate_interrupt(dc, pipe_ctx); in dcn10_program_pipe()
2938 hws->funcs.blank_pixel_data(dc, pipe_ctx, blank); in dcn10_program_pipe()
2946 hws->funcs.set_hdr_multiplier(pipe_ctx); in dcn10_program_pipe()
2951 hws->funcs.set_input_transfer_func(dc, pipe_ctx, pipe_ctx->plane_state); in dcn10_program_pipe()
2960 hws->funcs.set_output_transfer_func(dc, pipe_ctx, pipe_ctx->stream); in dcn10_program_pipe()
2980 !tg->funcs->is_tg_enabled(tg)) in dcn10_wait_for_pending_cleared()
2990 pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VBLANK); in dcn10_wait_for_pending_cleared()
2991 pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE); in dcn10_wait_for_pending_cleared()
3055 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_prepare_bandwidth()
3060 dc->clk_mgr->funcs->update_clocks( in dcn10_prepare_bandwidth()
3065 dc->wm_optimized_required = hubbub->funcs->program_watermarks(hubbub, in dcn10_prepare_bandwidth()
3081 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_prepare_bandwidth()
3093 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_optimize_bandwidth()
3098 dc->clk_mgr->funcs->update_clocks( in dcn10_optimize_bandwidth()
3103 hubbub->funcs->program_watermarks(hubbub, in dcn10_optimize_bandwidth()
3120 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_optimize_bandwidth()
3142 if ((pipe_ctx[i]->stream_res.tg != NULL) && pipe_ctx[i]->stream_res.tg->funcs) { in dcn10_set_drr()
3143 if (pipe_ctx[i]->stream_res.tg->funcs->set_drr) in dcn10_set_drr()
3144 pipe_ctx[i]->stream_res.tg->funcs->set_drr( in dcn10_set_drr()
3147 if (pipe_ctx[i]->stream_res.tg->funcs->set_static_screen_control) in dcn10_set_drr()
3148 pipe_ctx[i]->stream_res.tg->funcs->set_static_screen_control( in dcn10_set_drr()
3164 pipe_ctx[i]->stream_res.tg->funcs->get_position(pipe_ctx[i]->stream_res.tg, position); in dcn10_get_position()
3181 pipe_ctx[i]->stream_res.tg->funcs-> in dcn10_set_static_screen_control()
3242 pipe_ctx->stream_res.opp->funcs->opp_program_stereo( in dcn10_setup_stereo()
3247 pipe_ctx->stream_res.tg->funcs->program_stereo( in dcn10_setup_stereo()
3276 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_wait_for_mpcc_disconnect()
3287 pipe_ctx->stream_res.tg->funcs->is_tg_enabled(pipe_ctx->stream_res.tg)) in dcn10_wait_for_mpcc_disconnect()
3288 res_pool->mpc->funcs->wait_for_idle(res_pool->mpc, mpcc_inst); in dcn10_wait_for_mpcc_disconnect()
3290 hubp->funcs->set_blank(hubp, true); in dcn10_wait_for_mpcc_disconnect()
3295 hws->funcs.verify_allow_pstate_change_high(dc); in dcn10_wait_for_mpcc_disconnect()
3319 flip_pending = pipe_ctx->plane_res.hubp->funcs->hubp_is_flip_pending( in dcn10_update_pending_status()
3328 tg->funcs->is_stereo_left_eye) { in dcn10_update_pending_status()
3330 !tg->funcs->is_stereo_left_eye(pipe_ctx->stream_res.tg); in dcn10_update_pending_status()
3336 unsigned int cur_frame = tg->funcs->get_frame_count(tg); in dcn10_update_pending_status()
3341 hubbub->funcs->allow_self_refresh_control(hubbub, !dc->debug.disable_stutter); in dcn10_update_pending_status()
3352 hubbub->funcs->update_dchub(hubbub, dh_data); in dcn10_update_dchub()
3637 hubp->funcs->set_cursor_position(hubp, &pos_cpy, &param); in dcn10_set_cursor_position()
3638 …dpp->funcs->set_cursor_position(dpp, &pos_cpy, &param, hubp->curs_attr.width, hubp->curs_attr.heig… in dcn10_set_cursor_position()
3645 pipe_ctx->plane_res.hubp->funcs->set_cursor_attributes( in dcn10_set_cursor_attribute()
3647 pipe_ctx->plane_res.dpp->funcs->set_cursor_attributes( in dcn10_set_cursor_attribute()
3659 if (!pipe_ctx->plane_res.dpp->funcs->set_optional_cursor_attributes) in dcn10_set_cursor_sdr_white_level()
3674 pipe_ctx->plane_res.dpp->funcs->set_optional_cursor_attributes( in dcn10_set_cursor_sdr_white_level()
3777 tg->funcs->setup_vertical_interrupt0(tg, start_line, end_line); in dcn10_setup_periodic_interrupt()
3790 if (tg->funcs->setup_vertical_interrupt2) in dcn10_setup_vupdate_interrupt()
3791 tg->funcs->setup_vertical_interrupt2(tg, start_line); in dcn10_setup_vupdate_interrupt()
3810 …pipe_ctx->stream_res.stream_enc->funcs->dp_unblank(link, pipe_ctx->stream_res.stream_enc, &params); in dcn10_unblank_stream()
3814 hws->funcs.edp_backlight_control(link, true); in dcn10_unblank_stream()
3823 pipe_ctx->stream_res.stream_enc->funcs->send_immediate_sdp_message( in dcn10_send_immediate_sdp_message()
3838 if (!dc->clk_mgr || !dc->clk_mgr->funcs->get_clock) in dcn10_set_clock()
3841 dc->clk_mgr->funcs->get_clock(dc->clk_mgr, in dcn10_set_clock()
3861 if (dc->clk_mgr->funcs->update_clocks) in dcn10_set_clock()
3862 dc->clk_mgr->funcs->update_clocks(dc->clk_mgr, in dcn10_set_clock()
3874 if (dc->clk_mgr && dc->clk_mgr->funcs->get_clock) in dcn10_get_clock()
3875 dc->clk_mgr->funcs->get_clock(dc->clk_mgr, context, clock_type, clock_cfg); in dcn10_get_clock()
3888 hubp->funcs->hubp_read_state(hubp); in dcn10_get_dcc_en_bits()