⬢ DragonFlyBSD Kernel Audit
DF-4985 / null_matrix_proof.log
← back to finding ↓ download raw
== amdgpu kmod compiles the dce110 helper:
217:SRCS+= command_table_helper_dce110.c

== who selects the dce110 table:
sys/dev/drm/amd/display/dc/bios/command_table_helper.c:46:		*h = dal_cmd_tbl_helper_dce110_get_table();
sys/dev/drm/amd/display/dc/bios/command_table_helper.c:50:		*h = dal_cmd_tbl_helper_dce110_get_table();
sys/dev/drm/amd/display/dc/bios/command_table_helper2.c:47:		*h = dal_cmd_tbl_helper_dce110_get_table();
sys/dev/drm/amd/display/dc/bios/command_table_helper2.c:51:		*h = dal_cmd_tbl_helper_dce110_get_table();

== NULL members in dce110 table:
198:	if (atom_pll_id != NULL)
242:	if (atom_engine_id != NULL)
344:	.assign_control_parameter = NULL,
345:	.clock_source_id_to_ref_clk_src = NULL,
346:	.transmitter_bp_to_atom = NULL,

== dce80 implements them (contrast):
341:	.assign_control_parameter =
342:		dal_cmd_table_helper_assign_control_parameter,
343:	.clock_source_id_to_ref_clk_src =
344:		dal_cmd_table_helper_clock_source_id_to_ref_clk_src,
345:	.transmitter_bp_to_atom = dal_cmd_table_helper_transmitter_bp_to_atom,

== dce112 implements dc_clock_type_to_atom (contrast):
333:static bool dc_clock_type_to_atom(
401:	.dc_clock_type_to_atom = dc_clock_type_to_atom,

== unguarded consumer call sites:
sys/dev/drm/amd/display/dc/bios/command_table.c:204:	bp->cmd_helper->assign_control_parameter(bp->cmd_helper, cntl, &params);
sys/dev/drm/amd/display/dc/bios/command_table.c:219:	bp->cmd_helper->assign_control_parameter(bp->cmd_helper, cntl, &params);
sys/dev/drm/amd/display/dc/bios/command_table.c:507:			(uint8_t)bp->cmd_helper->transmitter_bp_to_atom(
sys/dev/drm/amd/display/dc/bios/command_table.c:638:			(uint8_t)cmd->transmitter_bp_to_atom(cntl->transmitter);
sys/dev/drm/amd/display/dc/bios/command_table.c:678:	if (!cmd->clock_source_id_to_ref_clk_src(cntl->pll_id, &ref_clk_src_id))
sys/dev/drm/amd/display/dc/bios/command_table.c:764:		(uint8_t)(cmd->transmitter_bp_to_atom(cntl->transmitter));
sys/dev/drm/amd/display/dc/bios/command_table.c:2437:			!cmd->dc_clock_type_to_atom(bp_params->clock_type, &atom_clock_type))
sys/dev/drm/amd/display/dc/bios/command_table2.c:722:			!cmd->dc_clock_type_to_atom(bp_params->clock_type,

== transmitter_control revision binding:
43:	case 2:
44:		bp->cmd_tbl.transmitter_control = transmitter_control_v2;
46:	case 3:
47:		bp->cmd_tbl.transmitter_control = transmitter_control_v3;
49:	case 4:
50:		bp->cmd_tbl.transmitter_control = transmitter_control_v4;
52:	case 5:
53:		bp->cmd_tbl.transmitter_control = transmitter_control_v1_5;
55:	case 6:
56:		bp->cmd_tbl.transmitter_control = transmitter_control_v1_6;

== dccg wiring: only dce112/120/dcn1 call set_dce_clock:
745:	.set_dispclk = dce112_set_clock,
752:	.set_dispclk = dce112_set_clock,
758:	.set_dispclk = dce112_set_clock,
764:	.set_dispclk = dce_psr_set_clock,
771:	.set_dispclk = dce_set_clock,
315:	bp->funcs->set_dce_clock(bp, &dce_clk_params);
334:	bp->funcs->set_dce_clock(bp, &dce_clk_params);

== ASIC mapping:
67:	case FAMILY_CZ:
68:		dc_version = DCE_VERSION_11_0;
74:			dc_version = DCE_VERSION_10_0;
125:	case DCE_VERSION_10_0:
129:	case DCE_VERSION_11_0:

== no command_table_helper2_dce110 exists:
command_table_helper_dce110.c
command_table_helper_dce110.h