1 // SPDX-License-Identifier: MIT 2 // 3 // Copyright 2024 Advanced Micro Devices, Inc. 4 5 #include "dml2_mcg_factory.h" 6 #include "dml2_mcg_dcn4.h" 7 #include "dml2_external_lib_deps.h" 8 dummy_build_min_clock_table(struct dml2_mcg_build_min_clock_table_params_in_out * in_out)9static bool dummy_build_min_clock_table(struct dml2_mcg_build_min_clock_table_params_in_out *in_out) 10 { 11 return true; 12 } 13 dml2_mcg_create(enum dml2_project_id project_id,struct dml2_mcg_instance * out)14bool dml2_mcg_create(enum dml2_project_id project_id, struct dml2_mcg_instance *out) 15 { 16 bool result = false; 17 18 if (out == 0) 19 return false; 20 21 memset(out, 0, sizeof(struct dml2_mcg_instance)); 22 23 switch (project_id) { 24 case dml2_project_dcn4x_stage1: 25 out->build_min_clock_table = &dummy_build_min_clock_table; 26 result = true; 27 break; 28 case dml2_project_dcn4x_stage2: 29 case dml2_project_dcn4x_stage2_auto_drr_svp: 30 out->build_min_clock_table = &mcg_dcn4_build_min_clock_table; 31 result = true; 32 break; 33 case dml2_project_invalid: 34 default: 35 break; 36 } 37 38 return result; 39 } 40