/Linux-v6.1/drivers/gpu/drm/amd/display/dc/inc/hw/ |
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, 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/ |
D | dcn20_hubbub.h | 32 #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 …]
|
D | dcn20_hubbub.c | 217 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 …]
|
D | dcn20_hwseq.c | 1661 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() 1767 …hubbub->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 …]
|
D | dcn20_resource.c | 866 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/ |
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() 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 …]
|
D | dcn201_resource.c | 740 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 …]
|
D | dcn201_hubbub.h | 39 void hubbub201_construct(struct dcn20_hubbub *hubbub,
|
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/dcn30/ |
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() 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 …]
|
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);
|
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() 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/ |
D | dcn10_hubbub.h | 32 #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 …]
|
D | dcn10_hubbub.c | 42 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 …]
|
D | dcn10_hw_sequencer.c | 146 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 …]
|
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() 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/ |
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,
|
D | dcn21_hubbub.c | 67 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 …]
|
D | dcn21_resource.c | 714 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 …]
|
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-v6.1/drivers/gpu/drm/amd/display/dc/dcn32/ |
D | dcn32_hubbub.h | 165 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…
|
D | dcn32_hubbub.c | 46 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 …]
|
D | dcn32_hwseq.c | 838 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/ |
D | dcn31_hubbub.c | 51 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 …]
|
D | dcn31_hwseq.c | 157 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 …]
|
D | dcn31_hubbub.h | 125 int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub,
|