Skip to content

Commit ea45405

Browse files
Nicholas Kazlauskasalexdeucher
authored andcommitted
drm/amd/display: Hook up DCN314 specific dml implementation
[Why & How] Add support for the DML314 functions and hook up DCN314 to use them. This has some necessary additions for calculating Max VSTARTUP for future features, but there's also some changes that we have to make for pixel format/swizzle support. That will come in a following patch to make this transition easier to bisect. Tested-by: Daniel Wheeler <[email protected]> Reviewed-by: Jun Lei <[email protected]> Acked-by: Pavle Kotarac <[email protected]> Signed-off-by: Nicholas Kazlauskas <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent af2f2a2 commit ea45405

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ void dcn314_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_p
262262
}
263263

264264
if (!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment))
265-
dml_init_instance(&dc->dml, &dcn3_14_soc, &dcn3_14_ip, DML_PROJECT_DCN31);
265+
dml_init_instance(&dc->dml, &dcn3_14_soc, &dcn3_14_ip, DML_PROJECT_DCN314);
266266
else
267267
dml_init_instance(&dc->dml, &dcn3_14_soc, &dcn3_14_ip, DML_PROJECT_DCN31_FPGA);
268268
}

drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
#include "dcn30/display_rq_dlg_calc_30.h"
3636
#include "dcn31/display_mode_vba_31.h"
3737
#include "dcn31/display_rq_dlg_calc_31.h"
38+
#include "dcn314/display_mode_vba_314.h"
39+
#include "dcn314/display_rq_dlg_calc_314.h"
3840
#include "dcn32/display_mode_vba_32.h"
3941
#include "dcn32/display_rq_dlg_calc_32.h"
4042
#include "dml_logger.h"
@@ -74,6 +76,13 @@ const struct dml_funcs dml31_funcs = {
7476
.rq_dlg_get_rq_reg = dml31_rq_dlg_get_rq_reg
7577
};
7678

79+
const struct dml_funcs dml314_funcs = {
80+
.validate = dml314_ModeSupportAndSystemConfigurationFull,
81+
.recalculate = dml314_recalculate,
82+
.rq_dlg_get_dlg_reg = dml314_rq_dlg_get_dlg_reg,
83+
.rq_dlg_get_rq_reg = dml314_rq_dlg_get_rq_reg
84+
};
85+
7786
const struct dml_funcs dml32_funcs = {
7887
.validate = dml32_ModeSupportAndSystemConfigurationFull,
7988
.recalculate = dml32_recalculate,
@@ -107,6 +116,9 @@ void dml_init_instance(struct display_mode_lib *lib,
107116
case DML_PROJECT_DCN31_FPGA:
108117
lib->funcs = dml31_funcs;
109118
break;
119+
case DML_PROJECT_DCN314:
120+
lib->funcs = dml314_funcs;
121+
break;
110122
case DML_PROJECT_DCN32:
111123
lib->funcs = dml32_funcs;
112124
break;

drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ enum dml_project {
4141
DML_PROJECT_DCN30,
4242
DML_PROJECT_DCN31,
4343
DML_PROJECT_DCN31_FPGA,
44+
DML_PROJECT_DCN314,
4445
DML_PROJECT_DCN32,
4546
};
4647

0 commit comments

Comments
 (0)