Home
last modified time | relevance | path

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

12

/Linux-v6.1/drivers/gpu/drm/amd/display/dc/inc/hw/
Ddchubbub.h118 struct hubbub *hubbub,
122 struct hubbub *hubbub,
125 struct hubbub *hubbub,
129 bool (*get_dcc_compression_cap)(struct hubbub *hubbub,
143 void (*wm_read_state)(struct hubbub *hubbub,
146 void (*get_dchub_ref_freq)(struct hubbub *hubbub,
151 struct hubbub *hubbub,
156 bool (*is_allow_self_refresh_enabled)(struct hubbub *hubbub);
157 void (*allow_self_refresh_control)(struct hubbub *hubbub, bool allow);
159 bool (*verify_allow_pstate_change_high)(struct hubbub *hubbub);
[all …]
/Linux-v6.1/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.c1661 if (dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes) in dcn20_program_pipe()
1662 dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); in dcn20_program_pipe()
1665 if (dc->res_pool->hubbub->funcs->program_det_size && pipe_ctx->update_flags.bits.det_size) in dcn20_program_pipe()
1666 dc->res_pool->hubbub->funcs->program_det_size( in dcn20_program_pipe()
1667 dc->res_pool->hubbub, pipe_ctx->plane_res.hubp->inst, pipe_ctx->det_buffer_size_kb); in dcn20_program_pipe()
1757 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_program_front_end_for_ctx() local
1765 if (hubbub->funcs->program_det_size && (context->res_ctx.pipe_ctx[i].update_flags.bits.disable || in dcn20_program_front_end_for_ctx()
1767hubbub->funcs->program_det_size(hubbub, dc->current_state->res_ctx.pipe_ctx[i].plane_res.hubp->ins… in dcn20_program_front_end_for_ctx()
1901 dc->res_pool->hubbub->funcs->apply_DEDCN21_147_wa(dc->res_pool->hubbub); in dcn20_post_unlock_program_front_end()
1912 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, false); in dcn20_post_unlock_program_front_end()
[all …]
Ddcn20_resource.c866 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx) in dcn20_hubbub_create()
869 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn20_hubbub_create() local
872 if (!hubbub) in dcn20_hubbub_create()
875 hubbub2_construct(hubbub, ctx, in dcn20_hubbub_create()
881 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn20_hubbub_create()
890 return &hubbub->base; in dcn20_hubbub_create()
1122 if (pool->base.hubbub != NULL) { in dcn20_resource_destruct()
1123 kfree(pool->base.hubbub); in dcn20_resource_destruct()
1124 pool->base.hubbub = NULL; in dcn20_resource_destruct()
2176 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn20_get_dcc_compression_cap()
[all …]
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/dcn201/
Ddcn201_hubbub.c54 struct hubbub *hubbub, in hubbub201_program_watermarks() argument
59 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub201_program_watermarks()
62 if (hubbub1_program_urgent_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub201_program_watermarks()
65 if (hubbub1_program_pstate_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub201_program_watermarks()
73 hubbub1_allow_self_refresh_control(hubbub, !hubbub->ctx->dc->debug.disable_stutter); in hubbub201_program_watermarks()
91 void hubbub201_construct(struct dcn20_hubbub *hubbub, in hubbub201_construct() argument
97 hubbub->base.ctx = ctx; in hubbub201_construct()
99 hubbub->base.funcs = &hubbub201_funcs; in hubbub201_construct()
101 hubbub->regs = hubbub_regs; in hubbub201_construct()
102 hubbub->shifts = hubbub_shift; in hubbub201_construct()
[all …]
Ddcn201_resource.c740 static struct hubbub *dcn201_hubbub_create(struct dc_context *ctx) in dcn201_hubbub_create()
742 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn201_hubbub_create() local
745 if (!hubbub) in dcn201_hubbub_create()
748 hubbub201_construct(hubbub, ctx, in dcn201_hubbub_create()
753 return &hubbub->base; in dcn201_hubbub_create()
931 if (pool->base.hubbub != NULL) { in dcn201_resource_destruct()
932 kfree(pool->base.hubbub); in dcn201_resource_destruct()
933 pool->base.hubbub = NULL; in dcn201_resource_destruct()
1034 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn201_get_dcc_compression_cap()
1035 dc->res_pool->hubbub, in dcn201_get_dcc_compression_cap()
[all …]
Ddcn201_hubbub.h39 void hubbub201_construct(struct dcn20_hubbub *hubbub,
/Linux-v6.1/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.c498 if (res_pool->dccg && res_pool->hubbub) { in dcn30_init_hw()
504 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn30_init_hw()
556 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn30_init_hw()
557 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn30_init_hw()
558 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn30_init_hw()
626 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn30_init_hw()
627 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn30_init_hw()
635 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn30_init_hw()
636 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn30_init_hw()
637 dc->res_pool->hubbub, false, false); in dcn30_init_hw()
[all …]
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_hubbub.h32 #define TO_DCN10_HUBBUB(hubbub)\ argument
33 container_of(hubbub, struct dcn10_hubbub, base)
385 struct hubbub base;
394 struct hubbub *hubbub,
398 struct hubbub *hubbub);
400 void hubbub1_wm_change_req_wa(struct hubbub *hubbub);
403 struct hubbub *hubbub,
408 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow);
410 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubub);
413 struct hubbub *hubbub);
[all …]
Ddcn10_hubbub.c42 void hubbub1_wm_read_state(struct hubbub *hubbub, in hubbub1_wm_read_state() argument
45 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_wm_read_state()
91 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow) in hubbub1_allow_self_refresh_control() argument
93 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_allow_self_refresh_control()
104 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubbub) in hubbub1_is_allow_self_refresh_enabled() argument
106 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_is_allow_self_refresh_enabled()
117 struct hubbub *hubbub) in hubbub1_verify_allow_pstate_change_high() argument
119 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_verify_allow_pstate_change_high()
234 void hubbub1_wm_change_req_wa(struct hubbub *hubbub) in hubbub1_wm_change_req_wa() argument
236 struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); in hubbub1_wm_change_req_wa()
[all …]
Ddcn10_hw_sequencer.c146 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_log_hubbub_state()
811 if (dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled) in dcn10_bios_golden_init()
813 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub); in dcn10_bios_golden_init()
833 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_bios_golden_init()
835 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub)) in dcn10_bios_golden_init()
836 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_bios_golden_init()
837 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn10_bios_golden_init()
1088 hubbub1_soft_reset(dc->res_pool->hubbub, true); in dcn10_hw_wa_force_recovery()
1111 hubbub1_soft_reset(dc->res_pool->hubbub, false); in dcn10_hw_wa_force_recovery()
1128 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_verify_allow_pstate_change_high() local
[all …]
Ddcn10_resource.c693 static struct hubbub *dcn10_hubbub_create(struct dc_context *ctx) in dcn10_hubbub_create()
931 kfree(pool->base.hubbub); in dcn10_resource_destruct()
932 pool->base.hubbub = NULL; in dcn10_resource_destruct()
1128 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn10_get_dcc_compression_cap()
1129 dc->res_pool->hubbub, in dcn10_get_dcc_compression_cap()
1688 pool->base.hubbub = dcn10_hubbub_create(ctx); in dcn10_resource_construct()
1689 if (pool->base.hubbub == NULL) { in dcn10_resource_construct()
/Linux-v6.1/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.c714 if (pool->base.hubbub != NULL) { in dcn21_resource_destruct()
715 kfree(pool->base.hubbub); in dcn21_resource_destruct()
716 pool->base.hubbub = NULL; in dcn21_resource_destruct()
1029 static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) in dcn21_hubbub_create()
1033 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn21_hubbub_create() local
1036 if (!hubbub) in dcn21_hubbub_create()
1039 hubbub21_construct(hubbub, ctx, in dcn21_hubbub_create()
1045 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn21_hubbub_create()
1053 hubbub->num_vmid = res_cap_rn.num_vmid; in dcn21_hubbub_create()
1055 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-v6.1/drivers/gpu/drm/amd/display/dc/dcn32/
Ddcn32_hubbub.h165 struct hubbub *hubbub,
171 struct hubbub *hubbub,
177 struct hubbub *hubbub,
183 struct hubbub *hubbub,
188 void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow);
190 void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub);
192 void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_k…
Ddcn32_hubbub.c46 static void dcn32_init_crb(struct hubbub *hubbub) in dcn32_init_crb() argument
48 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_init_crb()
71 void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_k… in dcn32_program_det_size() argument
73 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_program_det_size()
110 static void dcn32_program_compbuf_size(struct hubbub *hubbub, unsigned int compbuf_size_kb, bool sa… in dcn32_program_compbuf_size() argument
112 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_program_compbuf_size()
148 struct hubbub *hubbub, in hubbub32_program_urgent_watermarks() argument
153 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub32_program_urgent_watermarks()
338 struct hubbub *hubbub, in hubbub32_program_stutter_watermarks() argument
343 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub32_program_stutter_watermarks()
[all …]
Ddcn32_hwseq.c838 if (res_pool->dccg && res_pool->hubbub) { in dcn32_init_hw()
843 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn32_init_hw()
892 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn32_init_hw()
893 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn32_init_hw()
894 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn32_init_hw()
967 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn32_init_hw()
968 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn32_init_hw()
976 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn32_init_hw()
977 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn32_init_hw()
978 dc->res_pool->hubbub, false, false); in dcn32_init_hw()
[all …]
/Linux-v6.1/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()
151 struct hubbub *hubbub, in hubbub31_program_urgent_watermarks() argument
156 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_urgent_watermarks()
341 struct hubbub *hubbub, in hubbub31_program_stutter_watermarks() argument
346 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_stutter_watermarks()
[all …]
Ddcn31_hwseq.c157 if (res_pool->dccg && res_pool->hubbub) { in dcn31_init_hw()
163 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn31_init_hw()
239 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn31_init_hw()
240 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn31_init_hw()
241 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn31_init_hw()
281 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn31_init_hw()
282 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn31_init_hw()
290 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn31_init_hw()
291 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn31_init_hw()
292 dc->res_pool->hubbub, false, false); in dcn31_init_hw()
[all …]
Ddcn31_hubbub.h125 int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub,

12