Commit e619ac41 authored by Oleh Kuzhylnyi's avatar Oleh Kuzhylnyi Committed by Alex Deucher
Browse files

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: default avatarAustin Zheng <austin.zheng@amd.com>
Signed-off-by: default avatarOleh Kuzhylnyi <okuzhyln@amd.com>
Signed-off-by: default avatarRoman Li <roman.li@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent de84d580
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -453,6 +453,10 @@ struct dml2_display_cfg_programming {
			unsigned int meta_row_height_plane1;
		} plane_info[DML2_MAX_PLANES];

		struct {
			unsigned int total_num_dpps_required;
		} dpp;

		struct {
			unsigned long long total_surface_size_in_mall_bytes;
			unsigned int subviewport_lines_needed_in_mall[DML2_MAX_PLANES];
+4 −1
Original line number Diff line number Diff line
@@ -13147,8 +13147,11 @@ void dml2_core_calcs_get_informative(const struct dml2_core_internal_display_mod
	out->informative.watermarks.temp_read_or_ppt_watermark_us = dml_get_wm_temp_read_or_ppt(mode_lib);
	out->informative.mall.total_surface_size_in_mall_bytes = 0;
	for (k = 0; k < out->display_config.num_planes; ++k)
	out->informative.dpp.total_num_dpps_required = 0;
	for (k = 0; k < out->display_config.num_planes; ++k) {
		out->informative.mall.total_surface_size_in_mall_bytes += mode_lib->mp.SurfaceSizeInTheMALL[k];
		out->informative.dpp.total_num_dpps_required += mode_lib->mp.NoOfDPP[k];
	}
	out->informative.qos.min_return_latency_in_dcfclk = mode_lib->mp.min_return_latency_in_dcfclk;
	out->informative.qos.urgent_latency_us = dml_get_urgent_latency(mode_lib);