| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_mcg/ |
| H A D | dml2_mcg_dcn4.c | 8 static bool build_min_clock_table(const struct dml2_soc_bb *soc_bb, struct dml2_mcg_min_clock_table… 12 return build_min_clock_table(in_out->soc_bb, in_out->min_clk_table); in mcg_dcn4_build_min_clock_table() 39 static bool build_min_clk_table_fine_grained(const struct dml2_soc_bb *soc_bb, struct dml2_mcg_min_… in build_min_clk_table_fine_grained() argument 50 if (soc_bb->clk_table.dcfclk.num_clk_values == 2) { in build_min_clk_table_fine_grained() 54 if (soc_bb->clk_table.fclk.num_clk_values == 2) { in build_min_clk_table_fine_grained() 58 min_dcfclk_khz = soc_bb->clk_table.dcfclk.clk_values_khz[0]; in build_min_clk_table_fine_grained() 59 min_fclk_khz = soc_bb->clk_table.fclk.clk_values_khz[0]; in build_min_clk_table_fine_grained() 62 for (i = 0; i < soc_bb->clk_table.uclk.num_clk_values; i++) { in build_min_clk_table_fine_grained() 63 …s[i].pre_derate_dram_bw_kbps = uclk_to_dram_bw_kbps(soc_bb->clk_table.uclk.clk_values_khz[i], &soc… in build_min_clk_table_fine_grained() 65 …soc_bb->qos_parameters.derate_table.system_active_urgent.dram_derate_percent_pixel / 100) / ((doub… in build_min_clk_table_fine_grained() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_dpmm/ |
| H A D | dml2_dpmm_dcn4.c | 47 &in_out->soc_bb->clk_table.dram_config, &in_out->min_clk_table->dram_bw_table); in get_minimum_clocks_for_latency() 67 …/ ((double)in_out->soc_bb->qos_parameters.derate_table.system_active_average.dram_derate_percent_p… in calculate_system_active_minimums() 68 &in_out->soc_bb->clk_table.dram_config, &in_out->min_clk_table->dram_bw_table); in calculate_system_active_minimums() 72 …/ ((double)in_out->soc_bb->qos_parameters.derate_table.system_active_urgent.dram_derate_percent_pi… in calculate_system_active_minimums() 73 &in_out->soc_bb->clk_table.dram_config, &in_out->min_clk_table->dram_bw_table); in calculate_system_active_minimums() 76 …/ ((double)in_out->soc_bb->qos_parameters.derate_table.system_active_urgent.dram_derate_percent_pi… in calculate_system_active_minimums() 77 &in_out->soc_bb->clk_table.dram_config, &in_out->min_clk_table->dram_bw_table); in calculate_system_active_minimums() 81 …min_fclk_avg = (double)mode_support_result->global.active.average_bw_sdp_kbps / in_out->soc_bb->fa… in calculate_system_active_minimums() 82 …min_fclk_avg = (double)min_fclk_avg / ((double)in_out->soc_bb->qos_parameters.derate_table.system_… in calculate_system_active_minimums() 84 …min_fclk_urgent = (double)mode_support_result->global.active.urgent_bw_sdp_kbps / in_out->soc_bb->… in calculate_system_active_minimums() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/ |
| H A D | dcn401_soc_and_ip_translator.c | 13 static void get_default_soc_bb(struct dml2_soc_bb *soc_bb) in get_default_soc_bb() argument 15 memcpy(soc_bb, &dml2_socbb_dcn401, sizeof(struct dml2_soc_bb)); in get_default_soc_bb() 16 …memcpy(&soc_bb->qos_parameters, &dml_dcn4_variant_a_soc_qos_params, sizeof(struct dml2_soc_qos_par… in get_default_soc_bb() 209 void dcn401_update_soc_bb_with_values_from_clk_mgr(struct dml2_soc_bb *soc_bb, const struct dc *dc,… in dcn401_update_soc_bb_with_values_from_clk_mgr() argument 211 soc_bb->dprefclk_mhz = dc->clk_mgr->dprefclk_khz / 1000; in dcn401_update_soc_bb_with_values_from_clk_mgr() 212 soc_bb->dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0; in dcn401_update_soc_bb_with_values_from_clk_mgr() 213 soc_bb->mall_allocated_for_dcn_mbytes = dc->caps.mall_size_total / (1024 * 1024); in dcn401_update_soc_bb_with_values_from_clk_mgr() 217 dcn401_convert_dc_clock_table_to_soc_bb_clock_table(&soc_bb->clk_table, in dcn401_update_soc_bb_with_values_from_clk_mgr() 223 void dcn401_update_soc_bb_with_values_from_vbios(struct dml2_soc_bb *soc_bb, const struct dc *dc) in dcn401_update_soc_bb_with_values_from_vbios() argument 225 soc_bb->dchub_refclk_mhz = dc->res_pool->ref_clocks.dchub_ref_clock_inKhz / 1000; in dcn401_update_soc_bb_with_values_from_vbios() [all …]
|
| H A D | dcn401_soc_and_ip_translator.h | 17 void dcn401_get_soc_bb(struct dml2_soc_bb *soc_bb, const struct dc *dc, const struct dml2_configura… 18 void dcn401_update_soc_bb_with_values_from_clk_mgr(struct dml2_soc_bb *soc_bb, const struct dc *dc,… 19 void dcn401_update_soc_bb_with_values_from_vbios(struct dml2_soc_bb *soc_bb, const struct dc *dc); 20 void dcn401_update_soc_bb_with_values_from_software_policy(struct dml2_soc_bb *soc_bb, const struct…
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_pmo/ |
| H A D | dml2_pmo_dcn3.c | 239 pmo->soc_bb = in_out->soc_bb; in pmo_dcn3_initialize() 549 in_out->instance->soc_bb->power_management_parameters.dram_clk_change_blackout_us && in pmo_dcn3_init_for_pstate_support() 557 in_out->instance->soc_bb->power_management_parameters.fclk_change_blackout_us && in pmo_dcn3_init_for_pstate_support() 609 …in_out->instance->soc_bb->power_management_parameters.fclk_change_blackout_us > min_reserved_vblan… in pmo_dcn3_init_for_pstate_support() 613 in_out->instance->soc_bb->power_management_parameters.fclk_change_blackout_us; in pmo_dcn3_init_for_pstate_support() 618 …in_out->instance->soc_bb->power_management_parameters.dram_clk_change_blackout_us > min_reserved_v… in pmo_dcn3_init_for_pstate_support() 622 in_out->instance->soc_bb->power_management_parameters.dram_clk_change_blackout_us; in pmo_dcn3_init_for_pstate_support() 628 …in_out->instance->soc_bb->power_management_parameters.stutter_enter_plus_exit_latency_us > min_res… in pmo_dcn3_init_for_pstate_support() 631 in_out->instance->soc_bb->power_management_parameters.stutter_enter_plus_exit_latency_us; in pmo_dcn3_init_for_pstate_support()
|
| H A D | dml2_pmo_dcn4_fams2.c | 650 pmo->soc_bb = in_out->soc_bb; in pmo_dcn4_fams2_initialize() 1142 if (total_mcaches_required > pmo->soc_bb->num_dcc_mcaches) { in all_timings_support_svp() 1742 (unsigned int)math_ceil(pmo->soc_bb->power_management_parameters.dram_clk_change_blackout_us / in build_pstate_meta_per_stream() 1901 ….stream_plane_mask[stream_index]) >= (int)(MIN_VACTIVE_MARGIN_PCT * pmo->soc_bb->power_management_… in pmo_dcn4_fams2_init_for_pstate_support() 2058 …plane->overrides.reserved_vblank_time_ns = (long)math_max2(pmo->soc_bb->power_management_parameter… in setup_planes_for_vblank_by_mask() 2077 …plane->overrides.reserved_vblank_time_ns = (long)(pmo->soc_bb->power_management_parameters.dram_cl… in setup_planes_for_vblank_drr_by_mask() 2204 …REQUIRED_RESERVED_TIME = (int)in_out->instance->soc_bb->power_management_parameters.dram_clk_chang… in pmo_dcn4_fams2_test_for_pstate_support() 2214 …_plane_mask[stream_index]) < (MIN_VACTIVE_MARGIN_PCT * in_out->instance->soc_bb->power_management_… in pmo_dcn4_fams2_test_for_pstate_support() 2292 if (pmo->soc_bb->power_management_parameters.z8_stutter_exit_latency_us > 0 && in pmo_dcn4_fams2_init_for_stutter() 2293 pmo->soc_bb->power_management_parameters.stutter_enter_plus_exit_latency_us > 0 && in pmo_dcn4_fams2_init_for_stutter() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/inc/ |
| H A D | dml2_internal_shared_types.h | 62 struct dml2_soc_bb *soc_bb; member 85 struct dml2_soc_bb *soc_bb; member 90 struct dml2_core_internal_soc_bb *soc_bb; member 130 struct dml2_soc_bb *soc_bb; member 140 struct soc_bounding_box_st *soc_bb; member 518 struct dml2_soc_bb *soc_bb; member 711 struct dml2_soc_bb *soc_bb; member
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/ |
| H A D | dml21_wrapper.c | 153 if (in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.num_clk_values > 1) { in dml21_calculate_rq_and_dlg_params() 155 …in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table… in dml21_calculate_rq_and_dlg_params() 157 …context->bw_ctx.bw.dcn.clk.max_supported_dispclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dispc… in dml21_calculate_rq_and_dlg_params() 160 if (in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.num_clk_values > 1) { in dml21_calculate_rq_and_dlg_params() 162 …in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table.… in dml21_calculate_rq_and_dlg_params() 164 …context->bw_ctx.bw.dcn.clk.max_supported_dppclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dppclk… in dml21_calculate_rq_and_dlg_params()
|
| H A D | dml21_translation_helper.c | 64 in_dc->soc_and_ip_translator->translator_funcs->get_soc_bb(&dml_init->soc_bb, in_dc, config); in dml21_populate_dml_init_params() 67 dml_init->soc_bb = config->external_socbb_ip_params->soc_bb; in dml21_populate_dml_init_params()
|
| /linux/drivers/gpu/drm/amd/display/dc/inc/ |
| H A D | soc_and_ip_translator.h | 12 …void (*get_soc_bb)(struct dml2_soc_bb *soc_bb, const struct dc *dc, const struct dml2_configuratio…
|
| /linux/drivers/gpu/drm/amd/display/dc/dml/dcn32/ |
| H A D | dcn32_fpu.h | 78 void dcn32_set_clock_limits(const struct _vcs_dpi_soc_bounding_box_st *soc_bb);
|
| H A D | dcn32_fpu.c | 3594 void dcn32_set_clock_limits(const struct _vcs_dpi_soc_bounding_box_st *soc_bb) in dcn32_set_clock_limits() argument
|
| /linux/drivers/gpu/drm/amd/display/dc/dml/ |
| H A D | display_mode_lib.h | 97 const struct _vcs_dpi_soc_bounding_box_st *soc_bb,
|
| H A D | display_mode_lib.c | 94 const struct _vcs_dpi_soc_bounding_box_st *soc_bb, in dml_init_instance() argument 98 lib->soc = *soc_bb; in dml_init_instance()
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_top/ |
| H A D | dml2_top_soc15.c | 813 l->dppm_map_mode_params.soc_bb = &dml->soc_bbox; in dml2_top_soc15_check_mode_supported() 985 l->dppm_map_mode_params.soc_bb = &dml->soc_bbox; in dml2_top_soc15_build_mode_programming() 1122 memcpy(&dml->soc_bbox, &in_out->soc_bb, sizeof(struct dml2_soc_bb)); in dml2_top_soc15_initialize_instance() 1137 mcg_build_min_clk_params.soc_bb = &in_out->soc_bb; in dml2_top_soc15_initialize_instance() 1149 core_init_params.soc_bb = &in_out->soc_bb; in dml2_top_soc15_initialize_instance() 1162 pmo_init_params.soc_bb = &dml->soc_bbox; in dml2_top_soc15_initialize_instance()
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/ |
| H A D | dml2_core_dcn4.c | 150 memcpy(&core->clean_me_up.mode_lib.soc, in_out->soc_bb, sizeof(struct dml2_soc_bb)); in core_dcn4_initialize() 530 static int lookup_uclk_dpm_index_by_freq(unsigned long uclk_freq_khz, struct dml2_soc_bb *soc_bb) in lookup_uclk_dpm_index_by_freq() argument 534 for (i = 0; i < soc_bb->clk_table.uclk.num_clk_values; i++) { in lookup_uclk_dpm_index_by_freq() 535 if (uclk_freq_khz == soc_bb->clk_table.uclk.clk_values_khz[i]) in lookup_uclk_dpm_index_by_freq()
|