/openbmc/linux/drivers/gpu/drm/amd/display/dc/inc/hw/ |
H A D | dchubbub.h | 123 struct hubbub *hubbub, 127 struct hubbub *hubbub, 130 struct hubbub *hubbub, 134 bool (*get_dcc_compression_cap)(struct hubbub *hubbub, 148 void (*wm_read_state)(struct hubbub *hubbub, 151 void (*get_dchub_ref_freq)(struct hubbub *hubbub, 156 struct hubbub *hubbub, 161 bool (*is_allow_self_refresh_enabled)(struct hubbub *hubbub); 162 void (*allow_self_refresh_control)(struct hubbub *hubbub, bool allow); 164 bool (*verify_allow_pstate_change_high)(struct hubbub *hubbub); [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/ |
H A 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 …]
|
H A 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 …]
|
H A D | dcn20_hwseq.c | 1728 if (dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes) in dcn20_program_pipe() 1729 dc->res_pool->hubbub->funcs->force_wm_propagate_to_pipes(dc->res_pool->hubbub); in dcn20_program_pipe() 1732 if (dc->res_pool->hubbub->funcs->program_det_size && pipe_ctx->update_flags.bits.det_size) in dcn20_program_pipe() 1733 dc->res_pool->hubbub->funcs->program_det_size( in dcn20_program_pipe() 1734 dc->res_pool->hubbub, pipe_ctx->plane_res.hubp->inst, pipe_ctx->det_buffer_size_kb); in dcn20_program_pipe() 1839 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn20_program_front_end_for_ctx() 1840 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn20_program_front_end_for_ctx() 1841 dc->res_pool->hubbub, true, false); in dcn20_program_front_end_for_ctx() 1885 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn20_program_front_end_for_ctx() local 1893 if (hubbub->funcs->program_det_size && (context->res_ctx.pipe_ctx[i].update_flags.bits.disable || in dcn20_program_front_end_for_ctx() [all …]
|
H A D | dcn20_resource.c | 856 struct hubbub *dcn20_hubbub_create(struct dc_context *ctx) in dcn20_hubbub_create() 859 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn20_hubbub_create() local 862 if (!hubbub) in dcn20_hubbub_create() 865 hubbub2_construct(hubbub, ctx, in dcn20_hubbub_create() 871 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn20_hubbub_create() 880 return &hubbub->base; in dcn20_hubbub_create() 1105 if (pool->base.hubbub != NULL) { in dcn20_resource_destruct() 1106 kfree(pool->base.hubbub); in dcn20_resource_destruct() 1107 pool->base.hubbub = NULL; in dcn20_resource_destruct() 2182 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn20_get_dcc_compression_cap() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn201/ |
H 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() 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 …]
|
H A D | dcn201_resource.c | 739 static struct hubbub *dcn201_hubbub_create(struct dc_context *ctx) in dcn201_hubbub_create() 741 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn201_hubbub_create() local 744 if (!hubbub) in dcn201_hubbub_create() 747 hubbub201_construct(hubbub, ctx, in dcn201_hubbub_create() 752 return &hubbub->base; in dcn201_hubbub_create() 923 if (pool->base.hubbub != NULL) { in dcn201_resource_destruct() 924 kfree(pool->base.hubbub); in dcn201_resource_destruct() 925 pool->base.hubbub = NULL; in dcn201_resource_destruct() 1029 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn201_get_dcc_compression_cap() 1030 dc->res_pool->hubbub, in dcn201_get_dcc_compression_cap() [all …]
|
H A D | dcn201_hubbub.h | 39 void hubbub201_construct(struct dcn20_hubbub *hubbub,
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/ |
H 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() 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 …]
|
H 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);
|
H A D | dcn30_hwseq.c | 477 if (res_pool->dccg && res_pool->hubbub) { in dcn30_init_hw() 483 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn30_init_hw() 529 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn30_init_hw() 530 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn30_init_hw() 531 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn30_init_hw() 599 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn30_init_hw() 600 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn30_init_hw() 610 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn30_init_hw() 611 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn30_init_hw() 612 dc->res_pool->hubbub, false, false); in dcn30_init_hw() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn32/ |
H A D | dcn32_hubbub.h | 118 struct hubbub *hubbub, 124 struct hubbub *hubbub, 130 struct hubbub *hubbub, 136 struct hubbub *hubbub, 141 void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow); 143 void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub); 145 void hubbub32_init(struct hubbub *hubbub); 147 void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_k… 158 void hubbub32_set_request_limit(struct hubbub *hubbub, int umc_count, int words_per_umc);
|
H A D | dcn32_hubbub.c | 50 static void dcn32_init_crb(struct hubbub *hubbub) in dcn32_init_crb() argument 52 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_init_crb() 75 void hubbub32_set_request_limit(struct hubbub *hubbub, int memory_channel_count, int words_per_chan… in hubbub32_set_request_limit() argument 77 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub32_set_request_limit() 92 void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_k… in dcn32_program_det_size() argument 94 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_program_det_size() 131 static void dcn32_program_compbuf_size(struct hubbub *hubbub, unsigned int compbuf_size_kb, bool sa… in dcn32_program_compbuf_size() argument 133 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn32_program_compbuf_size() 169 struct hubbub *hubbub, in hubbub32_program_urgent_watermarks() argument 174 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub32_program_urgent_watermarks() [all …]
|
H A D | dcn32_hwseq.c | 803 if (res_pool->dccg && res_pool->hubbub) { in dcn32_init_hw() 808 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn32_init_hw() 865 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn32_init_hw() 866 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn32_init_hw() 867 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn32_init_hw() 950 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn32_init_hw() 951 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn32_init_hw() 960 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn32_init_hw() 961 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn32_init_hw() 962 dc->res_pool->hubbub, false, false); in dcn32_init_hw() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn10/ |
H A D | dcn10_hubbub.h | 32 #define TO_DCN10_HUBBUB(hubbub)\ argument 33 container_of(hubbub, struct dcn10_hubbub, base) 397 struct hubbub base; 406 struct hubbub *hubbub, 410 struct hubbub *hubbub); 412 void hubbub1_wm_change_req_wa(struct hubbub *hubbub); 415 struct hubbub *hubbub, 420 void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow); 422 bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubub); 425 struct hubbub *hubbub); [all …]
|
H A 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 …]
|
H A D | dcn10_hw_sequencer.c | 147 dc->res_pool->hubbub->funcs->wm_read_state(dc->res_pool->hubbub, &wm); in dcn10_log_hubbub_state() 816 if (dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled) in dcn10_bios_golden_init() 818 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub); in dcn10_bios_golden_init() 838 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn10_bios_golden_init() 840 dc->res_pool->hubbub->funcs->is_allow_self_refresh_enabled(dc->res_pool->hubbub)) in dcn10_bios_golden_init() 841 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn10_bios_golden_init() 842 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn10_bios_golden_init() 1118 hubbub1_soft_reset(dc->res_pool->hubbub, true); in dcn10_hw_wa_force_recovery() 1141 hubbub1_soft_reset(dc->res_pool->hubbub, false); in dcn10_hw_wa_force_recovery() 1158 struct hubbub *hubbub = dc->res_pool->hubbub; in dcn10_verify_allow_pstate_change_high() local [all …]
|
H A D | dcn10_resource.c | 692 static struct hubbub *dcn10_hubbub_create(struct dc_context *ctx) in dcn10_hubbub_create() 923 kfree(pool->base.hubbub); in dcn10_resource_destruct() 924 pool->base.hubbub = NULL; in dcn10_resource_destruct() 1121 return dc->res_pool->hubbub->funcs->get_dcc_compression_cap( in dcn10_get_dcc_compression_cap() 1122 dc->res_pool->hubbub, in dcn10_get_dcc_compression_cap() 1641 pool->base.hubbub = dcn10_hubbub_create(ctx); in dcn10_resource_construct() 1642 if (pool->base.hubbub == NULL) { in dcn10_resource_construct()
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn21/ |
H 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,
|
H A 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 …]
|
H A D | dcn21_resource.c | 699 if (pool->base.hubbub != NULL) { in dcn21_resource_destruct() 700 kfree(pool->base.hubbub); in dcn21_resource_destruct() 701 pool->base.hubbub = NULL; in dcn21_resource_destruct() 1015 static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) in dcn21_hubbub_create() 1019 struct dcn20_hubbub *hubbub = kzalloc(sizeof(struct dcn20_hubbub), in dcn21_hubbub_create() local 1022 if (!hubbub) in dcn21_hubbub_create() 1025 hubbub21_construct(hubbub, ctx, in dcn21_hubbub_create() 1031 struct dcn20_vmid *vmid = &hubbub->vmid[i]; in dcn21_hubbub_create() 1039 hubbub->num_vmid = res_cap_rn.num_vmid; in dcn21_hubbub_create() 1041 return &hubbub->base; in dcn21_hubbub_create() [all …]
|
H 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()
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn31/ |
H A 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() 112 static void dcn31_program_compbuf_size(struct hubbub *hubbub, unsigned int compbuf_size_kb, bool sa… in dcn31_program_compbuf_size() argument 114 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in dcn31_program_compbuf_size() 152 struct hubbub *hubbub, in hubbub31_program_urgent_watermarks() argument 157 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_urgent_watermarks() 342 struct hubbub *hubbub, in hubbub31_program_stutter_watermarks() argument 347 struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub); in hubbub31_program_stutter_watermarks() [all …]
|
H A D | dcn31_hwseq.c | 135 if (res_pool->dccg && res_pool->hubbub) { in dcn31_init_hw() 141 (res_pool->hubbub->funcs->get_dchub_ref_freq)(res_pool->hubbub, in dcn31_init_hw() 212 if (dc->res_pool->hubbub->funcs->allow_self_refresh_control) in dcn31_init_hw() 213 dc->res_pool->hubbub->funcs->allow_self_refresh_control(dc->res_pool->hubbub, in dcn31_init_hw() 214 !dc->res_pool->hubbub->ctx->dc->debug.disable_stutter); in dcn31_init_hw() 254 if (!dcb->funcs->is_accelerated_mode(dcb) && dc->res_pool->hubbub->funcs->init_watermarks) in dcn31_init_hw() 255 dc->res_pool->hubbub->funcs->init_watermarks(dc->res_pool->hubbub); in dcn31_init_hw() 263 if (dc->res_pool->hubbub->funcs->force_pstate_change_control) in dcn31_init_hw() 264 dc->res_pool->hubbub->funcs->force_pstate_change_control( in dcn31_init_hw() 265 dc->res_pool->hubbub, false, false); in dcn31_init_hw() [all …]
|
H A D | dcn31_hubbub.h | 133 int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub, 136 void hubbub31_init(struct hubbub *hubbub);
|