/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/inc/hw/ |
A D | dchubbub.h | 118 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, 161 void (*apply_DEDCN21_147_wa)(struct hubbub *hubbub); 169 void (*init_watermarks)(struct hubbub *hubbub); 187 void (*init_crb)(struct hubbub *hubbub); [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn20/ |
A D | dcn20_hubbub.h | 32 #define TO_DCN20_HUBBUB(hubbub)\ argument 33 container_of(hubbub, struct dcn20_hubbub, base) 83 struct hubbub base; 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, 137 void hubbub2_wm_read_state(struct hubbub *hubbub, [all …]
|
A D | dcn20_hubbub.c | 217 bool hubbub2_get_dcc_compression_cap(struct hubbub *hubbub, in hubbub2_get_dcc_compression_cap() argument 357 void hubbub2_init_vm_ctx(struct hubbub *hubbub, in hubbub2_init_vm_ctx() argument 373 int hubbub2_init_dchub_sys_ctx(struct hubbub *hubbub, in hubbub2_init_dchub_sys_ctx() argument 410 void hubbub2_update_dchub(struct hubbub *hubbub, in hubbub2_update_dchub() argument 485 void hubbub2_wm_read_state(struct hubbub *hubbub, in hubbub2_wm_read_state() argument 539 void hubbub2_get_dchub_ref_freq(struct hubbub *hubbub, in hubbub2_get_dchub_ref_freq() argument 572 struct hubbub *hubbub, in hubbub2_program_watermarks() argument 604 hubbub->funcs->allow_self_refresh_control(hubbub, !hubbub->ctx->dc->debug.disable_stutter); in hubbub2_program_watermarks() 608 void hubbub2_read_state(struct hubbub *hubbub, struct dcn_hubbub_state *hubbub_state) in hubbub2_read_state() argument 649 hubbub->base.ctx = ctx; in hubbub2_construct() [all …]
|
A D | dcn20_hwseq.c | 1732 dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); in dcn20_program_pipe() 1853 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_program_front_end_for_ctx() local 1993 dc->res_pool->hubbub->funcs->apply_DEDCN21_147_wa(dc->res_pool->hubbub); in dcn20_post_unlock_program_front_end() 2016 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_prepare_bandwidth() local 2040 dc->wm_optimized_required |= hubbub->funcs->program_watermarks(hubbub, in dcn20_prepare_bandwidth() 2059 hubbub->funcs->program_compbuf_size(hubbub, compbuf_size_kb, false); in dcn20_prepare_bandwidth() 2067 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_optimize_bandwidth() local 2081 hubbub->funcs->program_watermarks(hubbub, in dcn20_optimize_bandwidth() 2304 dc->res_pool->hubbub->funcs->init_vm_ctx(dc->res_pool->hubbub, &config, vmid); in dcn20_init_vm_ctx() 2322 return dc->res_pool->hubbub->funcs->init_dchub_sys_ctx(dc->res_pool->hubbub, &config); in dcn20_init_sys_ctx() [all …]
|
A D | dcn20_resource.c | 873 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx) in dcn20_hubbub_create() 879 if (!hubbub) in dcn20_hubbub_create() 882 hubbub2_construct(hubbub, ctx, in dcn20_hubbub_create() 888 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn20_hubbub_create() 897 return &hubbub->base; in dcn20_hubbub_create() 1129 if (pool->base.hubbub != NULL) { in dcn20_resource_destruct() 1130 kfree(pool->base.hubbub); in dcn20_resource_destruct() 1131 pool->base.hubbub = NULL; in dcn20_resource_destruct() 2203 dc->res_pool->hubbub, in dcn20_get_dcc_compression_cap() 2708 pool->base.hubbub = dcn20_hubbub_create(ctx); in dcn20_resource_construct() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn201/ |
A D | dcn201_hubbub.c | 54 struct hubbub *hubbub, in hubbub201_program_watermarks() argument 59 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); 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() 103 hubbub->masks = hubbub_mask; in hubbub201_construct() 105 hubbub->debug_test_index_pstate = 0xB; in hubbub201_construct() [all …]
|
A D | dcn201_resource.c | 740 static struct hubbub *dcn201_hubbub_create(struct dc_context *ctx) in dcn201_hubbub_create() 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() 1270 pool->base.hubbub = dcn201_hubbub_create(ctx); in dcn201_resource_construct() [all …]
|
A D | dcn201_hubbub.h | 39 void hubbub201_construct(struct dcn20_hubbub *hubbub,
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn30/ |
A D | dcn30_hubbub.c | 64 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() 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() 375 void hubbub3_force_wm_propagate_to_pipes(struct hubbub *hubbub) in hubbub3_force_wm_propagate_to_pipes() argument 377 struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); in hubbub3_force_wm_propagate_to_pipes() 387 void hubbub3_force_pstate_change_control(struct hubbub *hubbub, in hubbub3_force_pstate_change_control() argument [all …]
|
A D | dcn30_hubbub.h | 110 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);
|
A D | dcn30_hwseq.c | 498 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() 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() 627 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); 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() 638 if (dc->res_pool->hubbub->funcs->init_crb) in dcn30_init_hw() 639 dc->res_pool->hubbub->funcs->init_crb(dc->res_pool->hubbub); in dcn30_init_hw() 976 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn30_hardware_release() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn10/ |
A D | dcn10_hubbub.h | 406 struct hubbub *hubbub, 410 struct hubbub *hubbub); 412 void hubbub1_wm_change_req_wa(struct hubbub *hubbub); 415 struct hubbub *hubbub, 425 struct hubbub *hubbub); 427 void hubbub1_wm_read_state(struct hubbub *hubbub, 430 void hubbub1_soft_reset(struct hubbub *hubbub, bool reset); 431 void hubbub1_construct(struct hubbub *hubbub, 438 struct hubbub *hubbub, 443 struct hubbub *hubbub, [all …]
|
A D | dcn10_hubbub.c | 42 void hubbub1_wm_read_state(struct hubbub *hubbub, in hubbub1_wm_read_state() argument 104 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubbub) in hubbub1_is_allow_self_refresh_enabled() argument 117 struct hubbub *hubbub) in hubbub1_verify_allow_pstate_change_high() argument 234 void hubbub1_wm_change_req_wa(struct hubbub *hubbub) in hubbub1_wm_change_req_wa() argument 244 struct hubbub *hubbub, in hubbub1_program_urgent_watermarks() argument 358 struct hubbub *hubbub, in hubbub1_program_stutter_watermarks() argument 503 struct hubbub *hubbub, in hubbub1_program_pstate_watermarks() argument 584 struct hubbub *hubbub, in hubbub1_program_watermarks() argument 620 struct hubbub *hubbub, in hubbub1_update_dchub() argument 700 void hubbub1_soft_reset(struct hubbub *hubbub, bool reset) in hubbub1_soft_reset() argument [all …]
|
A D | dcn10_hw_sequencer.c | 1154 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_verify_allow_pstate_change_high() local 1160 if (!hubbub->funcs->verify_allow_pstate_change_high(hubbub)) { in dcn10_verify_allow_pstate_change_high() 1170 if (!hubbub->funcs->verify_allow_pstate_change_high(hubbub)) in dcn10_verify_allow_pstate_change_high() 1303 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_init_pipes() local 1350 hubbub->funcs->program_det_size(hubbub, hubp->inst, 0); in dcn10_init_pipes() 3065 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_prepare_bandwidth() local 3105 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_optimize_bandwidth() local 3121 hubbub->funcs->program_watermarks(hubbub, in dcn10_optimize_bandwidth() 3356 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_update_pending_status() local 3366 struct hubbub *hubbub = hws->ctx->dc->res_pool->hubbub; in dcn10_update_dchub() local [all …]
|
A D | dcn10_resource.c | 693 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() 1648 pool->base.hubbub = dcn10_hubbub_create(ctx); in dcn10_resource_construct() 1649 if (pool->base.hubbub == NULL) { in dcn10_resource_construct()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn21/ |
A D | dcn21_hubbub.h | 125 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,
|
A D | dcn21_hubbub.c | 67 void dcn21_dchvm_init(struct hubbub *hubbub) in dcn21_dchvm_init() argument 103 hubbub->riommu_active = true; in dcn21_dchvm_init() 107 int hubbub21_init_dchub(struct hubbub *hubbub, in hubbub21_init_dchub() argument 136 dcn21_dchvm_init(hubbub); in hubbub21_init_dchub() 142 struct hubbub *hubbub, in hubbub21_program_urgent_watermarks() argument 336 struct hubbub *hubbub, in hubbub21_program_stutter_watermarks() argument 489 struct hubbub *hubbub, in hubbub21_program_pstate_watermarks() argument 575 struct hubbub *hubbub, in hubbub21_program_watermarks() argument 618 void hubbub21_wm_read_state(struct hubbub *hubbub, in hubbub21_wm_read_state() argument 683 static void hubbub21_apply_DEDCN21_147_wa(struct hubbub *hubbub) in hubbub21_apply_DEDCN21_147_wa() argument [all …]
|
A D | dcn21_resource.c | 715 if (pool->base.hubbub != NULL) { in dcn21_resource_destruct() 716 kfree(pool->base.hubbub); in dcn21_resource_destruct() 717 pool->base.hubbub = NULL; in dcn21_resource_destruct() 1030 static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) in dcn21_hubbub_create() 1037 if (!hubbub) in dcn21_hubbub_create() 1040 hubbub21_construct(hubbub, ctx, in dcn21_hubbub_create() 1046 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn21_hubbub_create() 1054 hubbub->num_vmid = res_cap_rn.num_vmid; in dcn21_hubbub_create() 1056 return &hubbub->base; in dcn21_hubbub_create() 1698 pool->base.hubbub = dcn21_hubbub_create(ctx); in dcn21_resource_construct() [all …]
|
A D | dcn21_hwseq.c | 83 return dc->res_pool->hubbub->funcs->init_dchub_sys_ctx(dc->res_pool->hubbub, &config); in dcn21_init_sys_ctx()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn32/ |
A D | dcn32_hubbub.h | 180 struct hubbub *hubbub, 186 struct hubbub *hubbub, 192 struct hubbub *hubbub, 198 struct hubbub *hubbub, 203 void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow); 205 void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub); 207 void hubbub32_init(struct hubbub *hubbub); 209 void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_k… 220 void hubbub32_set_request_limit(struct hubbub *hubbub, int umc_count, int words_per_umc);
|
A D | dcn32_hubbub.c | 50 static void dcn32_init_crb(struct hubbub *hubbub) in dcn32_init_crb() argument 169 struct hubbub *hubbub, in hubbub32_program_urgent_watermarks() argument 359 struct hubbub *hubbub, in hubbub32_program_stutter_watermarks() argument 505 struct hubbub *hubbub, in hubbub32_program_pstate_watermarks() argument 658 struct hubbub *hubbub, in hubbub32_program_usr_watermarks() argument 737 void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow) in hubbub32_force_usr_retraining_allow() argument 752 struct hubbub *hubbub, in hubbub32_program_watermarks() argument 797 static void hubbub32_init_watermarks(struct hubbub *hubbub) in hubbub32_init_watermarks() argument 848 static void hubbub32_wm_read_state(struct hubbub *hubbub, in hubbub32_wm_read_state() argument 937 void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub) in hubbub32_force_wm_propagate_to_pipes() argument [all …]
|
A D | dcn32_hwseq.c | 751 if (res_pool->dccg && res_pool->hubbub) { in dcn32_init_hw() 756 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn32_init_hw() 805 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn32_init_hw() 806 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn32_init_hw() 807 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn32_init_hw() 893 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn32_init_hw() 901 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn32_init_hw() 902 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn32_init_hw() 903 dc->res_pool->hubbub, false, false); in dcn32_init_hw() 905 if (dc->res_pool->hubbub->funcs->init_crb) in dcn32_init_hw() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn31/ |
A D | dcn31_hubbub.c | 51 static void dcn31_init_crb(struct hubbub *hubbub) in dcn31_init_crb() argument 151 struct hubbub *hubbub, in hubbub31_program_urgent_watermarks() argument 341 struct hubbub *hubbub, in hubbub31_program_stutter_watermarks() argument 614 struct hubbub *hubbub, in hubbub31_program_pstate_watermarks() argument 696 struct hubbub *hubbub, in hubbub31_program_watermarks() argument 780 static bool hubbub31_get_dcc_compression_cap(struct hubbub *hubbub, in hubbub31_get_dcc_compression_cap() argument 879 int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub, in hubbub31_init_dchub_sys_ctx() argument 910 dcn21_dchvm_init(hubbub); in hubbub31_init_dchub_sys_ctx() 915 static void hubbub31_get_dchub_ref_freq(struct hubbub *hubbub, in hubbub31_get_dchub_ref_freq() argument 952 static bool hubbub31_verify_allow_pstate_change_high(struct hubbub *hubbub) in hubbub31_verify_allow_pstate_change_high() argument [all …]
|
A D | dcn31_hwseq.c | 158 if (res_pool->dccg && res_pool->hubbub) { in dcn31_init_hw() 164 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn31_init_hw() 240 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn31_init_hw() 241 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn31_init_hw() 242 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn31_init_hw() 283 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn31_init_hw() 292 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn31_init_hw() 293 dc->res_pool->hubbub, false, false); in dcn31_init_hw() 295 if (dc->res_pool->hubbub->funcs->init_crb) in dcn31_init_hw() 296 dc->res_pool->hubbub->funcs->init_crb(dc->res_pool->hubbub); in dcn31_init_hw() [all …]
|
A D | dcn31_hubbub.h | 133 int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub, 136 void hubbub31_init(struct hubbub *hubbub);
|