Home
last modified time | relevance | path

Searched refs:hubbub (Results 1 – 21 of 21) sorted by relevance

/drivers/gpu/drm/amd/display/dc/inc/hw/
Ddchubbub.h111 struct hubbub *hubbub,
115 struct hubbub *hubbub,
118 struct hubbub *hubbub,
122 bool (*get_dcc_compression_cap)(struct hubbub *hubbub,
136 void (*wm_read_state)(struct hubbub *hubbub,
139 void (*get_dchub_ref_freq)(struct hubbub *hubbub,
144 struct hubbub *hubbub,
149 bool (*is_allow_self_refresh_enabled)(struct hubbub *hubbub);
150 void (*allow_self_refresh_control)(struct hubbub *hubbub, bool allow);
152 void (*apply_DEDCN21_147_wa)(struct hubbub *hubbub);
[all …]
/drivers/gpu/drm/amd/display/dc/dcn20/
Ddcn20_hubbub.h42 #define TO_DCN20_HUBBUB(hubbub)\ argument
43 container_of(hubbub, struct dcn20_hubbub, base)
77 struct hubbub base;
88 void hubbub2_construct(struct dcn20_hubbub *hubbub,
104 bool hubbub2_get_dcc_compression_cap(struct hubbub *hubbub,
108 bool hubbub2_initialize_vmids(struct hubbub *hubbub,
112 int hubbub2_init_dchub_sys_ctx(struct hubbub *hubbub,
114 void hubbub2_init_vm_ctx(struct hubbub *hubbub,
117 void hubbub2_update_dchub(struct hubbub *hubbub,
120 void hubbub2_get_dchub_ref_freq(struct hubbub *hubbub,
[all …]
Ddcn20_hubbub.c218 bool hubbub2_get_dcc_compression_cap(struct hubbub *hubbub, in hubbub2_get_dcc_compression_cap() argument
222 struct dc *dc = hubbub->ctx->dc; in hubbub2_get_dcc_compression_cap()
234 if (!hubbub->funcs->dcc_support_pixel_format(input->format, in hubbub2_get_dcc_compression_cap()
238 if (!hubbub->funcs->dcc_support_swizzle(input->swizzle_mode, bpe, in hubbub2_get_dcc_compression_cap()
242 hubbub2_det_request_size(TO_DCN20_HUBBUB(hubbub)->detile_buf_size, in hubbub2_get_dcc_compression_cap()
360 void hubbub2_init_vm_ctx(struct hubbub *hubbub, in hubbub2_init_vm_ctx() argument
364 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub2_init_vm_ctx()
376 int hubbub2_init_dchub_sys_ctx(struct hubbub *hubbub, in hubbub2_init_dchub_sys_ctx() argument
379 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub2_init_dchub_sys_ctx()
413 void hubbub2_update_dchub(struct hubbub *hubbub, in hubbub2_update_dchub() argument
[all …]
Ddcn20_hwseq.c1599 if (dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes) in dcn20_program_pipe()
1600 dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); in dcn20_program_pipe()
1755 dc->res_pool->hubbub->funcs->apply_DEDCN21_147_wa(dc->res_pool->hubbub); in dcn20_post_unlock_program_front_end()
1766 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, false); in dcn20_post_unlock_program_front_end()
1778 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_prepare_bandwidth() local
1786 dc->wm_optimized_required = hubbub->funcs->program_watermarks(hubbub, in dcn20_prepare_bandwidth()
1796 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_optimize_bandwidth() local
1799 hubbub->funcs->program_watermarks(hubbub, in dcn20_optimize_bandwidth()
2002 dc->res_pool->hubbub->funcs->init_vm_ctx(dc->res_pool->hubbub, &config, vmid); in dcn20_init_vm_ctx()
2020 return dc->res_pool->hubbub->funcs->init_dchub_sys_ctx(dc->res_pool->hubbub, &config); in dcn20_init_sys_ctx()
Ddcn20_resource.h110 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx);
Ddcn20_resource.c1224 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx) in dcn20_hubbub_create()
1227 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn20_hubbub_create() local
1230 if (!hubbub) in dcn20_hubbub_create()
1233 hubbub2_construct(hubbub, ctx, in dcn20_hubbub_create()
1239 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn20_hubbub_create()
1248 return &hubbub->base; in dcn20_hubbub_create()
1479 if (pool->base.hubbub != NULL) { in dcn20_resource_destruct()
1480 kfree(pool->base.hubbub); in dcn20_resource_destruct()
1481 pool->base.hubbub = NULL; in dcn20_resource_destruct()
3293 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap(
[all …]
/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_hubbub.h32 #define TO_DCN10_HUBBUB(hubbub)\ argument
33 container_of(hubbub, struct dcn10_hubbub, base)
294 struct hubbub base;
303 struct hubbub *hubbub,
307 struct hubbub *hubbub);
309 void hubbub1_wm_change_req_wa(struct hubbub *hubbub);
312 struct hubbub *hubbub,
317 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow);
319 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubub);
322 struct hubbub *hubbub);
[all …]
Ddcn10_hubbub.c44 void hubbub1_wm_read_state(struct hubbub *hubbub, in hubbub1_wm_read_state() argument
47 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_wm_read_state()
93 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow) in hubbub1_allow_self_refresh_control() argument
95 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_allow_self_refresh_control()
106 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubbub) in hubbub1_is_allow_self_refresh_enabled() argument
108 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_is_allow_self_refresh_enabled()
119 struct hubbub *hubbub) in hubbub1_verify_allow_pstate_change_high() argument
121 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_verify_allow_pstate_change_high()
236 void hubbub1_wm_change_req_wa(struct hubbub *hubbub) in hubbub1_wm_change_req_wa() argument
238 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_wm_change_req_wa()
[all …]
Ddcn10_hw_sequencer.c135 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_log_hubbub_state()
723 if (dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled) in dcn10_bios_golden_init()
725 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub); in dcn10_bios_golden_init()
745 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_bios_golden_init()
747 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub)) in dcn10_bios_golden_init()
748 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_bios_golden_init()
749 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn10_bios_golden_init()
990 hubbub1_soft_reset(dc->res_pool->hubbub, true); in dcn10_hw_wa_force_recovery()
1013 hubbub1_soft_reset(dc->res_pool->hubbub, false); in dcn10_hw_wa_force_recovery()
1033 if (!hubbub1_verify_allow_pstate_change_high(dc->res_pool->hubbub)) { in dcn10_verify_allow_pstate_change_high()
[all …]
Ddcn10_resource.c759 static struct hubbub *dcn10_hubbub_create(struct dc_context *ctx) in dcn10_hubbub_create()
981 if (pool->base.hubbub != NULL) { in dcn10_resource_destruct()
982 kfree(pool->base.hubbub); in dcn10_resource_destruct()
983 pool->base.hubbub = NULL; in dcn10_resource_destruct()
1184 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn10_get_dcc_compression_cap()
1185 dc->res_pool->hubbub, in dcn10_get_dcc_compression_cap()
1639 pool->base.hubbub = dcn10_hubbub_create(ctx); in dcn10_resource_construct()
1640 if (pool->base.hubbub == NULL) { in dcn10_resource_construct()
Ddcn10_hw_sequencer_debug.c84 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_get_hubbub_state()
/drivers/gpu/drm/amd/display/dc/dcn21/
Ddcn21_hubbub.h113 void dcn21_dchvm_init(struct hubbub *hubbub);
114 int hubbub21_init_dchub(struct hubbub *hubbub,
117 struct hubbub *hubbub,
122 struct hubbub *hubbub,
127 struct hubbub *hubbub,
132 struct hubbub *hubbub,
137 void hubbub21_wm_read_state(struct hubbub *hubbub,
140 void hubbub21_construct(struct dcn20_hubbub *hubbub,
Ddcn21_hubbub.c67 void dcn21_dchvm_init(struct hubbub *hubbub) in dcn21_dchvm_init() argument
69 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in dcn21_dchvm_init()
105 int hubbub21_init_dchub(struct hubbub *hubbub, in hubbub21_init_dchub() argument
108 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_init_dchub()
134 dcn21_dchvm_init(hubbub); in hubbub21_init_dchub()
140 struct hubbub *hubbub, in hubbub21_program_urgent_watermarks() argument
145 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_program_urgent_watermarks()
334 struct hubbub *hubbub, in hubbub21_program_stutter_watermarks() argument
339 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_program_stutter_watermarks()
487 struct hubbub *hubbub, in hubbub21_program_pstate_watermarks() argument
[all …]
Ddcn21_resource.c930 if (pool->base.hubbub != NULL) { in dcn21_resource_destruct()
931 kfree(pool->base.hubbub); in dcn21_resource_destruct()
932 pool->base.hubbub = NULL; in dcn21_resource_destruct()
1294 static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) in dcn21_hubbub_create()
1298 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn21_hubbub_create() local
1301 if (!hubbub) in dcn21_hubbub_create()
1304 hubbub21_construct(hubbub, ctx, in dcn21_hubbub_create()
1310 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn21_hubbub_create()
1318 hubbub->num_vmid = res_cap_rn.num_vmid; in dcn21_hubbub_create()
1320 return &hubbub->base; in dcn21_hubbub_create()
[all …]
Ddcn21_hwseq.c83 return dc->res_pool->hubbub->funcs->init_dchub_sys_ctx(dc->res_pool->hubbub, &config); in dcn21_init_sys_ctx()
/drivers/gpu/drm/amd/display/dc/dcn30/
Ddcn30_hubbub.c64 int hubbub3_init_dchub_sys_ctx(struct hubbub *hubbub, in hubbub3_init_dchub_sys_ctx() argument
67 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub3_init_dchub_sys_ctx()
97 struct hubbub *hubbub, in hubbub3_program_watermarks() argument
102 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub3_program_watermarks()
105 if (hubbub21_program_urgent_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
108 if (hubbub21_program_stutter_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
111 if (hubbub21_program_pstate_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
132 hubbub1_allow_self_refresh_control(hubbub, !hubbub->ctx->dc->debug.disable_stutter); in hubbub3_program_watermarks()
275 bool hubbub3_get_dcc_compression_cap(struct hubbub *hubbub, in hubbub3_get_dcc_compression_cap() argument
279 struct dc *dc = hubbub->ctx->dc; in hubbub3_get_dcc_compression_cap()
[all …]
Ddcn30_hubbub.h98 int hubbub3_init_dchub_sys_ctx(struct hubbub *hubbub,
107 void hubbub3_force_wm_propagate_to_pipes(struct hubbub *hubbub);
109 bool hubbub3_get_dcc_compression_cap(struct hubbub *hubbub,
114 struct hubbub *hubbub,
Ddcn30_hwseq.c480 if (res_pool->dccg && res_pool->hubbub) { in dcn30_init_hw()
486 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn30_init_hw()
563 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn30_init_hw()
564 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn30_init_hw()
565 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn30_init_hw()
Ddcn30_resource.c991 struct hubbub *dcn30_hubbub_create(struct dc_context *ctx) in dcn30_hubbub_create()
1229 if (pool->base.hubbub != NULL) { in dcn30_resource_destruct()
1230 kfree(pool->base.hubbub); in dcn30_resource_destruct()
1231 pool->base.hubbub = NULL; in dcn30_resource_destruct()
2737 pool->base.hubbub = dcn30_hubbub_create(ctx); in dcn30_resource_construct()
2738 if (pool->base.hubbub == NULL) { in dcn30_resource_construct()
/drivers/gpu/drm/amd/display/dc/inc/
Dcore_types.h190 struct hubbub *hubbub; member
/drivers/gpu/drm/amd/display/dc/calcs/
Ddcn_calcs.c332 input->src.dcc = pipe->plane_res.dpp->ctx->dc->res_pool->hubbub->funcs-> in pipe_ctx_to_e2e_pipe_params()
1021 v->dcc_enable[input_idx] = dc->res_pool->hubbub->funcs->dcc_support_pixel_format( in dcn_validate_bandwidth()