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

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: add interface to query SubVP status

[Why&How]
To enable automated testing through IGT, expose an API that is
accessible through debugfs to query current status of SubVP feature.

Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Acked-by: Roman Li <roman.li@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Aurabindo Pillai and committed by
Alex Deucher
670da29f b231933d

+9 -2
+4
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
··· 3645 3645 struct amdgpu_device *adev = (struct amdgpu_device *)m->private; 3646 3646 struct dc *dc = adev->dm.dc; 3647 3647 bool mall_supported = dc->caps.mall_size_total; 3648 + bool subvp_supported = dc->caps.subvp_fw_processing_delay_us; 3648 3649 unsigned int mall_in_use = false; 3650 + unsigned int subvp_in_use = dc->cap_funcs.get_subvp_en(dc, dc->current_state); 3649 3651 struct hubbub *hubbub = dc->res_pool->hubbub; 3650 3652 3651 3653 if (hubbub->funcs->get_mall_en) ··· 3655 3653 3656 3654 seq_printf(m, "mall supported: %s, enabled: %s\n", 3657 3655 mall_supported ? "yes" : "no", mall_in_use ? "yes" : "no"); 3656 + seq_printf(m, "sub-viewport supported: %s, enabled: %s\n", 3657 + subvp_supported ? "yes" : "no", subvp_in_use ? "yes" : "no"); 3658 3658 3659 3659 return 0; 3660 3660 }
+1
drivers/gpu/drm/amd/display/dc/dc.h
··· 382 382 bool (*get_dcc_compression_cap)(const struct dc *dc, 383 383 const struct dc_dcc_surface_param *input, 384 384 struct dc_surface_dcc_cap *output); 385 + bool (*get_subvp_en)(struct dc *dc, struct dc_state *context); 385 386 }; 386 387 387 388 struct link_training_settings;
+2 -1
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
··· 1993 1993 } 1994 1994 1995 1995 static struct dc_cap_funcs cap_funcs = { 1996 - .get_dcc_compression_cap = dcn20_get_dcc_compression_cap 1996 + .get_dcc_compression_cap = dcn20_get_dcc_compression_cap, 1997 + .get_subvp_en = dcn32_subvp_in_use, 1997 1998 }; 1998 1999 1999 2000 void dcn32_calculate_wm_and_dlg(struct dc *dc, struct dc_state *context,
+2 -1
drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
··· 1571 1571 } 1572 1572 1573 1573 static struct dc_cap_funcs cap_funcs = { 1574 - .get_dcc_compression_cap = dcn20_get_dcc_compression_cap 1574 + .get_dcc_compression_cap = dcn20_get_dcc_compression_cap, 1575 + .get_subvp_en = dcn32_subvp_in_use, 1575 1576 }; 1576 1577 1577 1578 static void dcn321_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params)