mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
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>
This commit is contained in:
parent
b231933da7
commit
670da29faf
|
|
@ -3645,7 +3645,9 @@ static int capabilities_show(struct seq_file *m, void *unused)
|
|||
struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
|
||||
struct dc *dc = adev->dm.dc;
|
||||
bool mall_supported = dc->caps.mall_size_total;
|
||||
bool subvp_supported = dc->caps.subvp_fw_processing_delay_us;
|
||||
unsigned int mall_in_use = false;
|
||||
unsigned int subvp_in_use = dc->cap_funcs.get_subvp_en(dc, dc->current_state);
|
||||
struct hubbub *hubbub = dc->res_pool->hubbub;
|
||||
|
||||
if (hubbub->funcs->get_mall_en)
|
||||
|
|
@ -3653,6 +3655,8 @@ static int capabilities_show(struct seq_file *m, void *unused)
|
|||
|
||||
seq_printf(m, "mall supported: %s, enabled: %s\n",
|
||||
mall_supported ? "yes" : "no", mall_in_use ? "yes" : "no");
|
||||
seq_printf(m, "sub-viewport supported: %s, enabled: %s\n",
|
||||
subvp_supported ? "yes" : "no", subvp_in_use ? "yes" : "no");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -382,6 +382,7 @@ struct dc_cap_funcs {
|
|||
bool (*get_dcc_compression_cap)(const struct dc *dc,
|
||||
const struct dc_dcc_surface_param *input,
|
||||
struct dc_surface_dcc_cap *output);
|
||||
bool (*get_subvp_en)(struct dc *dc, struct dc_state *context);
|
||||
};
|
||||
|
||||
struct link_training_settings;
|
||||
|
|
|
|||
|
|
@ -1993,7 +1993,8 @@ int dcn32_populate_dml_pipes_from_context(
|
|||
}
|
||||
|
||||
static struct dc_cap_funcs cap_funcs = {
|
||||
.get_dcc_compression_cap = dcn20_get_dcc_compression_cap
|
||||
.get_dcc_compression_cap = dcn20_get_dcc_compression_cap,
|
||||
.get_subvp_en = dcn32_subvp_in_use,
|
||||
};
|
||||
|
||||
void dcn32_calculate_wm_and_dlg(struct dc *dc, struct dc_state *context,
|
||||
|
|
|
|||
|
|
@ -1571,7 +1571,8 @@ static void dcn321_destroy_resource_pool(struct resource_pool **pool)
|
|||
}
|
||||
|
||||
static struct dc_cap_funcs cap_funcs = {
|
||||
.get_dcc_compression_cap = dcn20_get_dcc_compression_cap
|
||||
.get_dcc_compression_cap = dcn20_get_dcc_compression_cap,
|
||||
.get_subvp_en = dcn32_subvp_in_use,
|
||||
};
|
||||
|
||||
static void dcn321_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user