1 // SPDX-License-Identifier: MIT
2 //
3 // Copyright 2024 Advanced Micro Devices, Inc.
4 
5 #ifndef __DML2_PMO_FAMS2_DCN4_H__
6 #define __DML2_PMO_FAMS2_DCN4_H__
7 
8 #include "dml2_internal_shared_types.h"
9 
10 bool pmo_dcn4_fams2_initialize(struct dml2_pmo_initialize_in_out *in_out);
11 
12 bool pmo_dcn4_fams2_optimize_dcc_mcache(struct dml2_pmo_optimize_dcc_mcache_in_out *in_out);
13 
14 bool pmo_dcn4_fams2_init_for_vmin(struct dml2_pmo_init_for_vmin_in_out *in_out);
15 bool pmo_dcn4_fams2_test_for_vmin(struct dml2_pmo_test_for_vmin_in_out *in_out);
16 bool pmo_dcn4_fams2_optimize_for_vmin(struct dml2_pmo_optimize_for_vmin_in_out *in_out);
17 
18 bool pmo_dcn4_fams2_init_for_pstate_support(struct dml2_pmo_init_for_pstate_support_in_out *in_out);
19 bool pmo_dcn4_fams2_test_for_pstate_support(struct dml2_pmo_test_for_pstate_support_in_out *in_out);
20 bool pmo_dcn4_fams2_optimize_for_pstate_support(struct dml2_pmo_optimize_for_pstate_support_in_out *in_out);
21 
22 bool pmo_dcn4_fams2_init_for_stutter(struct dml2_pmo_init_for_stutter_in_out *in_out);
23 bool pmo_dcn4_fams2_test_for_stutter(struct dml2_pmo_test_for_stutter_in_out *in_out);
24 bool pmo_dcn4_fams2_optimize_for_stutter(struct dml2_pmo_optimize_for_stutter_in_out *in_out);
25 
26 void pmo_dcn4_fams2_expand_base_pstate_strategies(
27 	const struct dml2_pmo_pstate_strategy *base_strategies_list,
28 	const unsigned int num_base_strategies,
29 	const unsigned int stream_count,
30 	struct dml2_pmo_pstate_strategy *expanded_strategy_list,
31 	unsigned int *num_expanded_strategies);
32 
33 #endif
34