/drivers/gpu/drm/amd/display/dc/inc/hw/ |
D | dchubbub.h | 111 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/ |
D | dcn20_hubbub.h | 42 #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 …]
|
D | dcn20_hubbub.c | 218 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 …]
|
D | dcn20_hwseq.c | 1599 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()
|
D | dcn20_resource.h | 110 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx);
|
D | dcn20_resource.c | 1224 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/ |
D | dcn10_hubbub.h | 32 #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 …]
|
D | dcn10_hubbub.c | 44 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 …]
|
D | dcn10_hw_sequencer.c | 135 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 …]
|
D | dcn10_resource.c | 759 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()
|
D | dcn10_hw_sequencer_debug.c | 84 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/ |
D | dcn21_hubbub.h | 113 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,
|
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() 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 …]
|
D | dcn21_resource.c | 930 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 …]
|
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()
|
/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 | 98 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,
|
D | dcn30_hwseq.c | 480 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()
|
D | dcn30_resource.c | 991 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/ |
D | core_types.h | 190 struct hubbub *hubbub; member
|
/drivers/gpu/drm/amd/display/dc/calcs/ |
D | dcn_calcs.c | 332 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()
|