Home
last modified time | relevance | path

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

12

/Linux-v5.15/drivers/gpu/drm/amd/display/dc/inc/hw/
Ddchubbub.h116 struct hubbub *hubbub,
120 struct hubbub *hubbub,
123 struct hubbub *hubbub,
127 bool (*get_dcc_compression_cap)(struct hubbub *hubbub,
141 void (*wm_read_state)(struct hubbub *hubbub,
144 void (*get_dchub_ref_freq)(struct hubbub *hubbub,
149 struct hubbub *hubbub,
154 bool (*is_allow_self_refresh_enabled)(struct hubbub *hubbub);
155 void (*allow_self_refresh_control)(struct hubbub *hubbub, bool allow);
157 void (*apply_DEDCN21_147_wa)(struct hubbub *hubbub);
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn20/
Ddcn20_hubbub.h32 #define TO_DCN20_HUBBUB(hubbub)\ argument
33 container_of(hubbub, struct dcn20_hubbub, base)
83 struct hubbub base;
101 void hubbub2_construct(struct dcn20_hubbub *hubbub,
117 bool hubbub2_get_dcc_compression_cap(struct hubbub *hubbub,
121 bool hubbub2_initialize_vmids(struct hubbub *hubbub,
125 int hubbub2_init_dchub_sys_ctx(struct hubbub *hubbub,
127 void hubbub2_init_vm_ctx(struct hubbub *hubbub,
130 void hubbub2_update_dchub(struct hubbub *hubbub,
133 void hubbub2_get_dchub_ref_freq(struct hubbub *hubbub,
[all …]
Ddcn20_hubbub.c217 bool hubbub2_get_dcc_compression_cap(struct hubbub *hubbub, in hubbub2_get_dcc_compression_cap() argument
221 struct dc *dc = hubbub->ctx->dc; in hubbub2_get_dcc_compression_cap()
233 if (!hubbub->funcs->dcc_support_pixel_format(input->format, in hubbub2_get_dcc_compression_cap()
237 if (!hubbub->funcs->dcc_support_swizzle(input->swizzle_mode, bpe, in hubbub2_get_dcc_compression_cap()
241 hubbub2_det_request_size(TO_DCN20_HUBBUB(hubbub)->detile_buf_size, in hubbub2_get_dcc_compression_cap()
357 void hubbub2_init_vm_ctx(struct hubbub *hubbub, in hubbub2_init_vm_ctx() argument
361 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub2_init_vm_ctx()
373 int hubbub2_init_dchub_sys_ctx(struct hubbub *hubbub, in hubbub2_init_dchub_sys_ctx() argument
376 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub2_init_dchub_sys_ctx()
410 void hubbub2_update_dchub(struct hubbub *hubbub, in hubbub2_update_dchub() argument
[all …]
Ddcn20_hwseq.c1604 if (dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes) in dcn20_program_pipe()
1605 dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); in dcn20_program_pipe()
1608 if (dc->res_pool->hubbub->funcs->program_det_size && pipe_ctx->update_flags.bits.det_size) in dcn20_program_pipe()
1609 dc->res_pool->hubbub->funcs->program_det_size( in dcn20_program_pipe()
1610 dc->res_pool->hubbub, pipe_ctx->plane_res.hubp->inst, pipe_ctx->det_buffer_size_kb); in dcn20_program_pipe()
1702 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_program_front_end_for_ctx() local
1704 if (hubbub->funcs->program_det_size && context->res_ctx.pipe_ctx[i].update_flags.bits.disable) in dcn20_program_front_end_for_ctx()
1705hubbub->funcs->program_det_size(hubbub, dc->current_state->res_ctx.pipe_ctx[i].plane_res.hubp->ins… in dcn20_program_front_end_for_ctx()
1790 dc->res_pool->hubbub->funcs->apply_DEDCN21_147_wa(dc->res_pool->hubbub); in dcn20_post_unlock_program_front_end()
1801 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, false); in dcn20_post_unlock_program_front_end()
[all …]
Ddcn20_resource.h111 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx);
Ddcn20_resource.c1226 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx) in dcn20_hubbub_create()
1229 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn20_hubbub_create() local
1232 if (!hubbub) in dcn20_hubbub_create()
1235 hubbub2_construct(hubbub, ctx, in dcn20_hubbub_create()
1241 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn20_hubbub_create()
1250 return &hubbub->base; in dcn20_hubbub_create()
1481 if (pool->base.hubbub != NULL) { in dcn20_resource_destruct()
1482 kfree(pool->base.hubbub); in dcn20_resource_destruct()
1483 pool->base.hubbub = NULL; in dcn20_resource_destruct()
3315 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn20_get_dcc_compression_cap()
[all …]
/Linux-v5.15/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.h110 int hubbub3_init_dchub_sys_ctx(struct hubbub *hubbub,
119 void hubbub3_force_wm_propagate_to_pipes(struct hubbub *hubbub);
121 bool hubbub3_get_dcc_compression_cap(struct hubbub *hubbub,
126 struct hubbub *hubbub,
131 void hubbub3_force_pstate_change_control(struct hubbub *hubbub,
134 void hubbub3_init_watermarks(struct hubbub *hubbub);
Ddcn30_hwseq.c496 if (res_pool->dccg && res_pool->hubbub) { in dcn30_init_hw()
502 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn30_init_hw()
581 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn30_init_hw()
582 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn30_init_hw()
583 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn30_init_hw()
653 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn30_init_hw()
654 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn30_init_hw()
662 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn30_init_hw()
663 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn30_init_hw()
664 dc->res_pool->hubbub, false, false); in dcn30_init_hw()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_hubbub.h32 #define TO_DCN10_HUBBUB(hubbub)\ argument
33 container_of(hubbub, struct dcn10_hubbub, base)
352 struct hubbub base;
361 struct hubbub *hubbub,
365 struct hubbub *hubbub);
367 void hubbub1_wm_change_req_wa(struct hubbub *hubbub);
370 struct hubbub *hubbub,
375 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow);
377 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubub);
380 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.c142 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_log_hubbub_state()
748 if (dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled) in dcn10_bios_golden_init()
750 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub); in dcn10_bios_golden_init()
770 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_bios_golden_init()
772 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub)) in dcn10_bios_golden_init()
773 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_bios_golden_init()
774 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn10_bios_golden_init()
1015 hubbub1_soft_reset(dc->res_pool->hubbub, true); in dcn10_hw_wa_force_recovery()
1038 hubbub1_soft_reset(dc->res_pool->hubbub, false); in dcn10_hw_wa_force_recovery()
1057 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()
1654 pool->base.hubbub = dcn10_hubbub_create(ctx); in dcn10_resource_construct()
1655 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()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn21/
Ddcn21_hubbub.h125 void dcn21_dchvm_init(struct hubbub *hubbub);
126 int hubbub21_init_dchub(struct hubbub *hubbub,
129 struct hubbub *hubbub,
134 struct hubbub *hubbub,
139 struct hubbub *hubbub,
144 struct hubbub *hubbub,
149 void hubbub21_wm_read_state(struct hubbub *hubbub,
152 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()
103 hubbub->riommu_active = true; in dcn21_dchvm_init()
107 int hubbub21_init_dchub(struct hubbub *hubbub, in hubbub21_init_dchub() argument
110 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_init_dchub()
136 dcn21_dchvm_init(hubbub); in hubbub21_init_dchub()
142 struct hubbub *hubbub, in hubbub21_program_urgent_watermarks() argument
147 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_program_urgent_watermarks()
336 struct hubbub *hubbub, in hubbub21_program_stutter_watermarks() argument
341 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub21_program_stutter_watermarks()
[all …]
Ddcn21_resource.c939 if (pool->base.hubbub != NULL) { in dcn21_resource_destruct()
940 kfree(pool->base.hubbub); in dcn21_resource_destruct()
941 pool->base.hubbub = NULL; in dcn21_resource_destruct()
1454 static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) in dcn21_hubbub_create()
1458 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn21_hubbub_create() local
1461 if (!hubbub) in dcn21_hubbub_create()
1464 hubbub21_construct(hubbub, ctx, in dcn21_hubbub_create()
1470 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn21_hubbub_create()
1478 hubbub->num_vmid = res_cap_rn.num_vmid; in dcn21_hubbub_create()
1480 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()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn31/
Ddcn31_hubbub.c51 static void dcn31_init_crb(struct hubbub *hubbub) in dcn31_init_crb() argument
53 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn31_init_crb()
76 static void dcn31_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_si… in dcn31_program_det_size() argument
78 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn31_program_det_size()
111 static void dcn31_program_compbuf_size(struct hubbub *hubbub, unsigned int compbuf_size_kb, bool sa… in dcn31_program_compbuf_size() argument
113 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn31_program_compbuf_size()
148 struct hubbub *hubbub, in hubbub31_program_urgent_watermarks() argument
153 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_urgent_watermarks()
338 struct hubbub *hubbub, in hubbub31_program_stutter_watermarks() argument
343 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_stutter_watermarks()
[all …]
Ddcn31_hwseq.c132 if (res_pool->dccg && res_pool->hubbub) { in dcn31_init_hw()
138 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn31_init_hw()
215 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn31_init_hw()
216 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn31_init_hw()
217 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn31_init_hw()
293 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn31_init_hw()
294 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn31_init_hw()
302 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn31_init_hw()
303 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn31_init_hw()
304 dc->res_pool->hubbub, false, false); in dcn31_init_hw()
[all …]
Ddcn31_resource.c1087 static struct hubbub *dcn31_hubbub_create(struct dc_context *ctx) in dcn31_hubbub_create()
1356 if (pool->base.hubbub != NULL) { in dcn31_resource_destruct()
1357 kfree(pool->base.hubbub); in dcn31_resource_destruct()
1358 pool->base.hubbub = NULL; in dcn31_resource_destruct()
2066 pool->base.hubbub = dcn31_hubbub_create(ctx); in dcn31_resource_construct()
2067 if (pool->base.hubbub == NULL) { in dcn31_resource_construct()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/inc/
Dcore_types.h218 struct hubbub *hubbub; member
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn302/
Ddcn302_resource.c388 static struct hubbub *dcn302_hubbub_create(struct dc_context *ctx) in dcn302_hubbub_create()
1157 if (pool->hubbub != NULL) { in dcn302_resource_destruct()
1158 kfree(pool->hubbub); in dcn302_resource_destruct()
1159 pool->hubbub = NULL; in dcn302_resource_destruct()
1628 pool->hubbub = dcn302_hubbub_create(ctx); in dcn302_resource_construct()
1629 if (pool->hubbub == NULL) { in dcn302_resource_construct()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn303/
Ddcn303_resource.c365 static struct hubbub *dcn303_hubbub_create(struct dc_context *ctx) in dcn303_hubbub_create()
1087 if (pool->hubbub != NULL) { in dcn303_resource_destruct()
1088 kfree(pool->hubbub); in dcn303_resource_destruct()
1089 pool->hubbub = NULL; in dcn303_resource_destruct()
1549 pool->hubbub = dcn303_hubbub_create(ctx); in dcn303_resource_construct()
1550 if (pool->hubbub == NULL) { in dcn303_resource_construct()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn301/
Ddcn301_resource.c1009 struct hubbub *dcn301_hubbub_create(struct dc_context *ctx) in dcn301_hubbub_create()
1264 if (pool->base.hubbub != NULL) { in dcn301_destruct()
1265 kfree(pool->base.hubbub); in dcn301_destruct()
1266 pool->base.hubbub = NULL; in dcn301_destruct()
1800 pool->base.hubbub = dcn301_hubbub_create(ctx); in dcn301_resource_construct()
1801 if (pool->base.hubbub == NULL) { in dcn301_resource_construct()

12