Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Add total_num_dpps_required field to informative structure

[Why]
The informative structure needs to be extended by the total number of DPPs
required per each active plane.
The new informative field is going to be used as a statistical indicator.

[How]
The dml2_core_calcs_get_informative() routine must count a total number of DPPs.

Reviewed-by: Austin Zheng <austin.zheng@amd.com>
Signed-off-by: Oleh Kuzhylnyi <okuzhyln@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Oleh Kuzhylnyi and committed by
Alex Deucher
e619ac41 de84d580

+8 -1
+4
drivers/gpu/drm/amd/display/dc/dml2/dml21/inc/dml_top_types.h
··· 454 454 } plane_info[DML2_MAX_PLANES]; 455 455 456 456 struct { 457 + unsigned int total_num_dpps_required; 458 + } dpp; 459 + 460 + struct { 457 461 unsigned long long total_surface_size_in_mall_bytes; 458 462 unsigned int subviewport_lines_needed_in_mall[DML2_MAX_PLANES]; 459 463 } mall;
+4 -1
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c
··· 13147 13147 out->informative.watermarks.temp_read_or_ppt_watermark_us = dml_get_wm_temp_read_or_ppt(mode_lib); 13148 13148 13149 13149 out->informative.mall.total_surface_size_in_mall_bytes = 0; 13150 - for (k = 0; k < out->display_config.num_planes; ++k) 13150 + out->informative.dpp.total_num_dpps_required = 0; 13151 + for (k = 0; k < out->display_config.num_planes; ++k) { 13151 13152 out->informative.mall.total_surface_size_in_mall_bytes += mode_lib->mp.SurfaceSizeInTheMALL[k]; 13153 + out->informative.dpp.total_num_dpps_required += mode_lib->mp.NoOfDPP[k]; 13154 + } 13152 13155 13153 13156 out->informative.qos.min_return_latency_in_dcfclk = mode_lib->mp.min_return_latency_in_dcfclk; 13154 13157 out->informative.qos.urgent_latency_us = dml_get_urgent_latency(mode_lib);