Commit 6649f19a authored by Jun Lei's avatar Jun Lei Committed by Alex Deucher

drm/amd/display: Add ability to override bounding box in DC construct

Add a dc_bounding_box_overrides struct to define bb overrides. It is
loaded in during DC init.
Signed-off-by: default avatarJun Lei <Jun.Lei@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 74aa7bd4
...@@ -621,6 +621,8 @@ static bool construct(struct dc *dc, ...@@ -621,6 +621,8 @@ static bool construct(struct dc *dc,
#endif #endif
enum dce_version dc_version = DCE_VERSION_UNKNOWN; enum dce_version dc_version = DCE_VERSION_UNKNOWN;
memcpy(&dc->bb_overrides, &init_params->bb_overrides, sizeof(dc->bb_overrides));
dc_dceip = kzalloc(sizeof(*dc_dceip), GFP_KERNEL); dc_dceip = kzalloc(sizeof(*dc_dceip), GFP_KERNEL);
if (!dc_dceip) { if (!dc_dceip) {
dm_error("%s: failed to create dceip\n", __func__); dm_error("%s: failed to create dceip\n", __func__);
......
...@@ -268,6 +268,14 @@ struct dc_debug_data { ...@@ -268,6 +268,14 @@ struct dc_debug_data {
uint32_t auxErrorCount; uint32_t auxErrorCount;
}; };
struct dc_bounding_box_overrides {
int sr_exit_time_ns;
int sr_enter_plus_exit_time_ns;
int urgent_latency_ns;
int percent_of_ideal_drambw;
int dram_clock_change_latency_ns;
};
struct dc_state; struct dc_state;
struct resource_pool; struct resource_pool;
struct dce_hwseq; struct dce_hwseq;
...@@ -277,6 +285,7 @@ struct dc { ...@@ -277,6 +285,7 @@ struct dc {
struct dc_cap_funcs cap_funcs; struct dc_cap_funcs cap_funcs;
struct dc_config config; struct dc_config config;
struct dc_debug_options debug; struct dc_debug_options debug;
struct dc_bounding_box_overrides bb_overrides;
struct dc_context *ctx; struct dc_context *ctx;
uint8_t link_count; uint8_t link_count;
...@@ -330,6 +339,7 @@ struct dc_init_data { ...@@ -330,6 +339,7 @@ struct dc_init_data {
struct hw_asic_id asic_id; struct hw_asic_id asic_id;
void *driver; /* ctx */ void *driver; /* ctx */
struct cgs_device *cgs_device; struct cgs_device *cgs_device;
struct dc_bounding_box_overrides bb_overrides;
int num_virtual_links; int num_virtual_links;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment