drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1247
struct clk_mgr *clk_mgr = ctx->dc->clk_mgr;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1350
dc_state->bw_ctx.bw.dcn.clk.dramclk_khz = clk_mgr->dc_mode_softmax_enabled ?
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1351
clk_mgr->bw_params->dc_mode_softmax_memclk : clk_mgr->bw_params->max_memclk_mhz;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1353
ctx->dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1354
ctx->dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
114
clk_mgr->psr_allow_active_cache = edp_link->psr_settings.psr_allow_active;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
122
void clk_mgr_optimize_pwr_state(const struct dc *dc, struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
136
&clk_mgr->psr_allow_active_cache, false, false, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
138
&clk_mgr->psr_allow_active_cache, false, false, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
147
struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *pp_smu, struct dccg *dccg)
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
154
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
156
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
160
dce60_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
161
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
166
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
168
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
172
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
173
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
176
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
178
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
182
dce110_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
183
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
186
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
188
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
194
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
195
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
200
dce112_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
201
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
204
dce112_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
205
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
207
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
210
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
212
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
217
dce121_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
219
dce120_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
220
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
224
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
226
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
232
rn_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
233
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
237
rn_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
238
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
241
rv2_clk_mgr_construct(ctx, clk_mgr, pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
242
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
246
rv1_clk_mgr_construct(ctx, clk_mgr, pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
247
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
249
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
252
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
254
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
259
dcn201_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
260
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
263
dcn3_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
264
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
267
dcn3_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
268
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
271
dcn3_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
272
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
274
dcn20_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
275
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
279
struct clk_mgr_vgh *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
281
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
285
vg_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
286
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
291
struct clk_mgr_dcn31 *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
293
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
298
dcn31_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
299
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
303
struct clk_mgr_dcn315 *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
305
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
310
dcn315_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
311
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
315
struct clk_mgr_dcn316 *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
317
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
322
dcn316_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
323
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
327
struct clk_mgr_internal *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
329
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
333
dcn32_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
334
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
338
struct clk_mgr_dcn314 *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
340
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
345
dcn314_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
346
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
351
struct clk_mgr_dcn35 *clk_mgr = kzalloc_obj(*clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
353
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
358
dcn351_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
360
dcn35_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
362
return &clk_mgr->base.base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
367
struct clk_mgr_internal *clk_mgr = dcn401_clk_mgr_construct(ctx, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
369
if (clk_mgr == NULL) {
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
374
return &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
386
void dc_destroy_clk_mgr(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
388
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
394
dcn3_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
396
dcn3_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
399
dcn3_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
405
vg_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
409
dcn31_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
413
dcn315_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
417
dcn316_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
421
dcn32_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
425
dcn314_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
429
dcn35_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
432
dcn401_clk_mgr_destroy(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
440
kfree(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c
96
void clk_mgr_exit_optimized_pwr_state(const struct dc *dc, struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
129
int dce_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
131
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
150
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
152
return dce_adjust_dp_ref_freq_for_ss(clk_mgr, dp_ref_clk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
155
int dce12_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
195
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
230
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
400
static void dce_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
439
struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
441
struct clk_mgr *base = &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
444
memcpy(clk_mgr->max_clks_by_state,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
451
clk_mgr->regs = &disp_clk_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
452
clk_mgr->clk_mgr_shift = &disp_clk_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
453
clk_mgr->clk_mgr_mask = &disp_clk_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
454
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
456
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
457
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
458
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
461
clk_mgr->max_clks_state = static_clk_info.max_clocks_state;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
463
clk_mgr->max_clks_state = DM_PP_CLOCKS_STATE_NOMINAL;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
464
clk_mgr->cur_min_clks_state = DM_PP_CLOCKS_STATE_INVALID;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
467
clk_mgr->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
469
dce_clock_read_integrated_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
47
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
470
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
51
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.h
34
int dce_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.h
36
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.h
48
int dce12_get_dp_ref_freq_khz(struct clk_mgr *dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.h
51
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.h
55
void dce_clk_mgr_destroy(struct clk_mgr **clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
123
struct dc *dc = context->clk_mgr->ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
128
pp_display_cfg->disp_clk_khz = dc->clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
255
static void dce11_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
289
struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
291
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
293
memcpy(clk_mgr->max_clks_by_state,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
297
clk_mgr->regs = &disp_clk_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
298
clk_mgr->clk_mgr_shift = &disp_clk_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
299
clk_mgr->clk_mgr_mask = &disp_clk_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
300
clk_mgr->base.funcs = &dce110_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.h
31
struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
124
int dce112_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_clk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
127
struct dc_bios *bp = clk_mgr->base.ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
128
struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
137
clk_mgr->base.dentist_vco_freq_khz / 62);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
151
clk_mgr->cur_min_clks_state = DM_PP_CLOCKS_STATE_NOMINAL;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
155
if (clk_mgr->dfs_bypass_disp_clk != actual_clock)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
160
clk_mgr->dfs_bypass_disp_clk = actual_clock;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
165
int dce112_set_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
168
struct dc_bios *bp = clk_mgr->base.ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
177
if (!((clk_mgr->base.ctx->asic_id.chip_family == FAMILY_AI) &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
178
ASICREV_IS_VEGA20_P(clk_mgr->base.ctx->asic_id.hw_internal_rev)))
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
191
static void dce112_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
225
struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
227
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
229
memcpy(clk_mgr->max_clks_by_state,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
233
clk_mgr->regs = &disp_clk_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
234
clk_mgr->clk_mgr_shift = &disp_clk_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
235
clk_mgr->clk_mgr_mask = &disp_clk_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
236
clk_mgr->base.funcs = &dce112_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c
70
int dce112_set_clock(struct clk_mgr *clk_mgr_base, int requested_clk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.h
32
struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.h
35
int dce112_set_clock(struct clk_mgr *clk_mgr_base, int requested_clk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.h
36
int dce112_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_clk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.h
37
int dce112_set_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
128
void dce120_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
130
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
132
memcpy(clk_mgr->max_clks_by_state,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
136
clk_mgr->base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
137
clk_mgr->base.funcs = &dce120_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
140
void dce121_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
142
dce120_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
143
clk_mgr->base.dprefclk_khz = 625000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
150
dce121_clock_patch_xgmi_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.c
84
static void dce12_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.h
29
void dce120_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce120/dce120_clk_mgr.h
30
void dce121_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
109
static void dce60_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
148
struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
150
struct clk_mgr *base = &clk_mgr->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
152
dce_clk_mgr_construct(ctx, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
154
memcpy(clk_mgr->max_clks_by_state,
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
158
clk_mgr->regs = &disp_clk_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
159
clk_mgr->clk_mgr_shift = &disp_clk_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
160
clk_mgr->clk_mgr_mask = &disp_clk_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
161
clk_mgr->base.funcs = &dce60_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
164
clk_mgr->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
47
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
51
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
83
static int dce60_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
85
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
94
return dce_adjust_dp_ref_freq_for_ss(clk_mgr, dp_ref_clk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
158
clk_mgr->funcs->set_dispclk(clk_mgr, dispclk_to_dpp_threshold);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
159
clk_mgr->funcs->set_dprefclk(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
177
clk_mgr->funcs->set_dispclk(clk_mgr, new_clocks->dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
178
clk_mgr->funcs->set_dprefclk(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
182
clk_mgr->base.clks.dispclk_khz = new_clocks->dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
183
clk_mgr->base.clks.dppclk_khz = new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
184
clk_mgr->base.clks.max_supported_dppclk_khz = new_clocks->max_supported_dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
187
static void rv1_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
191
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
202
ASSERT(clk_mgr->pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
207
pp_smu = &clk_mgr->pp_smu->rv_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
274
ramp_up_dispclk_with_dpp(clk_mgr, dc, new_clocks, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
291
static void rv1_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
293
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
296
if (clk_mgr->pp_smu) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
297
pp_smu = &clk_mgr->pp_smu->rv_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
316
void rv1_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
321
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
322
clk_mgr->pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
323
clk_mgr->base.funcs = &rv1_clk_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
324
clk_mgr->funcs = &rv1_clk_internal_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
326
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
328
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
329
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
330
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
331
clk_mgr->base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
334
clk_mgr->base.dentist_vco_freq_khz = bp->integrated_info->dentist_vco_freq;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
335
if (bp->fw_info_valid && clk_mgr->base.dentist_vco_freq_khz == 0) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
336
clk_mgr->base.dentist_vco_freq_khz = bp->fw_info.smu_gpu_pll_output_freq;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
337
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
338
clk_mgr->base.dentist_vco_freq_khz = 3600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
34
static void rv1_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
343
clk_mgr->dfs_bypass_enabled = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
345
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
36
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
39
static int rv1_determine_dppclk_threshold(struct clk_mgr_internal *clk_mgr, struct dc_clocks *new_clocks)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
42
bool dispclk_increase = new_clocks->dispclk_khz > clk_mgr->base.clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
44
bool cur_dpp_div = clk_mgr->base.clks.dispclk_khz > clk_mgr->base.clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
74
if (clk_mgr->base.clks.dispclk_khz <= disp_clk_threshold)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
86
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c
92
int dispclk_to_dpp_threshold = rv1_determine_dppclk_threshold(clk_mgr, new_clocks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.h
29
void rv1_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
103
static int rv1_vbios_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
117
result = rv1_smu_wait_for_response(clk_mgr, 10, 1000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
125
int rv1_vbios_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
128
struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
133
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
138
if (clk_mgr->dfs_bypass_disp_clk != actual_dispclk_set_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.c
85
static uint32_t rv1_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.h
29
int rv1_vbios_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv2_clk_mgr.c
37
void rv2_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv2_clk_mgr.c
40
rv1_clk_mgr_construct(ctx, clk_mgr, pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv2_clk_mgr.c
42
clk_mgr->funcs = &rv2_clk_internal_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv2_clk_mgr.h
29
void rv2_clk_mgr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
104
void dcn20_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
109
clk_mgr->dccg->ref_dppclk = clk_mgr->base.clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
110
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
119
prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
122
clk_mgr->dccg->funcs->update_dpp_dto(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
123
clk_mgr->dccg, dpp_inst, dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
127
void dcn20_update_clocks_update_dentist(struct clk_mgr_internal *clk_mgr, struct dc_state *context)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
136
if (clk_mgr->base.clks.dppclk_khz == 0 || clk_mgr->base.clks.dispclk_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
140
* clk_mgr->base.dentist_vco_freq_khz / clk_mgr->base.clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
142
* clk_mgr->base.dentist_vco_freq_khz / clk_mgr->base.clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
152
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
155
struct dccg *dccg = clk_mgr->base.ctx->dc->res_pool->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
183
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
185
struct dccg *dccg = clk_mgr->base.ctx->dc->res_pool->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
216
void dcn2_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
220
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
296
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
297
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
299
clk_mgr->base.clks.dppclk_khz = new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
324
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
325
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
329
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
331
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
343
void dcn2_update_clocks_fpga(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
347
struct clk_mgr_internal *clk_mgr_int = TO_CLK_MGR_INTERNAL(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
353
if (should_set_clock(safe_to_lower, new_clocks->phyclk_khz, clk_mgr->clks.phyclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
354
clk_mgr->clks.phyclk_khz = new_clocks->phyclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
357
if (should_set_clock(safe_to_lower, new_clocks->dcfclk_khz, clk_mgr->clks.dcfclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
358
clk_mgr->clks.dcfclk_khz = new_clocks->dcfclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
362
new_clocks->dcfclk_deep_sleep_khz, clk_mgr->clks.dcfclk_deep_sleep_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
363
clk_mgr->clks.dcfclk_deep_sleep_khz = new_clocks->dcfclk_deep_sleep_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
366
if (should_set_clock(safe_to_lower, new_clocks->socclk_khz, clk_mgr->clks.socclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
367
clk_mgr->clks.socclk_khz = new_clocks->socclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
370
if (should_set_clock(safe_to_lower, new_clocks->dramclk_khz, clk_mgr->clks.dramclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
371
clk_mgr->clks.dramclk_khz = new_clocks->dramclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
374
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
375
clk_mgr->clks.dppclk_khz = new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
378
if (should_set_clock(safe_to_lower, fclk_adj, clk_mgr->clks.fclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
379
clk_mgr->clks.fclk_khz = fclk_adj;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
382
if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
383
clk_mgr->clks.dispclk_khz = new_clocks->dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
390
if (clk_mgr->clks.fclk_khz > clk_mgr->clks.dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
391
clk_mgr->clks.dppclk_khz = clk_mgr->clks.fclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
392
if (clk_mgr->clks.dppclk_khz > clk_mgr->clks.fclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
393
clk_mgr->clks.fclk_khz = clk_mgr->clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
396
clk_mgr_int->dccg->ref_dppclk = clk_mgr->clks.fclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
399
clk_mgr->clks.dtbclk_en = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
400
dm_set_dcn_clocks(clk_mgr->ctx, &clk_mgr->clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
403
void dcn2_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
405
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
407
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
408
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
411
static void dcn2_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
413
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
416
if (clk_mgr->pp_smu) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
417
pp_smu = &clk_mgr->pp_smu->nv_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
425
void dcn2_read_clocks_from_hw_dentist(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
427
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
44
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
442
* clk_mgr->base.dentist_vco_freq_khz) / disp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
445
* clk_mgr->base.dentist_vco_freq_khz) / dpp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
449
void dcn2_get_clock(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
458
clock_cfg->current_clock_khz = clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
464
clock_cfg->current_clock_khz = clk_mgr->clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
47
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
493
static void dcn2_notify_link_rate_change(struct clk_mgr *clk_mgr_base, struct dc_link *link)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
495
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
499
if (!clk_mgr->pp_smu || !clk_mgr->pp_smu->nv_funcs.set_voltage_by_freq)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
502
pp_smu = &clk_mgr->pp_smu->nv_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
504
clk_mgr->cur_phyclk_req_table[link->link_index] = link->cur_link_settings.link_rate * LINK_RATE_REF_FREQ_IN_KHZ;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
507
if (clk_mgr->cur_phyclk_req_table[i] > max_phyclk_req)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
508
max_phyclk_req = clk_mgr->cur_phyclk_req_table[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
530
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
539
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
540
clk_mgr->pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
541
clk_mgr->base.funcs = &dcn2_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
542
clk_mgr->regs = &clk_mgr_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
543
clk_mgr->clk_mgr_shift = &clk_mgr_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
544
clk_mgr->clk_mgr_mask = &clk_mgr_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
546
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
547
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
549
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
550
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
551
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
553
clk_mgr->base.dprefclk_khz = 700000; // 700 MHz planned if VCO is 3.85 GHz, will be retrieved
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
567
pll_req = dc_fixpt_from_int(pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
568
pll_req.value |= pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_frac;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
574
clk_mgr->base.dentist_vco_freq_khz = dc_fixpt_floor(pll_req);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
577
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
578
clk_mgr->base.dentist_vco_freq_khz = 3850000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
581
clk_mgr->base.dprefclk_khz = (DENTIST_DIVIDER_RANGE_SCALE_FACTOR
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
582
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
586
clk_mgr->dfs_bypass_enabled = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
588
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
29
void dcn2_update_clocks(struct clk_mgr *dccg,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
33
void dcn2_update_clocks_fpga(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
36
void dcn20_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
39
void dcn2_init_clocks(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
42
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
48
void dcn2_get_clock(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
53
void dcn20_update_clocks_update_dentist(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h
56
void dcn2_read_clocks_from_hw_dentist(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
143
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
144
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
146
clk_mgr->base.clks.dppclk_khz = new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
160
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
161
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
165
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
167
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
180
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
186
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
187
clk_mgr->base.funcs = &dcn201_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
188
clk_mgr->regs = &clk_mgr_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
189
clk_mgr->clk_mgr_shift = &clk_mgr_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
190
clk_mgr->clk_mgr_mask = &clk_mgr_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
192
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
194
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
196
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
197
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
198
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
200
clk_mgr->base.dprefclk_khz = REG_READ(CLK4_CLK2_CURRENT_CNT);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
201
clk_mgr->base.dprefclk_khz *= 100;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
203
if (clk_mgr->base.dprefclk_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
204
clk_mgr->base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
206
REG_GET(CLK4_CLK_PLL_REQ, FbMult_int, &clk_mgr->base.dentist_vco_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
207
clk_mgr->base.dentist_vco_freq_khz *= 100000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
209
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
210
clk_mgr->base.dentist_vco_freq_khz = 3000000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
214
clk_mgr->dfs_bypass_enabled = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
216
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
43
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
58
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
61
clk_mgr->base.ctx
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
75
static void dcn201_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
77
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
78
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
79
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
80
clk_mgr->clks.max_supported_dppclk_khz = 1200000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
81
clk_mgr->clks.max_supported_dispclk_khz = 1200000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
84
static void dcn201_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
88
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.h
30
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
106
static void rn_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
111
clk_mgr->dccg->ref_dppclk = ref_dpp_clk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
113
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
119
dpp_inst = clk_mgr->base.ctx->dc->res_pool->dpps[i]->inst;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
122
prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[dpp_inst];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
125
clk_mgr->dccg->funcs->update_dpp_dto(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
126
clk_mgr->dccg, dpp_inst, dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
131
static void rn_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
135
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
160
rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_LOW_POWER);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
168
rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_MISSION_MODE);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
176
rn_vbios_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
182
rn_vbios_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
208
clk_mgr_base->clks.actual_dispclk_khz = rn_vbios_smu_set_dispclk(clk_mgr, clk_mgr_base->clks.dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
216
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
222
rn_vbios_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
226
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
235
rn_vbios_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
239
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
253
static int get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
278
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
284
static void rn_dump_clk_registers_internal(struct rn_clk_internal *internal, struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
286
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
306
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
438
static void rn_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
440
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
442
rn_vbios_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
445
static void rn_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
447
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
449
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
450
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
451
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
512
static void rn_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
515
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
516
struct pp_smu_funcs *pp_smu = clk_mgr->pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
545
static void rn_notify_link_rate_change(struct clk_mgr *clk_mgr_base, struct dc_link *link)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
547
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
550
clk_mgr->cur_phyclk_req_table[link->link_index] = link->cur_link_settings.link_rate * LINK_RATE_REF_FREQ_IN_KHZ;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
553
if (clk_mgr->cur_phyclk_req_table[i] > max_phyclk_req)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
554
max_phyclk_req = clk_mgr->cur_phyclk_req_table[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
559
rn_vbios_smu_set_phyclk(clk_mgr, clk_mgr_base->clks.phyclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
702
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
714
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
715
clk_mgr->base.funcs = &dcn21_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
717
clk_mgr->pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
719
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
720
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
722
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
723
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
724
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
725
clk_mgr->dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
727
clk_mgr->smu_ver = rn_vbios_smu_get_smu_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
729
clk_mgr->periodic_retraining_disabled = rn_vbios_smu_is_periodic_retraining_disabled(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
733
if (clk_mgr->smu_ver >= SMU_VER_55_51_0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
737
clk_mgr->base.dentist_vco_freq_khz = get_vco_frequency_from_reg(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
740
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
741
clk_mgr->base.dentist_vco_freq_khz = 3600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
744
if (clk_mgr->periodic_retraining_disabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
763
rn_dump_clk_registers(&clk_mgr->base.boot_snapshot, &clk_mgr->base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
765
clk_mgr->base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
766
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
769
clk_mgr->base.bw_params = &rn_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
776
rn_clk_mgr_helper_populate_bw_params (clk_mgr->base.bw_params, &clock_table, ctx->dc_bios->integrated_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
779
clk_mgr->base.bw_params->num_channels = 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
784
if (clk_mgr->smu_ver >= 0x00371500)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
785
rn_vbios_smu_enable_48mhz_tmdp_refclk_pwrdwn(clk_mgr, !debug->disable_48mhz_pwrdwn);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
86
static void rn_set_low_power_state(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
89
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
99
rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_LOW_POWER);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.h
45
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
105
result = rn_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
123
result = rn_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
134
int rn_vbios_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
137
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
143
int rn_vbios_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
146
struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
151
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
156
if (clk_mgr->dfs_bypass_disp_clk != actual_dispclk_set_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
167
int rn_vbios_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
171
if (clk_mgr->smu_ver < 0x370c00)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
175
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
182
int rn_vbios_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
186
if (clk_mgr->smu_ver < 0x370c00)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
190
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
197
void rn_vbios_smu_set_phyclk(struct clk_mgr_internal *clk_mgr, int requested_phyclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
200
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
205
int rn_vbios_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
210
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
219
void rn_vbios_smu_set_dcn_low_power_state(struct clk_mgr_internal *clk_mgr, enum dcn_pwr_state state)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
229
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
234
void rn_vbios_smu_enable_48mhz_tmdp_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
237
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
242
void rn_vbios_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
245
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
250
int rn_vbios_smu_is_periodic_retraining_disabled(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
253
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
80
static uint32_t rn_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c
99
static int rn_vbios_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
31
int rn_vbios_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
32
int rn_vbios_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
33
int rn_vbios_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
34
int rn_vbios_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
35
void rn_vbios_smu_set_phyclk(struct clk_mgr_internal *clk_mgr, int requested_phyclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
36
int rn_vbios_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
37
void rn_vbios_smu_set_dcn_low_power_state(struct clk_mgr_internal *clk_mgr, enum dcn_pwr_state);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
38
void rn_vbios_smu_enable_48mhz_tmdp_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
39
void rn_vbios_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.h
40
int rn_vbios_smu_is_periodic_retraining_disabled(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
102
static void dcn3_build_wm_range_table(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
105
dcn3_fpu_build_wm_range_table(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
109
void dcn3_init_clocks(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
111
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
117
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
122
if (!clk_mgr_base->force_smu_not_present && dcn30_smu_get_smu_version(clk_mgr, &clk_mgr->smu_ver))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
123
clk_mgr->smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
125
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
129
dcn30_smu_check_driver_if_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
130
dcn30_smu_check_msg_header_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
133
dcn3_init_single_clock(clk_mgr, PPCLK_DCEFCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
136
dcn30_smu_set_min_deep_sleep_dcef_clk(clk_mgr, 0);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
139
dcn3_init_single_clock(clk_mgr, PPCLK_DTBCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
144
dcn3_init_single_clock(clk_mgr, PPCLK_SOCCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
150
dcn3_init_single_clock(clk_mgr, PPCLK_DISPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
155
dcn3_init_single_clock(clk_mgr, PPCLK_PIXCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
160
dcn3_init_single_clock(clk_mgr, PPCLK_PHYCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
169
dcn3_build_wm_range_table(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
173
static int dcn30_get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
184
pll_req = dc_fixpt_from_int(pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
185
pll_req.value |= pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_frac;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
188
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
193
static void dcn3_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
197
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
211
if (dc->work_arounds.skip_clock_update || !clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
229
dcn30_smu_set_num_of_displays(clk_mgr, display_count);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
237
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DCEFCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dcfclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
242
dcn30_smu_set_min_deep_sleep_dcef_clk(clk_mgr, khz_to_mhz_ceil(clk_mgr_base->clks.dcfclk_deep_sleep_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
253
if (dc->clk_mgr->dc_mode_softmax_enabled && safe_to_lower && !p_state_change_support) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
254
if ((new_clocks->dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000) !=
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
255
(clk_mgr_base->clks.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
265
if (dc->clk_mgr->dc_mode_softmax_enabled &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
266
new_clocks->dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
267
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
268
dc->clk_mgr->bw_params->dc_mode_softmax_memclk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
270
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
284
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dramclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
291
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_PIXCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dppclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
297
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DISPCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dispclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
304
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
305
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
309
dcn20_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
313
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
324
static void dcn3_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
327
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
328
WatermarksExternal_t *table = (WatermarksExternal_t *) clk_mgr->wm_range_table;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
330
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
341
if (clk_mgr->base.bw_params->wm_table.nv_entries[i].valid) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
342
table->Watermarks.WatermarkRow[WM_DCEFCLK][i].MinClock = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.min_dcfclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
343
table->Watermarks.WatermarkRow[WM_DCEFCLK][i].MaxClock = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.max_dcfclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
344
table->Watermarks.WatermarkRow[WM_DCEFCLK][i].MinUclk = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.min_uclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
345
table->Watermarks.WatermarkRow[WM_DCEFCLK][i].MaxUclk = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.max_uclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
347
table->Watermarks.WatermarkRow[WM_DCEFCLK][i].Flags = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.wm_type;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
350
dcn30_smu_set_dram_addr_high(clk_mgr, clk_mgr->wm_range_table_addr >> 32);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
351
dcn30_smu_set_dram_addr_low(clk_mgr, clk_mgr->wm_range_table_addr & 0xFFFFFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
352
dcn30_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
356
static void dcn3_set_hard_min_memclk(struct clk_mgr *clk_mgr_base, bool current_mode)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
358
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
360
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
365
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
368
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
371
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
377
static void dcn3_set_hard_max_memclk(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
379
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
381
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
384
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
388
static void dcn3_set_max_memclk(struct clk_mgr *clk_mgr_base, unsigned int memclk_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
390
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
392
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
395
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK, memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
397
static void dcn3_set_min_memclk(struct clk_mgr *clk_mgr_base, unsigned int memclk_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
399
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
401
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
403
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
407
static void dcn3_get_memclk_states_from_smu(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
409
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
412
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
416
dcn3_init_single_clock(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
421
clk_mgr_base->bw_params->dc_mode_softmax_memclk = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_UCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
426
clk_mgr->base.ctx->dc, clk_mgr_base->bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
430
static bool dcn3_is_smu_present(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
432
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
433
return clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
455
static void dcn3_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
457
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
459
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
462
dcn30_smu_set_pme_workaround(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
466
static void dcn30_notify_link_rate_change(struct clk_mgr *clk_mgr_base, struct dc_link *link)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
468
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
471
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
476
clk_mgr->cur_phyclk_req_table[link->link_index] = link->cur_link_settings.link_rate * LINK_RATE_REF_FREQ_IN_KHZ;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
479
if (clk_mgr->cur_phyclk_req_table[i] > max_phyclk_req)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
480
max_phyclk_req = clk_mgr->cur_phyclk_req_table[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
485
dcn30_smu_set_hard_min_by_freq(clk_mgr, PPCLK_PHYCLK, khz_to_mhz_ceil(clk_mgr_base->clks.phyclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
50
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
506
static void dcn3_init_clocks_fpga(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
508
dcn2_init_clocks(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
522
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
528
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
529
clk_mgr->base.funcs = &dcn3_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
53
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
530
clk_mgr->regs = &clk_mgr_regs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
531
clk_mgr->clk_mgr_shift = &clk_mgr_shift;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
532
clk_mgr->clk_mgr_mask = &clk_mgr_mask;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
534
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
535
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
537
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
538
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
539
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
540
clk_mgr->dfs_ref_freq_khz = 100000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
542
clk_mgr->base.dprefclk_khz = 730000; // 700 MHz planned if VCO is 3.85 GHz, will be retrieved
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
545
clk_mgr->base.dentist_vco_freq_khz = dcn30_get_vco_frequency_from_reg(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
548
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
549
clk_mgr->base.dentist_vco_freq_khz = 3650000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
556
clk_mgr->base.dprefclk_khz = s.dprefclk * 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
558
clk_mgr->dfs_bypass_enabled = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
560
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
562
dce_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
564
clk_mgr->base.bw_params = kzalloc_obj(*clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
565
if (!clk_mgr->base.bw_params) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
571
clk_mgr->wm_range_table = dm_helpers_allocate_gpu_mem(clk_mgr->base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
573
&clk_mgr->wm_range_table_addr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
574
if (!clk_mgr->wm_range_table) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
580
void dcn3_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
582
kfree(clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
584
if (clk_mgr->wm_range_table)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
585
dm_helpers_free_gpu_mem(clk_mgr->base.ctx, DC_MEM_ALLOC_TYPE_GART,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
586
clk_mgr->wm_range_table);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
81
static void dcn3_init_single_clock(struct clk_mgr_internal *clk_mgr, uint32_t clk, unsigned int *entry_0, unsigned int *num_levels)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
85
uint32_t ret = dcn30_smu_get_dpm_freq_by_index(clk_mgr, clk, 0xFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
97
*((unsigned int *)entry_i) = (dcn30_smu_get_dpm_freq_by_index(clk_mgr, clk, i) & 0xFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
98
entry_i += sizeof(clk_mgr->base.bw_params->clk_table.entries[0]);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.h
89
void dcn3_init_clocks(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.h
92
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.h
96
void dcn3_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
112
bool dcn30_smu_test_message(struct clk_mgr_internal *clk_mgr, uint32_t input)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
118
if (dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
126
bool dcn30_smu_get_smu_version(struct clk_mgr_internal *clk_mgr, unsigned int *version)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
130
if (dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
142
bool dcn30_smu_check_driver_if_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
148
if (dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
161
bool dcn30_smu_check_msg_header_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
167
if (dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
179
void dcn30_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
183
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
187
void dcn30_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
191
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
195
void dcn30_smu_transfer_wm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
199
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
203
void dcn30_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
207
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
212
unsigned int dcn30_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
221
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
230
unsigned int dcn30_smu_set_hard_max_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
239
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
261
unsigned int dcn30_smu_get_dpm_freq_by_index(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint8_t dpm_level)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
270
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
279
unsigned int dcn30_smu_get_dc_mode_max_dpm_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
288
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
296
void dcn30_smu_set_min_deep_sleep_dcef_clk(struct clk_mgr_internal *clk_mgr, uint32_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
300
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
304
void dcn30_smu_set_num_of_displays(struct clk_mgr_internal *clk_mgr, uint32_t num_displays)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
308
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
312
void dcn30_smu_set_display_refresh_from_mall(struct clk_mgr_internal *clk_mgr, bool enable, uint8_t cache_timer_delay, uint8_t cache_timer_scale)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
320
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
324
void dcn30_smu_set_external_client_df_cstate_allow(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
328
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
332
void dcn30_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
336
dcn30_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
54
static uint32_t dcn30_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
72
TRACE_SMU_MSG_DELAY(0, 0, delay_us * (initial_max_retries - max_retries), clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
77
static bool dcn30_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr, uint32_t msg_id, uint32_t param_in, uint32_t *param_out)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
81
dcn30_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
92
TRACE_SMU_MSG(msg_id, param_in, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c
94
result = dcn30_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
33
bool dcn30_smu_test_message(struct clk_mgr_internal *clk_mgr, uint32_t input);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
34
bool dcn30_smu_get_smu_version(struct clk_mgr_internal *clk_mgr, unsigned int *version);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
35
bool dcn30_smu_check_driver_if_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
36
bool dcn30_smu_check_msg_header_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
37
void dcn30_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
38
void dcn30_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
39
void dcn30_smu_transfer_wm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
40
void dcn30_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
41
unsigned int dcn30_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
42
unsigned int dcn30_smu_set_hard_max_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
43
unsigned int dcn30_smu_get_dpm_freq_by_index(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint8_t dpm_level);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
44
unsigned int dcn30_smu_get_dc_mode_max_dpm_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
45
void dcn30_smu_set_min_deep_sleep_dcef_clk(struct clk_mgr_internal *clk_mgr, uint32_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
46
void dcn30_smu_set_num_of_displays(struct clk_mgr_internal *clk_mgr, uint32_t num_displays);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
47
void dcn30_smu_set_display_refresh_from_mall(struct clk_mgr_internal *clk_mgr, bool enable, uint8_t cache_timer_delay, uint8_t cache_timer_scale);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
48
void dcn30_smu_set_external_client_df_cstate_allow(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.h
49
void dcn30_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr.c
31
uint32_t dcn30m_set_smartmux_switch(struct clk_mgr *clk_mgr_base, uint32_t pins_to_set)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr.c
33
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr.c
35
return dcn30m_smu_set_smart_mux_switch(clk_mgr, pins_to_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr.h
29
uint32_t dcn30m_set_smartmux_switch(struct clk_mgr *clk_mgr_base, uint32_t pins_to_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
108
uint32_t dcn30m_smu_set_smart_mux_switch(struct clk_mgr_internal *clk_mgr, uint32_t pins_to_set)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
114
dcn30m_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
53
static uint32_t dcn30m_smu_wait_for_response(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
76
static bool dcn30m_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
81
dcn30m_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.c
92
result = dcn30m_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30m_clk_mgr_smu_msg.h
33
uint32_t dcn30m_smu_set_smart_mux_switch(struct clk_mgr_internal *clk_mgr, uint32_t pins_to_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
104
result = dcn301_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
122
result = dcn301_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
133
int dcn301_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
135
int smu_version = dcn301_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
145
int dcn301_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
153
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
160
int dcn301_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
164
DC_LOG_DEBUG("%s %d\n", __func__, clk_mgr->base.dprefclk_khz / 1000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
167
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
169
khz_to_mhz_ceil(clk_mgr->base.dprefclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
176
int dcn301_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
183
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
190
int dcn301_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
197
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
204
int dcn301_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
211
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
218
void dcn301_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
225
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
230
void dcn301_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
242
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
247
void dcn301_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
250
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
255
void dcn301_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
259
dcn301_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
263
void dcn301_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
267
dcn301_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
271
void dcn301_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
273
dcn301_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
277
void dcn301_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
279
dcn301_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
80
static uint32_t dcn301_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c
98
static int dcn301_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
150
int dcn301_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
151
int dcn301_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
152
int dcn301_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
153
int dcn301_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
154
int dcn301_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
155
int dcn301_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
156
void dcn301_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
157
void dcn301_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
158
void dcn301_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
159
void dcn301_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
160
void dcn301_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
161
void dcn301_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.h
162
void dcn301_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
126
dcn301_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
136
dcn301_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
144
dcn301_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
150
dcn301_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
157
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
158
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
166
dcn301_smu_set_dispclk(clk_mgr, clk_mgr_base->clks.dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
173
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
174
dcn301_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
178
dcn301_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
180
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
185
static int get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
210
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
216
static void vg_dump_clk_registers_internal(struct dcn301_clk_internal *internal, struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
218
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
238
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
370
static void vg_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
372
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
374
dcn301_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
377
static void vg_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
379
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
381
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
382
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
383
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
442
static void vg_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
444
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
445
struct clk_mgr_vgh *clk_mgr_vgh = TO_CLK_MGR_VGH(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
448
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
458
dcn301_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
460
dcn301_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
462
dcn301_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
55
#define TO_CLK_MGR_VGH(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
56
container_of(clk_mgr, struct clk_mgr_vgh, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
560
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
565
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
657
static void vg_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
662
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
670
dcn301_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
672
dcn301_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
674
dcn301_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
679
struct clk_mgr_vgh *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
686
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
687
clk_mgr->base.base.funcs = &vg_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
689
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
691
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
692
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
694
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
695
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
696
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
697
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
699
clk_mgr->smu_wm_set.wm_set = (struct watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
700
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
703
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
705
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
706
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
707
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
709
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
712
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
724
clk_mgr->base.smu_ver = dcn301_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
726
if (clk_mgr->base.smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
727
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
730
clk_mgr->base.base.dentist_vco_freq_khz = get_vco_frequency_from_reg(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
733
if (clk_mgr->base.base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
734
clk_mgr->base.base.dentist_vco_freq_khz = 3600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
742
vg_dump_clk_registers(&clk_mgr->base.base.boot_snapshot, &clk_mgr->base.base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
744
clk_mgr->base.base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
745
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
747
clk_mgr->base.base.bw_params = &vg_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
749
vg_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
752
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
758
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_FRAME_BUFFER,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
764
struct clk_mgr_vgh *clk_mgr = TO_CLK_MGR_VGH(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
766
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
768
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
95
static void vg_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c
99
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.h
46
struct clk_mgr_vgh *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.h
50
void vg_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
114
static void dcn31_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context, bool disable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
134
void dcn31_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
139
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
157
dcn31_smu_set_zstate_support(clk_mgr, new_clocks->zstate_support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
163
dcn31_smu_set_dtbclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
175
dcn31_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
183
dcn31_smu_set_zstate_support(clk_mgr, DCN_ZSTATE_SUPPORT_DISALLOW);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
189
dcn31_smu_set_dtbclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
196
dcn31_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
204
dcn31_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
210
dcn31_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
217
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
218
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
228
dcn31_smu_set_dispclk(clk_mgr, clk_mgr_base->clks.dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
236
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
237
dcn31_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
241
dcn31_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
244
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
260
static int get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
284
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
290
static void dcn31_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
292
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
294
dcn31_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
297
void dcn31_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
299
uint32_t ref_dtbclk = clk_mgr->clks.ref_dtbclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
301
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
303
clk_mgr->clks.ref_dtbclk_khz = ref_dtbclk; // restore ref_dtbclk
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
304
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
305
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
306
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
307
clk_mgr->clks.zstate_support = DCN_ZSTATE_SUPPORT_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
330
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
477
static void dcn31_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
479
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
480
struct clk_mgr_dcn31 *clk_mgr_dcn31 = TO_CLK_MGR_DCN31(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
483
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
493
dcn31_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
495
dcn31_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
497
dcn31_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
500
static void dcn31_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
505
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
513
dcn31_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
515
dcn31_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
517
dcn31_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
556
static void dcn31_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
561
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
58
clk_mgr->base.base.ctx->logger
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
633
static void dcn31_set_low_power_state(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
636
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
649
dcn31_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
656
int dcn31_get_dtb_ref_freq_khz(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
675
struct clk_mgr_dcn31 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
682
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
683
clk_mgr->base.base.funcs = &dcn31_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
685
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
687
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
688
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
690
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
691
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
692
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
693
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
695
clk_mgr->smu_wm_set.wm_set = (struct dcn31_watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
696
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
699
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
701
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
702
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
703
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
705
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
708
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
720
clk_mgr->base.smu_ver = dcn31_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
722
if (clk_mgr->base.smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
723
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
726
clk_mgr->base.base.dentist_vco_freq_khz = get_vco_frequency_from_reg(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
73
#define TO_CLK_MGR_DCN31(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
734
dcn31_dump_clk_registers(&clk_mgr->base.base.boot_snapshot,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
735
&clk_mgr->base.base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
737
clk_mgr->base.base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
738
clk_mgr->base.base.clks.ref_dtbclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
739
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
74
container_of(clk_mgr, struct clk_mgr_dcn31, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
743
clk_mgr->base.base.bw_params = &dcn31_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
745
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
748
dcn31_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
791
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
798
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_FRAME_BUFFER,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
804
struct clk_mgr_dcn31 *clk_mgr = TO_CLK_MGR_DCN31(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
806
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c
808
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h
44
void dcn31_init_clocks(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h
45
void dcn31_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h
50
struct clk_mgr_dcn31 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h
54
int dcn31_get_dtb_ref_freq_khz(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
103
static int dcn31_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
109
result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
127
result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
147
int dcn31_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
150
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
156
int dcn31_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
160
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
165
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
172
int dcn31_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
176
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
177
return clk_mgr->base.dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
180
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
182
khz_to_mhz_ceil(clk_mgr->base.dprefclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
189
int dcn31_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
193
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
196
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
200
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
207
int dcn31_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
211
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
214
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
218
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
225
int dcn31_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
229
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
233
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
240
void dcn31_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
242
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
245
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
250
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
255
void dcn31_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
259
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
268
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
273
void dcn31_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
275
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
279
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
284
void dcn31_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
286
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
289
dcn31_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
293
void dcn31_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
295
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
298
dcn31_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
302
void dcn31_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
304
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
307
dcn31_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
311
void dcn31_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
313
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
316
dcn31_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
320
void dcn31_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
324
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
327
if (!clk_mgr->base.ctx->dc->debug.enable_z9_disable_interface &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
343
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
350
void dcn31_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
352
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
356
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
85
static uint32_t dcn31_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
254
int dcn31_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
255
int dcn31_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
256
int dcn31_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
257
int dcn31_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
258
int dcn31_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
259
int dcn31_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
260
void dcn31_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
261
void dcn31_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
262
void dcn31_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
263
void dcn31_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
264
void dcn31_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
265
void dcn31_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
266
void dcn31_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
268
void dcn31_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h
269
void dcn31_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
107
#define TO_CLK_MGR_DCN314(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
108
container_of(clk_mgr, struct clk_mgr_dcn314, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
148
static void dcn314_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
174
bool dcn314_is_spll_ssc_enabled(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
176
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
184
void dcn314_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
186
struct clk_mgr_internal *clk_mgr_int = TO_CLK_MGR_INTERNAL(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
187
uint32_t ref_dtbclk = clk_mgr->clks.ref_dtbclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
189
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
191
clk_mgr->clks.ref_dtbclk_khz = ref_dtbclk; // restore ref_dtbclk
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
192
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
193
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
194
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
195
clk_mgr->clks.zstate_support = DCN_ZSTATE_SUPPORT_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
198
if (dcn314_is_spll_ssc_enabled(clk_mgr))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
199
clk_mgr->dp_dto_source_clock_in_khz =
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
200
dce_adjust_dp_ref_freq_for_ss(clk_mgr_int, clk_mgr->dprefclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
202
clk_mgr->dp_dto_source_clock_in_khz = clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
205
void dcn314_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
210
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
229
dcn314_smu_set_zstate_support(clk_mgr, new_clocks->zstate_support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
235
dcn314_smu_set_dtbclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
246
dcn314_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
254
dcn314_smu_set_zstate_support(clk_mgr, DCN_ZSTATE_SUPPORT_DISALLOW);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
260
dcn314_smu_set_dtbclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
268
dcn314_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
276
dcn314_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
282
dcn314_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
289
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
290
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
306
dcn314_smu_set_dispclk(clk_mgr, requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
315
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
316
dcn314_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
320
dcn314_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
323
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
339
static int get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
363
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
369
static void dcn314_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
371
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
373
dcn314_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
396
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
548
static void dcn314_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
550
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
551
struct clk_mgr_dcn314 *clk_mgr_dcn314 = TO_CLK_MGR_DCN314(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
554
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
564
dcn314_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
566
dcn314_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
568
dcn314_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
571
static void dcn314_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
576
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
584
dcn314_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
586
dcn314_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
588
dcn314_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
624
static void dcn314_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
628
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
772
static void dcn314_read_ss_info_from_lut(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
780
if (dcn314_is_spll_ssc_enabled(&clk_mgr->base) && (clock_source < ARRAY_SIZE(ss_info_table.ss_percentage))) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
781
clk_mgr->dprefclk_ss_percentage = ss_info_table.ss_percentage[clock_source];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
783
if (clk_mgr->dprefclk_ss_percentage != 0) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
784
clk_mgr->ss_on_dprefclk = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
785
clk_mgr->dprefclk_ss_divider = ss_info_table.ss_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
79
clk_mgr->base.base.ctx->logger
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
792
struct clk_mgr_dcn314 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
799
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
800
clk_mgr->base.base.funcs = &dcn314_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
802
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
804
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
805
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
807
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
808
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
809
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
810
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
812
clk_mgr->smu_wm_set.wm_set = (struct dcn314_watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
813
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
816
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
818
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
819
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
820
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
822
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
825
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
837
clk_mgr->base.smu_ver = dcn314_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
839
if (clk_mgr->base.smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
840
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
843
clk_mgr->base.base.dentist_vco_freq_khz = get_vco_frequency_from_reg(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
851
dcn314_dump_clk_registers(&clk_mgr->base.base.boot_snapshot,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
852
&clk_mgr->base.base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
854
clk_mgr->base.base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
855
clk_mgr->base.base.clks.ref_dtbclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
856
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
857
dcn314_read_ss_info_from_lut(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
860
clk_mgr->base.base.bw_params = &dcn314_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
862
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
865
dcn314_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
908
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
915
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_FRAME_BUFFER,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
921
struct clk_mgr_dcn314 *clk_mgr = TO_CLK_MGR_DCN314(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
923
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
925
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h
53
bool dcn314_is_spll_ssc_enabled(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h
55
void dcn314_init_clocks(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h
57
void dcn314_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h
62
struct clk_mgr_dcn314 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
101
static uint32_t dcn314_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
119
static int dcn314_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
125
result = dcn314_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
143
result = dcn314_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
166
int dcn314_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
169
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
175
int dcn314_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
179
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
184
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
191
int dcn314_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
195
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
196
return clk_mgr->base.dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
199
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
201
khz_to_mhz_ceil(clk_mgr->base.dprefclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
208
int dcn314_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
212
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
215
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
219
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
226
int dcn314_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
230
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
233
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
237
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
244
int dcn314_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
248
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
252
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
259
void dcn314_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
261
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
264
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
269
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
274
void dcn314_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
278
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
287
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
292
void dcn314_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
294
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
298
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
303
void dcn314_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
305
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
308
dcn314_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
312
void dcn314_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
314
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
317
dcn314_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
321
void dcn314_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
323
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
326
dcn314_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
330
void dcn314_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
332
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
335
dcn314_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
339
void dcn314_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
343
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
382
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
389
void dcn314_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
391
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
395
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
100
void dcn314_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
101
void dcn314_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
102
void dcn314_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
103
void dcn314_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
104
void dcn314_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
105
void dcn314_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
107
void dcn314_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
108
void dcn314_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
93
int dcn314_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
94
int dcn314_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
95
int dcn314_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
96
int dcn314_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
97
int dcn314_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
98
int dcn314_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.h
99
void dcn314_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
100
static void dcn315_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context, bool disable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
125
static void dcn315_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
130
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
149
dcn315_smu_set_dtbclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
160
dcn315_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
167
dcn315_smu_set_dtbclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
173
dcn315_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
184
dcn315_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
190
dcn315_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
197
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
198
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
214
dcn315_smu_set_dispclk(clk_mgr, requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
223
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
224
dcn315_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
228
dcn315_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
231
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
248
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
437
static void dcn315_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
439
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
440
struct clk_mgr_dcn315 *clk_mgr_dcn315 = TO_CLK_MGR_DCN315(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
443
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
453
dcn315_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
455
dcn315_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
457
dcn315_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
460
static void dcn315_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
465
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
47
clk_mgr->base.base.ctx->logger
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
473
dcn315_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
475
dcn315_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
477
dcn315_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
481
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
486
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
51
#define TO_CLK_MGR_DCN315(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
52
container_of(clk_mgr, struct clk_mgr_dcn315, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
585
static void dcn315_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
587
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
589
dcn315_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
605
struct clk_mgr_dcn315 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
612
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
613
clk_mgr->base.base.funcs = &dcn315_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
615
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
617
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
618
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
620
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
621
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
622
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
623
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
625
clk_mgr->smu_wm_set.wm_set = (struct dcn315_watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
626
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
629
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
631
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
632
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
633
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
635
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
638
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
650
clk_mgr->base.smu_ver = dcn315_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
652
if (clk_mgr->base.smu_ver > 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
653
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
661
dcn315_dump_clk_registers(&clk_mgr->base.base.boot_snapshot,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
662
&clk_mgr->base.base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
664
clk_mgr->base.base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
665
clk_mgr->base.base.dprefclk_khz = dcn315_smu_get_dpref_clk(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
666
clk_mgr->base.base.clks.ref_dtbclk_khz = clk_mgr->base.base.dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
667
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
668
clk_mgr->base.base.clks.ref_dtbclk_khz = dce_adjust_dp_ref_freq_for_ss(&clk_mgr->base, clk_mgr->base.base.dprefclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
670
clk_mgr->base.base.bw_params = &dcn315_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
672
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
675
dcn315_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
718
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
725
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_FRAME_BUFFER,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
731
struct clk_mgr_dcn315 *clk_mgr = TO_CLK_MGR_DCN315(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
733
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c
735
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.h
43
struct clk_mgr_dcn315 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
114
static uint32_t dcn315_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
133
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
140
result = dcn315_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
167
result = dcn315_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
177
int dcn315_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
180
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
186
int dcn315_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
190
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
195
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
202
int dcn315_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
206
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
209
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
213
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
220
int dcn315_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
224
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
227
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
231
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
238
int dcn315_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
242
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
246
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
253
void dcn315_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
255
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
258
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
263
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
268
void dcn315_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
272
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
281
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
286
void dcn315_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
288
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
292
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
296
void dcn315_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
298
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
301
dcn315_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
305
void dcn315_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
307
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
310
dcn315_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
314
void dcn315_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
316
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
319
dcn315_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
323
void dcn315_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
325
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
328
dcn315_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
332
int dcn315_smu_get_dpref_clk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
335
if (clk_mgr->smu_present) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
337
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
344
int dcn315_smu_get_dtbclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
348
if (clk_mgr->smu_present) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
350
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
357
void dcn315_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
359
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
363
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c
53
#define CTX clk_mgr->base.ctx
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
114
int dcn315_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
115
int dcn315_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
116
int dcn315_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
117
int dcn315_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
118
int dcn315_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
119
void dcn315_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
120
void dcn315_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
121
void dcn315_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
122
void dcn315_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
123
void dcn315_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
124
void dcn315_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
125
void dcn315_smu_request_voltage_via_phyclk(struct clk_mgr_internal *clk_mgr, int requested_phyclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
126
void dcn315_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
127
int dcn315_smu_get_dpref_clk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
128
int dcn315_smu_get_dtbclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.h
129
void dcn315_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
102
static void dcn316_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
128
static void dcn316_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
130
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
132
dcn316_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
135
static void dcn316_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
140
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
158
dcn316_smu_set_dtbclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
170
dcn316_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
177
dcn316_smu_set_dtbclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
184
dcn316_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
192
dcn316_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
198
dcn316_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
205
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
206
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
222
dcn316_smu_set_dispclk(clk_mgr, requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
231
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
232
dcn316_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
236
dcn316_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
239
dcn20_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
256
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
403
static void dcn316_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
405
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
406
struct clk_mgr_dcn316 *clk_mgr_dcn316 = TO_CLK_MGR_DCN316(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
409
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
419
dcn316_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
421
dcn316_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
423
dcn316_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
426
static void dcn316_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
431
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
439
dcn316_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
441
dcn316_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
443
dcn316_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
483
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
488
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
580
struct clk_mgr_dcn316 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
587
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
588
clk_mgr->base.base.funcs = &dcn316_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
590
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
592
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
593
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
595
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
596
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
597
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
598
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
600
clk_mgr->smu_wm_set.wm_set = (struct dcn316_watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
601
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
604
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
606
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
607
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
608
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
610
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
613
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
625
clk_mgr->base.smu_ver = dcn316_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
627
if (clk_mgr->base.smu_ver > 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
628
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
632
clk_mgr->base.base.dentist_vco_freq_khz = 2500000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
635
if (clk_mgr->base.base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
636
clk_mgr->base.base.dentist_vco_freq_khz = 2500000; /* 2400MHz */
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
645
dcn316_dump_clk_registers(&clk_mgr->base.base.boot_snapshot,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
646
&clk_mgr->base.base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
648
clk_mgr->base.base.dprefclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
649
clk_mgr->base.base.dprefclk_khz = dcn316_smu_get_dpref_clk(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
650
clk_mgr->base.base.clks.ref_dtbclk_khz = clk_mgr->base.base.dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
651
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
655
clk_mgr->base.base.bw_params = &dcn316_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
657
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
658
dcn316_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
66
#define TO_CLK_MGR_DCN316(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
662
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
669
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_FRAME_BUFFER,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
67
container_of(clk_mgr, struct clk_mgr_dcn316, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
675
struct clk_mgr_dcn316 *clk_mgr = TO_CLK_MGR_DCN316(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
677
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c
679
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.h
43
struct clk_mgr_dcn316 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
100
static uint32_t dcn316_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
119
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
124
result = dcn316_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
142
result = dcn316_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
152
int dcn316_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
155
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
161
int dcn316_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
165
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
170
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
177
int dcn316_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
181
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
184
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
188
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
195
int dcn316_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
199
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
202
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
206
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
213
int dcn316_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
217
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
221
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
228
void dcn316_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
230
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
233
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
238
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
243
void dcn316_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
247
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
256
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
261
void dcn316_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
263
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
266
dcn316_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
270
void dcn316_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
272
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
275
dcn316_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
279
void dcn316_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
281
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
284
dcn316_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
288
void dcn316_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
290
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
293
dcn316_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
297
void dcn316_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
299
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
303
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
309
void dcn316_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
311
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
315
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
320
int dcn316_smu_get_dpref_clk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
324
if (clk_mgr->smu_present) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
326
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
333
int dcn316_smu_get_smu_fclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
337
if (clk_mgr->smu_present) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c
339
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
122
int dcn316_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
123
int dcn316_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
124
int dcn316_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
125
int dcn316_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
126
int dcn316_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
127
void dcn316_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
128
void dcn316_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
129
void dcn316_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
130
void dcn316_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
131
void dcn316_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
132
void dcn316_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
133
void dcn316_smu_request_voltage_via_phyclk(struct clk_mgr_internal *clk_mgr, int requested_phyclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
134
void dcn316_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
135
void dcn316_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
136
int dcn316_smu_get_dpref_clk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.h
137
int dcn316_smu_get_smu_fclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1003
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1006
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1009
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1015
static void dcn32_set_hard_max_memclk(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1017
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1019
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1022
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK, clk_mgr_base->bw_params->max_memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1026
static void dcn32_get_memclk_states_from_smu(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1028
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1032
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1036
dcn32_init_single_clock(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1039
clk_mgr_base->bw_params->dc_mode_limit.memclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_UCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1045
dcn32_init_single_clock(clk_mgr, PPCLK_FCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1048
clk_mgr_base->bw_params->dc_mode_limit.fclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_FCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1056
if (clk_mgr->dpm_present && !num_levels)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1057
clk_mgr->dpm_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1059
if (!clk_mgr->dpm_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1065
clk_mgr->base.ctx->dc, clk_mgr_base->bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1090
static void dcn32_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1092
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1094
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1097
dcn32_smu_set_pme_workaround(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1100
static bool dcn32_is_smu_present(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1102
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1103
return clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1106
static void dcn32_set_max_memclk(struct clk_mgr *clk_mgr_base, unsigned int memclk_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1108
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1110
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1113
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK, memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1116
static void dcn32_set_min_memclk(struct clk_mgr *clk_mgr_base, unsigned int memclk_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1118
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1120
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1123
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1146
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1152
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1153
clk_mgr->base.funcs = &dcn32_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1154
if (ASICREV_IS_GC_11_0_2(clk_mgr->base.ctx->asic_id.hw_internal_rev)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1155
clk_mgr->regs = &clk_mgr_regs_dcn321;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1156
clk_mgr->clk_mgr_shift = &clk_mgr_shift_dcn321;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1157
clk_mgr->clk_mgr_mask = &clk_mgr_mask_dcn321;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1159
clk_mgr->regs = &clk_mgr_regs_dcn32;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1160
clk_mgr->clk_mgr_shift = &clk_mgr_shift_dcn32;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1161
clk_mgr->clk_mgr_mask = &clk_mgr_mask_dcn32;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1164
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1165
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1167
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1168
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1169
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1170
clk_mgr->dfs_ref_freq_khz = 100000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1176
clk_mgr->base.dprefclk_khz = 716666;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1180
clk_mgr->base.clks.ref_dtbclk_khz = 477800;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1182
clk_mgr->base.clks.ref_dtbclk_khz = 268750;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1187
clk_mgr->base.dentist_vco_freq_khz = dcn32_get_vco_frequency_from_reg(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1190
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1191
clk_mgr->base.dentist_vco_freq_khz = 4300000; /* Updated as per HW docs */
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1193
dcn32_dump_clk_registers(&clk_mgr->base.boot_snapshot, &clk_mgr->base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1196
clk_mgr->base.clks.ref_dtbclk_khz != clk_mgr->base.boot_snapshot.dtbclk) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1197
clk_mgr->base.clks.ref_dtbclk_khz = clk_mgr->base.boot_snapshot.dtbclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1200
if (clk_mgr->base.boot_snapshot.dprefclk != 0) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1201
clk_mgr->base.dprefclk_khz = clk_mgr->base.boot_snapshot.dprefclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1203
dcn32_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1205
clk_mgr->dfs_bypass_enabled = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1207
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1209
clk_mgr->base.bw_params = kzalloc_obj(*clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1210
if (!clk_mgr->base.bw_params) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1216
clk_mgr->wm_range_table = dm_helpers_allocate_gpu_mem(clk_mgr->base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1218
&clk_mgr->wm_range_table_addr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1219
if (!clk_mgr->wm_range_table) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1225
void dcn32_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1227
kfree(clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1229
if (clk_mgr->wm_range_table)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1230
dm_helpers_free_gpu_mem(clk_mgr->base.ctx, DC_MEM_ALLOC_TYPE_GART,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
1231
clk_mgr->wm_range_table);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
132
static void dcn32_init_single_clock(struct clk_mgr_internal *clk_mgr, PPCLK_e clk, unsigned int *entry_0,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
138
uint32_t ret = dcn30_smu_get_dpm_freq_by_index(clk_mgr, clk, 0xFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
150
*((unsigned int *)entry_i) = (dcn30_smu_get_dpm_freq_by_index(clk_mgr, clk, i) & 0xFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
151
entry_i += sizeof(clk_mgr->base.bw_params->clk_table.entries[0]);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
155
static void dcn32_build_wm_range_table(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
158
dcn32_build_wm_range_table_fpu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
162
void dcn32_init_clocks(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
164
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
178
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
179
clk_mgr->dpm_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
181
if (!clk_mgr_base->force_smu_not_present && dcn30_smu_get_smu_version(clk_mgr, &clk_mgr->smu_ver))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
182
clk_mgr->smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
184
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
187
dcn30_smu_check_driver_if_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
188
dcn30_smu_check_msg_header_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
191
dcn32_init_single_clock(clk_mgr, PPCLK_DCFCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
194
clk_mgr_base->bw_params->dc_mode_limit.dcfclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DCFCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
197
dcn32_init_single_clock(clk_mgr, PPCLK_SOCCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
200
clk_mgr_base->bw_params->dc_mode_limit.socclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_SOCCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
203
if (!clk_mgr->base.ctx->dc->debug.disable_dtb_ref_clk_switch) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
204
dcn32_init_single_clock(clk_mgr, PPCLK_DTBCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
208
dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DTBCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
212
dcn32_init_single_clock(clk_mgr, PPCLK_DISPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
216
clk_mgr_base->bw_params->dc_mode_limit.dispclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DISPCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
222
dcn32_init_single_clock(clk_mgr, PPCLK_DPPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
226
clk_mgr_base->bw_params->dc_mode_limit.dppclk_mhz = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DPPCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
234
clk_mgr->dpm_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
263
dcn32_build_wm_range_table(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
266
static void dcn32_update_clocks_update_dtb_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
270
struct dccg *dccg = clk_mgr->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
274
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
286
dccg->funcs->set_dtbclk_dto(clk_mgr->dccg, &dto_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
297
static void dcn32_update_dppclk_dispclk_freq(struct clk_mgr_internal *clk_mgr, struct dc_clocks *new_clocks)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
304
* clk_mgr->base.dentist_vco_freq_khz / new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
305
new_clocks->dppclk_khz = (DENTIST_DIVIDER_RANGE_SCALE_FACTOR * clk_mgr->base.dentist_vco_freq_khz) / dpp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
309
* clk_mgr->base.dentist_vco_freq_khz / new_clocks->dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
310
new_clocks->dispclk_khz = (DENTIST_DIVIDER_RANGE_SCALE_FACTOR * clk_mgr->base.dentist_vco_freq_khz) / disp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
314
void dcn32_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
319
clk_mgr->dccg->ref_dppclk = clk_mgr->base.clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
320
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
340
prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
343
clk_mgr->dccg->funcs->update_dpp_dto(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
344
clk_mgr->dccg, dpp_inst, dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
349
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
357
struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
359
if (clk_mgr->base.clks.dispclk_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
363
* clk_mgr->base.dentist_vco_freq_khz / clk_mgr->base.clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
371
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
374
struct dccg *dccg = clk_mgr->base.ctx->dc->res_pool->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
401
uint32_t temp_dispclk_khz = (DENTIST_DIVIDER_RANGE_SCALE_FACTOR * clk_mgr->base.dentist_vco_freq_khz) / temp_disp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
403
if (clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
411
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DISPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
425
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
427
struct dccg *dccg = clk_mgr->base.ctx->dc->res_pool->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
450
if (clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
458
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DISPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
459
khz_to_mhz_floor(clk_mgr->base.clks.dispclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
474
static int dcn32_get_dispclk_from_dentist(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
476
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
485
return (DENTIST_DIVIDER_RANGE_SCALE_FACTOR * clk_mgr->base.dentist_vco_freq_khz) / disp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
507
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
541
num_fclk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_fclk_levels - 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
544
dramclk_khz_override = clk_mgr->base.bw_params->max_memclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
547
fclk_khz_override = clk_mgr->base.bw_params->clk_table.entries[num_fclk_levels].fclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
621
static void dcn32_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
625
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
657
if (clk_mgr->smu_present) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
659
dcn30_smu_set_num_of_displays(clk_mgr, display_count);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
672
dcn32_smu_send_fclk_pstate_message(clk_mgr, FCLK_PSTATE_SUPPORTED);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
683
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DCFCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dcfclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
689
dcn30_smu_set_min_deep_sleep_dcef_clk(clk_mgr, khz_to_mhz_ceil(clk_mgr_base->clks.dcfclk_deep_sleep_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
702
dcn32_smu_send_cab_for_uclk_message(clk_mgr, clk_mgr_base->clks.num_ways);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
712
if (dc->clk_mgr->dc_mode_softmax_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
718
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK, dc->clk_mgr->bw_params->max_memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
719
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, dc->clk_mgr->bw_params->max_memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
721
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
722
dc->clk_mgr->bw_params->dc_mode_softmax_memclk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
724
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, dc->clk_mgr->bw_params->max_memclk_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
730
dcn32_smu_wait_for_dmub_ack_mclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
732
dcn32_smu_wait_for_dmub_ack_mclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
742
dcn32_smu_send_fclk_pstate_message(clk_mgr, FCLK_PSTATE_NOTSUPPORTED);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
756
if (dc->clk_mgr->dc_mode_softmax_enabled && dc->debug.disable_dc_mode_overwrite)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
757
dcn30_smu_set_hard_max_by_freq(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
758
max((int)dc->clk_mgr->bw_params->dc_mode_softmax_memclk, khz_to_mhz_ceil(clk_mgr_base->clks.dramclk_khz)));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
760
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_UCLK, khz_to_mhz_ceil(clk_mgr_base->clks.dramclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
766
dcn32_smu_send_cab_for_uclk_message(clk_mgr, clk_mgr_base->clks.num_ways);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
770
dcn32_update_dppclk_dispclk_freq(clk_mgr, new_clocks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
777
if (clk_mgr->smu_present && !dpp_clock_lowered)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
785
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DPPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
806
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DTBCLK, khz_to_mhz_ceil(new_clocks->ref_dtbclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
808
dcn32_update_clocks_update_dtb_dto(clk_mgr, context, clk_mgr_base->clks.ref_dtbclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
814
dcn32_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
815
dcn32_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
816
if (clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
824
dcn32_smu_set_hard_min_by_freq(clk_mgr, PPCLK_DPPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
829
dcn32_update_clocks_update_dentist(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
834
dcn32_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
844
dcn32_auto_dpm_test_log(new_clocks, clk_mgr, context);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
848
static uint32_t dcn32_get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
854
if (ASICREV_IS_GC_11_0_2(clk_mgr->base.ctx->asic_id.hw_internal_rev))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
86
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
863
pll_req = dc_fixpt_from_int(pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
864
pll_req.value |= pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_frac;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
867
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
873
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
875
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
883
if (ASICREV_IS_GC_11_0_2(clk_mgr->base.ctx->asic_id.hw_internal_rev)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
89
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
911
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
917
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
923
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
929
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
935
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
938
static void dcn32_clock_read_ss_info(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
940
struct dc_bios *bp = clk_mgr->base.ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
954
clk_mgr->ss_on_dprefclk = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
955
clk_mgr->dprefclk_ss_divider = info.spread_percentage_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
962
clk_mgr->dprefclk_ss_percentage =
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
968
static void dcn32_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
971
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
972
WatermarksExternal_t *table = (WatermarksExternal_t *) clk_mgr->wm_range_table;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
974
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
984
if (clk_mgr->base.bw_params->wm_table.nv_entries[i].valid) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
986
table->Watermarks.WatermarkRow[i].Flags = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.wm_type;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
988
dcn30_smu_set_dram_addr_high(clk_mgr, clk_mgr->wm_range_table_addr >> 32);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
989
dcn30_smu_set_dram_addr_low(clk_mgr, clk_mgr->wm_range_table_addr & 0xFFFFFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
990
dcn32_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
994
static void dcn32_set_hard_min_memclk(struct clk_mgr *clk_mgr_base, bool current_mode)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
996
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
998
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.h
28
void dcn32_init_clocks(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.h
31
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.h
35
void dcn32_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.h
38
void dcn32_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
107
static uint32_t dcn32_smu_wait_for_response_delay(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
124
TRACE_SMU_MSG_DELAY(0, 0, *total_delay_us, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
129
static bool dcn32_smu_send_msg_with_param_delay(struct clk_mgr_internal *clk_mgr, uint32_t msg_id, uint32_t param_in, uint32_t *param_out, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
135
dcn32_smu_wait_for_response_delay(clk_mgr, 10, 200000, &delay1_us);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
146
TRACE_SMU_MSG(msg_id, param_in, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
149
if (dcn32_smu_wait_for_response_delay(clk_mgr, 10, 200000, &delay2_us) == DALSMC_Result_OK) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
161
void dcn32_smu_send_fclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
165
dcn32_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
169
void dcn32_smu_send_cab_for_uclk_message(struct clk_mgr_internal *clk_mgr, unsigned int num_ways)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
173
dcn32_smu_send_msg_with_param(clk_mgr, DALSMC_MSG_SetCabForUclkPstate, param, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
177
void dcn32_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
181
dcn32_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
185
void dcn32_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
189
dcn32_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
194
static bool dcn32_get_hard_min_status_supported(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
196
if (ASICREV_IS_GC_11_0_0(clk_mgr->base.ctx->asic_id.hw_internal_rev)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
197
if (clk_mgr->smu_ver >= 0x4e6a00)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
199
} else if (ASICREV_IS_GC_11_0_2(clk_mgr->base.ctx->asic_id.hw_internal_rev)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
200
if (clk_mgr->smu_ver >= 0x524e00)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
203
if (clk_mgr->smu_ver >= 0x503900)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
210
static unsigned int dcn32_smu_get_hard_min_status(struct clk_mgr_internal *clk_mgr, bool *no_timeout, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
217
*no_timeout = dcn32_smu_send_msg_with_param_delay(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
226
static bool dcn32_smu_wait_get_hard_min_status(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
254
readDalHardMinClkBits = dcn32_smu_get_hard_min_status(clk_mgr, &no_timeout, &read_total_delay_us);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
281
unsigned int dcn32_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
291
dcn32_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
294
if (dcn32_get_hard_min_status_supported(clk_mgr)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
295
hard_min_done = dcn32_smu_wait_get_hard_min_status(clk_mgr, clk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
303
void dcn32_smu_wait_for_dmub_ack_mclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
307
dcn32_smu_send_msg_with_param(clk_mgr, 0x14, enable ? 1 : 0, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
50
static uint32_t dcn32_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
66
TRACE_SMU_MSG_DELAY(0, 0, delay_us * (initial_max_retries - max_retries), clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
72
static bool dcn32_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr, uint32_t msg_id, uint32_t param_in, uint32_t *param_out)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
75
dcn32_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
86
TRACE_SMU_MSG(msg_id, param_in, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c
89
if (dcn32_smu_wait_for_response(clk_mgr, 10, 200000) == DALSMC_Result_OK) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
39
void dcn32_smu_send_fclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
40
void dcn32_smu_send_cab_for_uclk_message(struct clk_mgr_internal *clk_mgr, unsigned int num_ways);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
41
void dcn32_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
42
void dcn32_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
43
unsigned int dcn32_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h
44
void dcn32_smu_wait_for_dmub_ack_mclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
122
#define TO_CLK_MGR_DCN35(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
123
container_of(clk_mgr, struct clk_mgr_dcn35, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
128
struct clk_mgr_dcn35 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
133
clk_mgr->base.regs = &clk_mgr_regs_dcn351;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
134
clk_mgr->base.clk_mgr_shift = &clk_mgr_shift_dcn351;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
135
clk_mgr->base.clk_mgr_mask = &clk_mgr_mask_dcn351;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
137
dcn35_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn351_clk_mgr.c
97
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1018
static void dcn35_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1022
struct clk_bw_params *bw_params = clk_mgr->base.bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1190
static void dcn35_set_low_power_state(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1204
static void dcn35_exit_low_power_state(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1206
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1209
dcn35_smu_exit_low_power_state(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1213
static bool dcn35_is_ips_supported(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1215
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1217
return dcn35_smu_get_ips_supported(clk_mgr) ? true : false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1220
static void dcn35_init_clocks_fpga(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1222
init_clk_states(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1227
static void dcn35_update_clocks_fpga(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1231
struct clk_mgr_internal *clk_mgr_int = TO_CLK_MGR_INTERNAL(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1243
if (should_set_clock(safe_to_lower, new_clocks->phyclk_khz, clk_mgr->clks.phyclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1244
clk_mgr->clks.phyclk_khz = new_clocks->phyclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1247
if (should_set_clock(safe_to_lower, new_clocks->dcfclk_khz, clk_mgr->clks.dcfclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1248
clk_mgr->clks.dcfclk_khz = new_clocks->dcfclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
125
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1252
new_clocks->dcfclk_deep_sleep_khz, clk_mgr->clks.dcfclk_deep_sleep_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1253
clk_mgr->clks.dcfclk_deep_sleep_khz = new_clocks->dcfclk_deep_sleep_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1256
if (should_set_clock(safe_to_lower, new_clocks->socclk_khz, clk_mgr->clks.socclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1257
clk_mgr->clks.socclk_khz = new_clocks->socclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1260
if (should_set_clock(safe_to_lower, new_clocks->dramclk_khz, clk_mgr->clks.dramclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1261
clk_mgr->clks.dramclk_khz = new_clocks->dramclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1264
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1265
clk_mgr->clks.dppclk_khz = new_clocks->dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1268
if (should_set_clock(safe_to_lower, fclk_adj, clk_mgr->clks.fclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1269
clk_mgr->clks.fclk_khz = fclk_adj;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1272
if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1273
clk_mgr->clks.dispclk_khz = new_clocks->dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
128
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1280
if (clk_mgr->clks.fclk_khz > clk_mgr->clks.dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1281
clk_mgr->clks.dppclk_khz = clk_mgr->clks.fclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1282
if (clk_mgr->clks.dppclk_khz > clk_mgr->clks.fclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1283
clk_mgr->clks.fclk_khz = clk_mgr->clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1286
clk_mgr_int->dccg->ref_dppclk = clk_mgr->clks.fclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1289
clk_mgr->clks.dtbclk_en = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1290
dm_set_dcn_clocks(clk_mgr->ctx, &clk_mgr->clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1293
dcn35_update_clocks_update_dtb_dto(clk_mgr_int, context, clk_mgr->clks.ref_dtbclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1296
static unsigned int dcn35_get_max_clock_khz(struct clk_mgr *clk_mgr_base, enum clk_type clk_type)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1298
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1304
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1306
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dispclk_mhz * 1000 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1307
clk_mgr->base.boot_snapshot.dispclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1309
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dppclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1311
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dppclk_mhz * 1000 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1312
clk_mgr->base.boot_snapshot.dppclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1314
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1316
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dispclk_mhz * 1000 / 3 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1317
clk_mgr->base.boot_snapshot.dispclk / 3;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1399
struct clk_mgr_dcn35 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1405
clk_mgr->base.base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1406
clk_mgr->base.base.funcs = &dcn35_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1408
clk_mgr->base.pp_smu = pp_smu;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1410
clk_mgr->base.dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1411
clk_mgr->base.dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1413
clk_mgr->base.dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1414
clk_mgr->base.dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1415
clk_mgr->base.ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1416
clk_mgr->base.dfs_ref_freq_khz = 48000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1418
clk_mgr->base.regs = &clk_mgr_regs_dcn35;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1419
clk_mgr->base.clk_mgr_shift = &clk_mgr_shift_dcn35;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1420
clk_mgr->base.clk_mgr_mask = &clk_mgr_mask_dcn35;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1424
clk_mgr->smu_wm_set.wm_set = (struct dcn35_watermarks *)dm_helpers_allocate_gpu_mem(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1425
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1428
&clk_mgr->smu_wm_set.mc_address.quad_part);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1430
if (!clk_mgr->smu_wm_set.wm_set) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1431
clk_mgr->smu_wm_set.wm_set = &dummy_wms;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1432
clk_mgr->smu_wm_set.mc_address.quad_part = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1434
ASSERT(clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1437
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1449
clk_mgr->base.base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1459
clk_mgr->base.smu_ver = dcn35_smu_get_smu_version(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1461
if (clk_mgr->base.smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1462
clk_mgr->base.smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1465
clk_mgr->base.base.dentist_vco_freq_khz = get_vco_frequency_from_reg(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1473
dcn35_save_clk_registers(&clk_mgr->base.base.boot_snapshot, clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1475
clk_mgr->base.base.dprefclk_khz = dcn35_smu_get_dprefclk(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1476
clk_mgr->base.base.clks.ref_dtbclk_khz = 600000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1478
dce_clock_read_ss_info(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1481
dcn35_read_ss_info_from_lut(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1483
clk_mgr->base.base.bw_params = &dcn35_bw_params;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1485
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1488
dcn351_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks_dcn351);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1491
dcn35_get_dpm_table_from_smu(&clk_mgr->base, &smu_dpm_clks);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
153
#define TO_CLK_MGR_DCN35(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
154
container_of(clk_mgr, struct clk_mgr_dcn35, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1542
&clk_mgr->base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1549
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_GART,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1553
dm_helpers_free_gpu_mem(clk_mgr->base.base.ctx, DC_MEM_ALLOC_TYPE_GART,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1560
ips_support = dcn35_smu_get_ips_supported(&clk_mgr->base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1570
((clk_mgr->base.smu_ver & 0x00FFFFFF) <= 0x005d0c00))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1581
struct clk_mgr_dcn35 *clk_mgr = TO_CLK_MGR_DCN35(clk_mgr_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1583
if (clk_mgr->smu_wm_set.wm_set && clk_mgr->smu_wm_set.mc_address.quad_part != 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
1585
clk_mgr->smu_wm_set.wm_set);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
189
void dcn35_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
254
static void dcn35_update_clocks_update_dtb_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
258
struct dccg *dccg = clk_mgr->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
262
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
274
dccg->funcs->set_dtbclk_dto(clk_mgr->dccg, &dto_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
280
static void dcn35_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
287
clk_mgr->dccg->ref_dppclk = clk_mgr->base.clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
288
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
308
prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
311
clk_mgr->dccg->funcs->update_dpp_dto(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
312
clk_mgr->dccg, dpp_inst, dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
316
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
317
struct dpp *old_dpp = clk_mgr->base.ctx->dc->current_state->res_ctx.pipe_ctx[i].plane_res.dpp;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
320
clk_mgr->dccg->funcs->update_dpp_dto(clk_mgr->dccg, old_dpp->inst, 0);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
341
static void dcn35_notify_host_router_bw(struct clk_mgr *clk_mgr_base, struct dc_state *context,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
345
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
372
dcn35_smu_notify_host_router_bw(clk_mgr, i, new_clocks->host_router_bw_kbps[i]);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
377
void dcn35_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
382
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
407
dcn35_smu_set_zstate_support(clk_mgr, new_clocks->zstate_support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
412
if (clk_mgr->base.ctx->dc->config.allow_0_dtb_clk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
413
dcn35_smu_set_dtbclk(clk_mgr, false);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
426
dcn35_smu_set_zstate_support(clk_mgr, DCN_ZSTATE_SUPPORT_DISALLOW);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
433
dcn35_update_clocks_update_dtb_dto(clk_mgr, context, new_clocks->ref_dtbclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
434
dcn35_smu_set_dtbclk(clk_mgr, true);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
448
dcn35_smu_set_display_idle_optimization(clk_mgr, idle_info.data);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
459
dcn35_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
465
dcn35_smu_set_min_deep_sleep_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_deep_sleep_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
472
if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
473
if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
489
dcn35_smu_set_dispclk(clk_mgr, requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
501
dcn35_update_clocks_update_dtb_dto(clk_mgr, context, new_clocks->ref_dtbclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
507
dcn35_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
508
dcn35_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
512
dcn35_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
513
dcn35_update_clocks_update_dpp_dto(clk_mgr, context, safe_to_lower);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
52
clk_mgr->base.base.ctx->logger
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
533
static int get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
557
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
563
static void dcn35_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
565
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
567
dcn35_smu_enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
590
static void dcn35_save_clk_registers_internal(struct dcn35_clk_internal *internal, struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
592
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
620
struct clk_mgr_dcn35 *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
625
dcn35_save_clk_registers_internal(&internal, &clk_mgr->base.base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
648
if (clk_mgr->base.base.ctx->dc->debug.pstate_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
704
static bool dcn35_is_spll_ssc_enabled(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
706
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
719
static void init_clk_states(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
721
uint32_t ref_dtbclk = clk_mgr->clks.ref_dtbclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
723
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
725
clk_mgr->clks.ref_dtbclk_khz = ref_dtbclk; // restore ref_dtbclk
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
726
clk_mgr->clks.p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
727
clk_mgr->clks.prev_p_state_change_support = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
728
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
729
clk_mgr->clks.zstate_support = DCN_ZSTATE_SUPPORT_UNKNOWN;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
732
void dcn35_init_clocks(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
734
struct clk_mgr_internal *clk_mgr_int = TO_CLK_MGR_INTERNAL(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
737
init_clk_states(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
740
if (dcn35_is_spll_ssc_enabled(clk_mgr))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
741
clk_mgr->dp_dto_source_clock_in_khz =
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
742
dce_adjust_dp_ref_freq_for_ss(clk_mgr_int, clk_mgr->dprefclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
744
clk_mgr->dp_dto_source_clock_in_khz = clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
746
dcn35_save_clk_registers(&clk_mgr->boot_snapshot, clk_mgr_dcn35);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
748
clk_mgr->clks.ref_dtbclk_khz = clk_mgr->boot_snapshot.dtbclk * 10;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
749
if (clk_mgr->boot_snapshot.dtbclk > 59000) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
751
clk_mgr->clks.dtbclk_en = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
847
static void dcn35_read_ss_info_from_lut(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
854
if (dcn35_is_spll_ssc_enabled(&clk_mgr->base) && (clock_source < ARRAY_SIZE(ss_info_table.ss_percentage))) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
855
clk_mgr->dprefclk_ss_percentage = ss_info_table.ss_percentage[clock_source];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
857
if (clk_mgr->dprefclk_ss_percentage != 0) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
858
clk_mgr->ss_on_dprefclk = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
859
clk_mgr->dprefclk_ss_divider = ss_info_table.ss_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
919
static void dcn35_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
921
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
922
struct clk_mgr_dcn35 *clk_mgr_dcn35 = TO_CLK_MGR_DCN35(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
925
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
935
dcn35_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
937
dcn35_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
939
dcn35_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
942
static void dcn35_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
947
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
955
dcn35_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
957
dcn35_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
959
dcn35_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
962
static void dcn351_get_dpm_table_from_smu(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
967
if (!clk_mgr->smu_ver)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
972
dcn35_smu_set_dram_addr_high(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
974
dcn35_smu_set_dram_addr_low(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
976
dcn35_smu_transfer_dpm_table_smu_2_dram(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
51
void dcn35_init_clocks(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
52
void dcn35_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
57
struct clk_mgr_dcn35 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
64
struct clk_mgr_dcn35 *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
68
void dcn35_disable_otg_wa(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
115
static uint32_t dcn35_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
129
if (clk_mgr->base.ctx->dc->debug.disable_timeout)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
136
static int dcn35_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
142
result = dcn35_smu_wait_for_response(clk_mgr, 10, 2000000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
161
result = dcn35_smu_wait_for_response(clk_mgr, 10, 2000000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
176
result = dcn35_smu_wait_for_response(clk_mgr, 10, 2000000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
184
int dcn35_smu_get_smu_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
187
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
193
int dcn35_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
197
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
202
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
210
int dcn35_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
214
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
215
return clk_mgr->base.dprefclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
218
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
220
khz_to_mhz_ceil(clk_mgr->base.dprefclk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
227
int dcn35_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
231
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
235
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
244
int dcn35_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
248
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
252
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
261
int dcn35_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
265
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
269
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
278
void dcn35_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
280
if (!clk_mgr->base.ctx->dc->debug.pstate_enabled)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
283
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
288
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
294
void dcn35_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
298
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
307
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
313
void dcn35_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
315
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
319
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
325
void dcn35_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
327
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
330
dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
334
void dcn35_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
336
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
339
dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
343
void dcn35_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
345
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
348
dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
352
void dcn35_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
354
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
357
dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
361
void dcn35_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
365
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
409
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
415
int dcn35_smu_get_dprefclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
419
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
422
dprefclk = dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
430
int dcn35_smu_get_dtbclk(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
434
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
437
dtbclk = dcn35_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
445
void dcn35_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
447
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
451
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
457
void dcn35_vbios_smu_enable_48mhz_tmdp_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
459
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
463
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
469
int dcn35_smu_exit_low_power_state(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
473
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
477
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
484
int dcn35_smu_get_ips_supported(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
488
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
492
clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
500
void dcn35_smu_notify_host_router_bw(struct clk_mgr_internal *clk_mgr, uint32_t hr_id, uint32_t bw_kbps)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
507
dcn35_smu_send_msg_with_param(clk_mgr, VBIOSSMC_MSG_NotifyHostRouterBW, msg_data.all);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
196
int dcn35_smu_get_smu_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
197
int dcn35_smu_set_dispclk(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
198
int dcn35_smu_set_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
199
int dcn35_smu_set_hard_min_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
200
int dcn35_smu_set_min_deep_sleep_dcfclk(struct clk_mgr_internal *clk_mgr, int requested_min_ds_dcfclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
201
int dcn35_smu_set_dppclk(struct clk_mgr_internal *clk_mgr, int requested_dpp_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
202
void dcn35_smu_set_display_idle_optimization(struct clk_mgr_internal *clk_mgr, uint32_t idle_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
203
void dcn35_smu_enable_phy_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
204
void dcn35_smu_enable_pme_wa(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
205
void dcn35_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
206
void dcn35_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
207
void dcn35_smu_transfer_dpm_table_smu_2_dram(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
208
void dcn35_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
210
void dcn35_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zstate_support_state support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
211
void dcn35_smu_set_dtbclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
212
void dcn35_vbios_smu_enable_48mhz_tmdp_refclk_pwrdwn(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
214
int dcn35_smu_exit_low_power_state(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
215
int dcn35_smu_get_ips_supported(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
216
int dcn35_smu_get_dtbclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
217
int dcn35_smu_get_dprefclk(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
218
void dcn35_smu_notify_host_router_bw(struct clk_mgr_internal *clk_mgr, uint32_t hr_id, uint32_t bw_kbps);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
105
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dcfclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1078
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
109
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dtbclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
115
ppclk_dpm_enabled &= clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
120
static bool dcn401_is_ppclk_idle_dpm_enabled(struct clk_mgr_internal *clk_mgr, PPCLK_e clk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1218
static void dcn401_update_clocks(struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1250
static uint32_t dcn401_get_vco_frequency_from_reg(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1262
pll_req = dc_fixpt_from_int(pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_int);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1263
pll_req.value |= pll_req_reg & clk_mgr->clk_mgr_mask->FbMult_frac;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1266
pll_req = dc_fixpt_mul_int(pll_req, clk_mgr->dfs_ref_freq_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
127
if (ASICREV_IS_GC_12_0_0_A0(clk_mgr->base.ctx->asic_id.hw_internal_rev) &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1271
static void dcn401_clock_read_ss_info(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1273
struct dc_bios *bp = clk_mgr->base.ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
128
clk_mgr->smu_ver >= 0x681800) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1287
clk_mgr->ss_on_dprefclk = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1288
clk_mgr->dprefclk_ss_divider = info.spread_percentage_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1295
clk_mgr->dprefclk_ss_percentage =
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
130
} else if (ASICREV_IS_GC_12_0_1_A0(clk_mgr->base.ctx->asic_id.hw_internal_rev) &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1301
static void dcn401_notify_wm_ranges(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1304
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1305
WatermarksExternal_t *table = (WatermarksExternal_t *) clk_mgr->wm_range_table;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1307
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
131
clk_mgr->smu_ver >= 0x661300) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1317
if (clk_mgr->base.bw_params->wm_table.nv_entries[i].valid) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1319
table->Watermarks.WatermarkRow[i].Flags = clk_mgr->base.bw_params->wm_table.nv_entries[i].pmfw_breakdown.wm_type;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1321
dcn401_smu_set_dram_addr_high(clk_mgr, clk_mgr->wm_range_table_addr >> 32);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1322
dcn401_smu_set_dram_addr_low(clk_mgr, clk_mgr->wm_range_table_addr & 0xFFFFFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1323
dcn401_smu_transfer_wm_table_dram_2_smu(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1327
static void dcn401_set_hard_min_memclk(struct clk_mgr *clk_mgr_base, bool current_mode)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1329
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1330
const struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1335
if (!clk_mgr->smu_present || !dcn401_is_ppclk_dpm_enabled(clk_mgr, PPCLK_UCLK))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1360
static int dcn401_get_hard_min_memclk(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1362
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1364
return clk_mgr->base.ctx->dc->current_state->bw_ctx.bw.dcn.clk.dramclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1367
static int dcn401_get_hard_min_fclk(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1369
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1371
return clk_mgr->base.ctx->dc->current_state->bw_ctx.bw.dcn.clk.fclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1375
static void dcn401_get_memclk_states_from_smu(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1377
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1381
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1385
dcn401_init_single_clock(clk_mgr, PPCLK_UCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
139
ppclk_idle_dpm_enabled &= clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1393
clk_mgr_base->bw_params->dc_mode_limit.memclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_UCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1399
dcn401_init_single_clock(clk_mgr, PPCLK_FCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1402
clk_mgr_base->bw_params->dc_mode_limit.fclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_FCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1411
if (clk_mgr->dpm_present && !num_levels)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1412
clk_mgr->dpm_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1414
clk_mgr_base->bw_params->num_channels = dcn401_smu_get_num_of_umc_channels(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1425
clk_mgr->base.ctx->dc, clk_mgr_base->bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
144
static bool dcn401_is_df_throttle_opt_enabled(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1449
static void dcn401_enable_pme_wa(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1451
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1453
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1456
dcn401_smu_set_pme_workaround(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1459
static bool dcn401_is_smu_present(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1461
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1462
return clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1466
static int dcn401_get_dtb_ref_freq_khz(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1468
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1472
if (clk_mgr->smu_present && dcn401_is_ppclk_dpm_enabled(clk_mgr, PPCLK_DTBCLK)) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
148
if (ASICREV_IS_GC_12_0_1_A0(clk_mgr->base.ctx->asic_id.hw_internal_rev) &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1483
static int dcn401_get_dispclk_from_dentist(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1485
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
149
clk_mgr->smu_ver >= 0x663500) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1494
return (DENTIST_DIVIDER_RANGE_SCALE_FACTOR * clk_mgr->base.dentist_vco_freq_khz) / disp_divider;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1499
unsigned int dcn401_get_max_clock_khz(struct clk_mgr *clk_mgr_base, enum clk_type clk_type)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
150
is_df_throttle_opt_enabled = !clk_mgr->base.ctx->dc->debug.force_subvp_df_throttle;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1501
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1507
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1508
return dcn401_is_ppclk_dpm_enabled(clk_mgr, PPCLK_DISPCLK) ?
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1509
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dispclk_mhz * 1000 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1510
clk_mgr->base.boot_snapshot.dispclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1512
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dppclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1513
return dcn401_is_ppclk_dpm_enabled(clk_mgr, PPCLK_DPPCLK) ?
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1514
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dppclk_mhz * 1000 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1515
clk_mgr->base.boot_snapshot.dppclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1517
num_clk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1518
return dcn401_is_ppclk_dpm_enabled(clk_mgr, PPCLK_DISPCLK) ?
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1519
clk_mgr->base.bw_params->clk_table.entries[num_clk_levels - 1].dispclk_mhz * 1000 / 3 :
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1520
clk_mgr->base.boot_snapshot.dispclk / 3;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
153
is_df_throttle_opt_enabled &= clk_mgr->smu_present;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1553
struct clk_mgr_internal *clk_mgr;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1558
clk_mgr = &clk_mgr401->base;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1559
clk_mgr->base.ctx = ctx;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1560
clk_mgr->base.funcs = &dcn401_funcs;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1561
clk_mgr->regs = &clk_mgr_regs_dcn401;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1562
clk_mgr->clk_mgr_shift = &clk_mgr_shift_dcn401;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1563
clk_mgr->clk_mgr_mask = &clk_mgr_mask_dcn401;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1565
clk_mgr->dccg = dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1566
clk_mgr->dfs_bypass_disp_clk = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1568
clk_mgr->dprefclk_ss_percentage = 0;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1569
clk_mgr->dprefclk_ss_divider = 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1570
clk_mgr->ss_on_dprefclk = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1571
clk_mgr->dfs_ref_freq_khz = 100000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1577
clk_mgr->base.dprefclk_khz = 720000; //TODO update from VBIOS
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1580
clk_mgr->base.dentist_vco_freq_khz = dcn401_get_vco_frequency_from_reg(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1583
if (clk_mgr->base.dentist_vco_freq_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1584
clk_mgr->base.dentist_vco_freq_khz = 4500000; //TODO Update from VBIOS
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1586
dcn401_dump_clk_registers(&clk_mgr->base.boot_snapshot, &clk_mgr->base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1589
clk_mgr->base.clks.ref_dtbclk_khz != clk_mgr->base.boot_snapshot.dtbclk) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
159
static void dcn401_init_single_clock(struct clk_mgr_internal *clk_mgr, PPCLK_e clk, unsigned int *entry_0,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1590
clk_mgr->base.clks.ref_dtbclk_khz = clk_mgr->base.boot_snapshot.dtbclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1593
if (clk_mgr->base.boot_snapshot.dprefclk != 0) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1594
clk_mgr->base.dprefclk_khz = clk_mgr->base.boot_snapshot.dprefclk;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1596
dcn401_clock_read_ss_info(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1598
clk_mgr->dfs_bypass_enabled = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1600
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1602
clk_mgr->base.bw_params = kzalloc_obj(*clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1603
if (!clk_mgr->base.bw_params) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1610
clk_mgr->wm_range_table = dm_helpers_allocate_gpu_mem(clk_mgr->base.ctx,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1612
&clk_mgr->wm_range_table_addr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1613
if (!clk_mgr->wm_range_table) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1615
kfree(clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1623
void dcn401_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1625
kfree(clk_mgr->base.bw_params);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1627
if (clk_mgr->wm_range_table)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1628
dm_helpers_free_gpu_mem(clk_mgr->base.ctx, DC_MEM_ALLOC_TYPE_GART,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
1629
clk_mgr->wm_range_table);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
165
uint32_t ret = dcn401_smu_get_dpm_freq_by_index(clk_mgr, clk, 0xFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
176
for (i = 0; i < *num_levels && i < ARRAY_SIZE(clk_mgr->base.bw_params->clk_table.entries); i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
177
*((unsigned int *)entry_i) = (dcn401_smu_get_dpm_freq_by_index(clk_mgr, clk, i) & 0xFFFF);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
178
entry_i += sizeof(clk_mgr->base.bw_params->clk_table.entries[0]);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
182
static void dcn401_build_wm_range_table(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
185
uint16_t min_uclk_mhz = clk_mgr->bw_params->clk_table.entries[0].memclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
186
uint16_t min_dcfclk_mhz = clk_mgr->bw_params->clk_table.entries[0].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
189
clk_mgr->bw_params->wm_table.nv_entries[WM_A].valid = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
190
clk_mgr->bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.wm_type = WATERMARKS_CLOCK_RANGE;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
191
clk_mgr->bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.min_dcfclk = min_dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
192
clk_mgr->bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
193
clk_mgr->bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.min_uclk = min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
194
clk_mgr->bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
197
clk_mgr->bw_params->wm_table.nv_entries[WM_B].valid = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
201
if (clk_mgr->ctx->dc->bb_overrides.dummy_clock_change_latency_ns != 0x7FFFFFFF) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
202
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].valid = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
203
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].pmfw_breakdown.wm_type = WATERMARKS_DUMMY_PSTATE;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
204
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].pmfw_breakdown.min_dcfclk = min_dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
205
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
206
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].pmfw_breakdown.min_uclk = min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
207
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
209
clk_mgr->bw_params->wm_table.nv_entries[WM_1A].valid = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
213
clk_mgr->bw_params->wm_table.nv_entries[WM_1B].valid = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
216
void dcn401_init_clocks(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
218
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
231
clk_mgr->smu_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
232
clk_mgr->dpm_present = false;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
234
if (!clk_mgr_base->force_smu_not_present && dcn401_smu_get_smu_version(clk_mgr, &clk_mgr->smu_ver))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
235
clk_mgr->smu_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
237
if (!clk_mgr->smu_present)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
240
dcn401_smu_check_driver_if_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
241
dcn401_smu_check_msg_header_version(clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
244
dcn401_init_single_clock(clk_mgr, PPCLK_DCFCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
247
clk_mgr_base->bw_params->dc_mode_limit.dcfclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DCFCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
253
dcn401_init_single_clock(clk_mgr, PPCLK_SOCCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
256
clk_mgr_base->bw_params->dc_mode_limit.socclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_SOCCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
262
if (!clk_mgr->base.ctx->dc->debug.disable_dtb_ref_clk_switch) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
263
dcn401_init_single_clock(clk_mgr, PPCLK_DTBCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
266
clk_mgr_base->bw_params->dc_mode_limit.dtbclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DTBCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
273
dcn401_init_single_clock(clk_mgr, PPCLK_DISPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
276
clk_mgr_base->bw_params->dc_mode_limit.dispclk_mhz = dcn401_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_DISPCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
282
dcn401_init_single_clock(clk_mgr, PPCLK_DPPCLK,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
289
clk_mgr->dpm_present = true;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
314
bool dcn401_is_dc_mode_present(struct clk_mgr *clk_mgr_base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
316
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
318
return clk_mgr->smu_present && clk_mgr->dpm_present &&
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
334
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
336
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
362
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
368
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
374
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
380
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
386
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
392
* clk_mgr->base.dentist_vco_freq_khz) / target_div;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
412
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
437
dcn401_dump_clk_registers(&clk_register_dump, &clk_mgr->base, &log_info);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
44
clk_mgr->clk_mgr_shift->field_name, clk_mgr->clk_mgr_mask->field_name
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
443
num_fclk_levels = clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_fclk_levels - 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
446
dramclk_khz_override = clk_mgr->base.bw_params->max_memclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
449
fclk_khz_override = clk_mgr->base.bw_params->clk_table.entries[num_fclk_levels].fclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
47
(clk_mgr->regs->reg)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
524
static void dcn401_update_clocks_update_dtb_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
529
struct dccg *dccg = clk_mgr->dccg;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
556
static void dcn401_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
561
clk_mgr->dccg->ref_dppclk = ref_dppclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
562
for (i = 0; i < clk_mgr->base.ctx->dc->res_pool->pipe_count; i++) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
582
prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[i];
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
585
clk_mgr->dccg->funcs->update_dpp_dto(
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
586
clk_mgr->dccg, dpp_inst, dppclk_khz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
590
static int dcn401_set_hard_min_by_freq_optimized(struct clk_mgr_internal *clk_mgr, PPCLK_e clk, int requested_clk_khz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
592
if (!clk_mgr->smu_present || !dcn401_is_ppclk_dpm_enabled(clk_mgr, clk))
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
605
int actual_clk_khz = dcn401_smu_set_hard_min_by_freq(clk_mgr, clk, khz_to_mhz_floor(requested_clk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
608
actual_clk_khz = dcn401_smu_set_hard_min_by_freq(clk_mgr, clk, khz_to_mhz_ceil(requested_clk_khz));
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
614
struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
620
struct dc *dc = clk_mgr->base.ctx->dc;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
622
if (clk_mgr->base.clks.dispclk_khz == 0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
626
* clk_mgr->base.dentist_vco_freq_khz / clk_mgr->base.clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
643
static void dcn401_execute_block_sequence(struct clk_mgr *clk_mgr_base, unsigned int num_steps)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
72
#define TO_DCN401_CLK_MGR(clk_mgr)\
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
73
container_of(clk_mgr, struct dcn401_clk_mgr, base)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
75
static bool dcn401_is_ppclk_dpm_enabled(struct clk_mgr_internal *clk_mgr, PPCLK_e clk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
765
struct clk_mgr *clk_mgr_base,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
82
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_socclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
86
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_memclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
90
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_fclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
918
if (dc->clk_mgr->dc_mode_softmax_enabled) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
94
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dispclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c
98
clk_mgr->base.bw_params->clk_table.num_entries_per_clk.num_dppclk_levels > 1;
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.h
107
void dcn401_init_clocks(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.h
108
bool dcn401_is_dc_mode_present(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.h
113
void dcn401_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.h
115
unsigned int dcn401_get_max_clock_khz(struct clk_mgr *clk_mgr_base, enum clk_type clk_type);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
112
static bool dcn401_smu_send_msg_with_param_delay(struct clk_mgr_internal *clk_mgr, uint32_t msg_id, uint32_t param_in, uint32_t *param_out, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
118
dcn401_smu_wait_for_response_delay(clk_mgr, 10, 200000, &delay1_us);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
120
TRACE_SMU_MSG_ENTER(msg_id, param_in, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
132
if (dcn401_smu_wait_for_response_delay(clk_mgr, 10, 200000, &delay2_us) == DALSMC_Result_OK) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
137
TRACE_SMU_MSG_EXIT(true, param_out ? *param_out : 0, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
142
TRACE_SMU_MSG_EXIT(false, 0, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
146
bool dcn401_smu_get_smu_version(struct clk_mgr_internal *clk_mgr, unsigned int *version)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
150
if (dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
162
bool dcn401_smu_check_driver_if_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
168
if (dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
181
bool dcn401_smu_check_msg_header_version(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
187
if (dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
199
void dcn401_smu_send_fclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool support)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
203
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
207
void dcn401_smu_send_uclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool support)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
211
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
215
void dcn401_smu_send_cab_for_uclk_message(struct clk_mgr_internal *clk_mgr, unsigned int num_ways)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
219
dcn401_smu_send_msg_with_param(clk_mgr, DALSMC_MSG_SetCabForUclkPstate, param, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
223
void dcn401_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
227
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
231
void dcn401_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
235
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
239
void dcn401_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
243
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
247
void dcn401_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
251
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
255
static unsigned int dcn401_smu_get_hard_min_status(struct clk_mgr_internal *clk_mgr, bool *no_timeout, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
262
*no_timeout = dcn401_smu_send_msg_with_param_delay(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
271
static bool dcn401_smu_wait_hard_min_status(struct clk_mgr_internal *clk_mgr, uint32_t ppclk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
292
hardmin_status = dcn401_smu_get_hard_min_status(clk_mgr, &no_timeout, &read_total_delay_us);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
301
unsigned int dcn401_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
311
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
315
hard_min_done = dcn401_smu_wait_hard_min_status(clk_mgr, clk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
321
void dcn401_smu_wait_for_dmub_ack_mclk(struct clk_mgr_internal *clk_mgr, bool enable)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
325
dcn401_smu_send_msg_with_param(clk_mgr, DALSMC_MSG_SetAlwaysWaitDmcubResp, enable ? 1 : 0, NULL);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
328
void dcn401_smu_indicate_drr_status(struct clk_mgr_internal *clk_mgr, bool mod_drr_for_pstate)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
332
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
336
bool dcn401_smu_set_idle_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
348
success = dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
352
success &= dcn401_smu_wait_hard_min_status(clk_mgr, PPCLK_UCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
358
bool dcn401_smu_set_active_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
37
static uint32_t dcn401_smu_wait_for_response(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
370
success = dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
374
success &= dcn401_smu_wait_hard_min_status(clk_mgr, PPCLK_UCLK);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
380
bool dcn401_smu_set_subvp_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
392
success = dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
398
void dcn401_smu_set_min_deep_sleep_dcef_clk(struct clk_mgr_internal *clk_mgr, uint32_t freq_mhz)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
402
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
406
void dcn401_smu_set_num_of_displays(struct clk_mgr_internal *clk_mgr, uint32_t num_displays)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
410
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
414
unsigned int dcn401_smu_get_num_of_umc_channels(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
418
dcn401_smu_send_msg_with_param(clk_mgr, DALSMC_MSG_GetNumUmcChannels, 0, &response);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
439
unsigned int dcn401_smu_get_dpm_freq_by_index(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint8_t dpm_level)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
448
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
457
unsigned int dcn401_smu_get_dc_mode_max_dpm_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
466
dcn401_smu_send_msg_with_param(clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
55
static bool dcn401_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr, uint32_t msg_id, uint32_t param_in, uint32_t *param_out)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
58
dcn401_smu_wait_for_response(clk_mgr, 10, 200000);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
60
TRACE_SMU_MSG_ENTER(msg_id, param_in, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
72
if (dcn401_smu_wait_for_response(clk_mgr, 10, 200000) == DALSMC_Result_OK) {
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
76
TRACE_SMU_MSG_EXIT(true, param_out ? *param_out : 0, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
80
TRACE_SMU_MSG_EXIT(false, 0, clk_mgr->base.ctx);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c
92
static uint32_t dcn401_smu_wait_for_response_delay(struct clk_mgr_internal *clk_mgr, unsigned int delay_us, unsigned int max_retries, unsigned int *total_delay_us)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
13
bool dcn401_smu_get_smu_version(struct clk_mgr_internal *clk_mgr, unsigned int *version);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
14
bool dcn401_smu_check_driver_if_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
15
bool dcn401_smu_check_msg_header_version(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
16
void dcn401_smu_send_fclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
17
void dcn401_smu_send_uclk_pstate_message(struct clk_mgr_internal *clk_mgr, bool support);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
18
void dcn401_smu_send_cab_for_uclk_message(struct clk_mgr_internal *clk_mgr, unsigned int num_ways);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
19
void dcn401_smu_set_dram_addr_high(struct clk_mgr_internal *clk_mgr, uint32_t addr_high);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
20
void dcn401_smu_set_dram_addr_low(struct clk_mgr_internal *clk_mgr, uint32_t addr_low);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
21
void dcn401_smu_transfer_wm_table_dram_2_smu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
22
void dcn401_smu_set_pme_workaround(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
23
unsigned int dcn401_smu_set_hard_min_by_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint16_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
24
void dcn401_smu_wait_for_dmub_ack_mclk(struct clk_mgr_internal *clk_mgr, bool enable);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
25
void dcn401_smu_indicate_drr_status(struct clk_mgr_internal *clk_mgr, bool mod_drr_for_pstate);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
26
bool dcn401_smu_set_idle_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
29
bool dcn401_smu_set_active_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
32
bool dcn401_smu_set_subvp_uclk_fclk_hardmin(struct clk_mgr_internal *clk_mgr,
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
35
void dcn401_smu_set_min_deep_sleep_dcef_clk(struct clk_mgr_internal *clk_mgr, uint32_t freq_mhz);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
36
void dcn401_smu_set_num_of_displays(struct clk_mgr_internal *clk_mgr, uint32_t num_displays);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
37
unsigned int dcn401_smu_get_num_of_umc_channels(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
38
unsigned int dcn401_smu_get_dc_mode_max_dpm_freq(struct clk_mgr_internal *clk_mgr, uint32_t clk);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h
39
unsigned int dcn401_smu_get_dpm_freq_by_index(struct clk_mgr_internal *clk_mgr, uint32_t clk, uint8_t dpm_level);
drivers/gpu/drm/amd/display/dc/core/dc.c
1162
dc->clk_mgr = dc_clk_mgr_create(dc->ctx, dc->res_pool->pp_smu, dc->res_pool->dccg);
drivers/gpu/drm/amd/display/dc/core/dc.c
1163
if (!dc->clk_mgr)
drivers/gpu/drm/amd/display/dc/core/dc.c
1166
dc->clk_mgr->force_smu_not_present = init_params->force_smu_not_present;
drivers/gpu/drm/amd/display/dc/core/dc.c
1170
dc->res_pool->funcs->update_bw_bounding_box(dc, dc->clk_mgr->bw_params);
drivers/gpu/drm/amd/display/dc/core/dc.c
5576
if (dc->clk_mgr->funcs->set_low_power_state)
drivers/gpu/drm/amd/display/dc/core/dc.c
5577
dc->clk_mgr->funcs->set_low_power_state(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5710
if (dc->clk_mgr != NULL && dc->clk_mgr->funcs->is_smu_present)
drivers/gpu/drm/amd/display/dc/core/dc.c
5711
if (!dc->clk_mgr->funcs->is_smu_present(dc->clk_mgr))
drivers/gpu/drm/amd/display/dc/core/dc.c
5717
if (dc->hwss.apply_idle_power_optimizations && dc->clk_mgr != NULL &&
drivers/gpu/drm/amd/display/dc/core/dc.c
5724
if (dc->clk_mgr != NULL && dc->clk_mgr->funcs->get_hard_min_fclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5725
idle_fclk_khz = dc->clk_mgr->funcs->get_hard_min_fclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5727
if (dc->clk_mgr != NULL && dc->clk_mgr->funcs->get_hard_min_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5728
idle_dramclk_khz = dc->clk_mgr->funcs->get_hard_min_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5766
if (dc->clk_mgr->funcs->set_hard_min_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5767
dc->clk_mgr->funcs->set_hard_min_memclk(dc->clk_mgr, false);
drivers/gpu/drm/amd/display/dc/core/dc.c
5769
if (dc->clk_mgr->funcs->set_hard_max_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5770
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5776
if (dc->clk_mgr->funcs->get_memclk_states_from_smu)
drivers/gpu/drm/amd/display/dc/core/dc.c
5777
dc->clk_mgr->funcs->get_memclk_states_from_smu(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5779
if (dc->clk_mgr->funcs->set_hard_min_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5780
dc->clk_mgr->funcs->set_hard_min_memclk(dc->clk_mgr, true);
drivers/gpu/drm/amd/display/dc/core/dc.c
5782
if (dc->clk_mgr->funcs->set_hard_max_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5783
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
5808
if (dc->clk_mgr->funcs->set_max_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5809
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, memclk_mhz);
drivers/gpu/drm/amd/display/dc/core/dc.c
5810
if (dc->clk_mgr->funcs->set_min_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5811
dc->clk_mgr->funcs->set_min_memclk(dc->clk_mgr, memclk_mhz);
drivers/gpu/drm/amd/display/dc/core/dc.c
5850
softMax = dc->clk_mgr->bw_params->dc_mode_softmax_memclk;
drivers/gpu/drm/amd/display/dc/core/dc.c
5851
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries; i++) {
drivers/gpu/drm/amd/display/dc/core/dc.c
5852
if (dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz > maxDPM)
drivers/gpu/drm/amd/display/dc/core/dc.c
5853
maxDPM = dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz;
drivers/gpu/drm/amd/display/dc/core/dc.c
5855
funcMin = (dc->clk_mgr->clks.dramclk_khz + 999) / 1000;
drivers/gpu/drm/amd/display/dc/core/dc.c
5856
p_state_change_support = dc->clk_mgr->clks.p_state_change_support;
drivers/gpu/drm/amd/display/dc/core/dc.c
5858
if (enable && !dc->clk_mgr->dc_mode_softmax_enabled) {
drivers/gpu/drm/amd/display/dc/core/dc.c
5860
if (funcMin <= softMax && dc->clk_mgr->funcs->set_max_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5861
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, softMax);
drivers/gpu/drm/amd/display/dc/core/dc.c
5868
} else if (!enable && dc->clk_mgr->dc_mode_softmax_enabled) {
drivers/gpu/drm/amd/display/dc/core/dc.c
5870
if (funcMin <= softMax && dc->clk_mgr->funcs->set_max_memclk)
drivers/gpu/drm/amd/display/dc/core/dc.c
5871
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, maxDPM);
drivers/gpu/drm/amd/display/dc/core/dc.c
5879
dc->clk_mgr->dc_mode_softmax_enabled = enable;
drivers/gpu/drm/amd/display/dc/core/dc.c
6486
if (!context->clk_mgr || !context->clk_mgr->ctx || !context->clk_mgr->ctx->dc)
drivers/gpu/drm/amd/display/dc/core/dc.c
6488
struct dc *dc = context->clk_mgr->ctx->dc;
drivers/gpu/drm/amd/display/dc/core/dc.c
6506
struct dc *dc = context->clk_mgr->ctx->dc;
drivers/gpu/drm/amd/display/dc/core/dc.c
6589
out_data->uclk_p_state = dc->current_state->clk_mgr->clks.p_state_change_support;
drivers/gpu/drm/amd/display/dc/core/dc.c
6803
if (dc->clk_mgr && dc->clk_mgr->clks.dispclk_khz > 0) {
drivers/gpu/drm/amd/display/dc/core/dc.c
6805
state->dccg.dispclk_khz = dc->clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/core/dc.c
6812
state->dccg.dppclk_khz[i] = dc->clk_mgr->clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/core/dc.c
961
if (dc->clk_mgr) {
drivers/gpu/drm/amd/display/dc/core/dc.c
962
dc_destroy_clk_mgr(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/core/dc.c
963
dc->clk_mgr = NULL;
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
5632
if (context->clk_mgr->ctx->dc->res_pool->funcs->program_mcache_pipe_config)
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
5633
context->clk_mgr->ctx->dc->res_pool->funcs->program_mcache_pipe_config(context, mcache_params);
drivers/gpu/drm/amd/display/dc/core/dc_state.c
294
state->clk_mgr = dc->clk_mgr;
drivers/gpu/drm/amd/display/dc/core/dc_state.c
333
state->clk_mgr = NULL;
drivers/gpu/drm/amd/display/dc/dc.h
1768
struct clk_mgr *clk_mgr;
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
1465
if (dc->clk_mgr->funcs->exit_low_power_state) {
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
1515
dc->clk_mgr->funcs->exit_low_power_state(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
1532
dc->clk_mgr->funcs->exit_low_power_state(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
148
static int dce_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
150
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
174
int dce12_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
176
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
214
struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
217
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
247
struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
250
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
252
struct dc_bios *bp = clk_mgr->ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
288
int dce112_set_clock(struct clk_mgr *clk_mgr, int requested_clk_khz)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
290
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
292
struct dc_bios *bp = clk_mgr->ctx->dc_bios;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
293
struct dc *core_dc = clk_mgr->ctx->dc;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
321
if (!((clk_mgr->ctx->asic_id.chip_family == FAMILY_AI) &&
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
322
ASICREV_IS_VEGA20_P(clk_mgr->ctx->asic_id.hw_internal_rev)))
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
468
void dce121_clock_patch_xgmi_ss_info(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
470
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
48
clk_mgr->ctx->logger
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
654
pp_display_cfg->disp_clk_khz = dc->res_pool->clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
672
static void dce_update_clocks(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
676
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
684
level_change_req.power_level = dce_get_required_clocks_state(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
688
if (dm_pp_apply_power_level_change_request(clk_mgr->ctx, &level_change_req))
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
692
if (should_set_clock(safe_to_lower, patched_disp_clk, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
693
patched_disp_clk = dce_set_clock(clk_mgr, patched_disp_clk);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
694
clk_mgr->clks.dispclk_khz = patched_disp_clk;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
696
dce_pplib_apply_display_requirements(clk_mgr->ctx->dc, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
699
static void dce11_update_clocks(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
703
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
711
level_change_req.power_level = dce_get_required_clocks_state(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
715
if (dm_pp_apply_power_level_change_request(clk_mgr->ctx, &level_change_req))
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
719
if (should_set_clock(safe_to_lower, patched_disp_clk, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
720
context->bw_ctx.bw.dce.dispclk_khz = dce_set_clock(clk_mgr, patched_disp_clk);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
721
clk_mgr->clks.dispclk_khz = patched_disp_clk;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
723
dce11_pplib_apply_display_requirements(clk_mgr->ctx->dc, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
726
static void dce112_update_clocks(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
730
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
738
level_change_req.power_level = dce_get_required_clocks_state(clk_mgr, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
742
if (dm_pp_apply_power_level_change_request(clk_mgr->ctx, &level_change_req))
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
746
if (should_set_clock(safe_to_lower, patched_disp_clk, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
747
patched_disp_clk = dce112_set_clock(clk_mgr, patched_disp_clk);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
748
clk_mgr->clks.dispclk_khz = patched_disp_clk;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
750
dce11_pplib_apply_display_requirements(clk_mgr->ctx->dc, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
753
static void dce12_update_clocks(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
757
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
766
if (should_set_clock(safe_to_lower, patched_disp_clk, clk_mgr->clks.dispclk_khz)) {
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
776
clk_mgr->clks.dispclk_khz = dce112_set_clock(clk_mgr, patched_disp_clk);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
778
dm_pp_apply_clock_for_voltage_request(clk_mgr->ctx, &clock_voltage_req);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
781
if (should_set_clock(safe_to_lower, max_pix_clk, clk_mgr->clks.phyclk_khz)) {
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
784
clk_mgr->clks.phyclk_khz = max_pix_clk;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
786
dm_pp_apply_clock_for_voltage_request(clk_mgr->ctx, &clock_voltage_req);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
788
dce11_pplib_apply_display_requirements(clk_mgr->ctx->dc, context);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
818
struct clk_mgr *base = &clk_mgr_dce->base;
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
845
struct clk_mgr *dce_clk_mgr_create(
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
868
struct clk_mgr *dce110_clk_mgr_create(
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
893
struct clk_mgr *dce112_clk_mgr_create(
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
918
struct clk_mgr *dce120_clk_mgr_create(struct dc_context *ctx)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
940
struct clk_mgr *dce121_clk_mgr_create(struct dc_context *ctx)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
960
void dce_clk_mgr_destroy(struct clk_mgr **clk_mgr)
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
962
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(*clk_mgr);
drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
965
*clk_mgr = NULL;
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
1088
dtbclk_p_src_clk_khz = clock_source->ctx->dc->clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
1200
unsigned int dp_dto_ref_khz = clock_source->ctx->dc->clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
1299
clock_source->ctx->dc->clk_mgr->dprefclk_khz*1000);
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
1335
unsigned int dp_dto_ref_khz = clock_source->ctx->dc->clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
973
unsigned int dp_dto_ref_khz = clock_source->ctx->dc->clk_mgr->dprefclk_khz;
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
980
if (clock_source->ctx->dc->clk_mgr->dp_dto_source_clock_in_khz != 0 &&
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
983
dp_dto_ref_khz = clock_source->ctx->dc->clk_mgr->dp_dto_source_clock_in_khz;
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
2181
dc->clk_mgr->bw_params->wm_table.entries[i].sr_exit_time_us =
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
2188
dc->clk_mgr->bw_params->wm_table.entries[i].sr_enter_plus_exit_time_us =
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
2199
dc->clk_mgr->bw_params->wm_table.entries[i].pstate_latency_us =
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
2245
struct clk_bw_params *bw_params = dc->clk_mgr->bw_params;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
294
if (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
297
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
298
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
299
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
341
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
361
if (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
366
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
367
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
368
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
408
if (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
413
dc->clk_mgr->bw_params->dummy_pstate_table[0].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
417
int min_dram_speed_mts_offset = dc->clk_mgr->bw_params->clk_table.num_entries - 1;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
420
dc->clk_mgr->bw_params->clk_table.entries[min_dram_speed_mts_offset].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
429
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dram_speed_mts)
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
434
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
436
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
437
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
516
dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
578
dcn3_0_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
579
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
633
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.c
658
void dcn3_fpu_build_wm_range_table(struct clk_mgr *base)
drivers/gpu/drm/amd/display/dc/dml/dcn30/dcn30_fpu.h
69
void dcn3_fpu_build_wm_range_table(struct clk_mgr *base);
drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c
391
dcn3_01_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c
392
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c
435
struct clk_bw_params *bw_params = dc->clk_mgr->bw_params;
drivers/gpu/drm/amd/display/dc/dml/dcn302/dcn302_fpu.c
217
dcn3_02_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn302/dcn302_fpu.c
218
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn303/dcn303_fpu.c
213
dcn3_03_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn303/dcn303_fpu.c
214
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
458
if (dc->clk_mgr->bw_params->wm_table.entries[WM_A].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
459
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.entries[WM_A].pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
460
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.entries[WM_A].sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
461
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.entries[WM_A].sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
469
if (dc->clk_mgr->bw_params->wm_table.entries[WM_A].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
474
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.entries[WM_A].pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
476
dc->clk_mgr->bw_params->wm_table.entries[WM_A].sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
478
dc->clk_mgr->bw_params->wm_table.entries[WM_A].sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
656
dcn3_1_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c
657
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
186
void dcn32_build_wm_range_table_fpu(struct clk_mgr_internal *clk_mgr)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
189
double pstate_latency_us = clk_mgr->base.ctx->dc->dml.soc.dram_clock_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
190
double fclk_change_latency_us = clk_mgr->base.ctx->dc->dml.soc.fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
191
double sr_exit_time_us = clk_mgr->base.ctx->dc->dml.soc.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
192
double sr_enter_plus_exit_time_us = clk_mgr->base.ctx->dc->dml.soc.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
194
uint16_t min_uclk_mhz = clk_mgr->base.bw_params->clk_table.entries[0].memclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
195
uint16_t min_dcfclk_mhz = clk_mgr->base.bw_params->clk_table.entries[0].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
197
uint16_t dcfclk_mhz_for_the_second_state = clk_mgr->base.ctx->dc->dml.soc.clock_limits[2].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
203
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.min_dcfclk = dcfclk_mhz_for_the_second_state;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
205
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.min_dcfclk = clk_mgr->base.bw_params->clk_table.entries[0].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
207
if (clk_mgr->base.bw_params->clk_table.entries[2].memclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
208
setb_min_uclk_mhz = clk_mgr->base.bw_params->clk_table.entries[2].memclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
211
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].valid = true;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
212
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us = pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
213
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].dml_input.fclk_change_latency_us = fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
214
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].dml_input.sr_exit_time_us = sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
215
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].dml_input.sr_enter_plus_exit_time_us = sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
216
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.wm_type = WATERMARKS_CLOCK_RANGE;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
217
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.min_dcfclk = min_dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
218
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
219
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.min_uclk = min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
220
clk_mgr->base.bw_params->wm_table.nv_entries[WM_A].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
223
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].valid = true;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
224
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].dml_input.pstate_latency_us = pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
225
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].dml_input.fclk_change_latency_us = fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
226
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].dml_input.sr_exit_time_us = sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
227
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].dml_input.sr_enter_plus_exit_time_us = sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
228
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.wm_type = WATERMARKS_CLOCK_RANGE;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
229
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
230
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.min_uclk = setb_min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
231
clk_mgr->base.bw_params->wm_table.nv_entries[WM_B].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2341
if (context->bw_ctx.dml.soc.fclk_change_latency_us < dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2344
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2347
dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
235
if (clk_mgr->base.ctx->dc->bb_overrides.dummy_clock_change_latency_ns != 0x7FFFFFFF) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
236
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].valid = true;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
237
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.pstate_latency_us = 50;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
238
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.fclk_change_latency_us = fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2385
dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2389
if (context->bw_ctx.dml.soc.fclk_change_latency_us < dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
239
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.sr_exit_time_us = sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2392
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
240
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.sr_enter_plus_exit_time_us = sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
241
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.wm_type = WATERMARKS_DUMMY_PSTATE;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2415
context->bw_ctx.dml.soc.fclk_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
242
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.min_dcfclk = min_dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
243
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2439
if (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
244
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.min_uclk = min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2440
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2441
context->bw_ctx.dml.soc.fclk_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2442
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2443
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_B].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
245
clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
246
clk_mgr->base.bw_params->dummy_pstate_table[0].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[0].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
247
clk_mgr->base.bw_params->dummy_pstate_table[0].dummy_pstate_latency_us = 50;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
248
clk_mgr->base.bw_params->dummy_pstate_table[1].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[1].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
249
clk_mgr->base.bw_params->dummy_pstate_table[1].dummy_pstate_latency_us = 9;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
250
clk_mgr->base.bw_params->dummy_pstate_table[2].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[2].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2508
if (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].valid) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
251
clk_mgr->base.bw_params->dummy_pstate_table[2].dummy_pstate_latency_us = 8;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2513
dc->clk_mgr->bw_params->dummy_pstate_table[0].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2517
int min_dram_speed_mts_offset = dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels - 1;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
252
clk_mgr->base.bw_params->dummy_pstate_table[3].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[3].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2520
dc->clk_mgr->bw_params->clk_table.entries[min_dram_speed_mts_offset].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2529
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dram_speed_mts)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
253
clk_mgr->base.bw_params->dummy_pstate_table[3].dummy_pstate_latency_us = 5;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2534
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2536
context->bw_ctx.dml.soc.fclk_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].dml_input.fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2537
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2538
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2556
if ((!pstate_en) && (dc->clk_mgr->bw_params->wm_table.nv_entries[WM_C].valid)) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
257
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].valid = true;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2576
context->bw_ctx.dml.soc.dram_clock_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2577
context->bw_ctx.dml.soc.sr_enter_plus_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.sr_enter_plus_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2578
context->bw_ctx.dml.soc.sr_exit_time_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.sr_exit_time_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
258
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].dml_input.pstate_latency_us = clk_mgr->base.bw_params->dummy_pstate_table[3].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
259
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].dml_input.fclk_change_latency_us = fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
260
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].dml_input.sr_exit_time_us = sr_exit_time_us / 2; // TBD
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
261
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].dml_input.sr_enter_plus_exit_time_us = sr_enter_plus_exit_time_us / 2; // TBD
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2619
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
262
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].pmfw_breakdown.wm_type = WATERMARKS_MALL;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2626
dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
263
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].pmfw_breakdown.min_dcfclk = min_dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
2631
dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.fclk_change_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
264
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].pmfw_breakdown.max_dcfclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
265
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].pmfw_breakdown.min_uclk = min_uclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
266
clk_mgr->base.bw_params->wm_table.nv_entries[WM_D].pmfw_breakdown.max_uclk = 0xFFFF;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
292
dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3143
dcn3_2_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3144
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3145
dc->dml2_options.bbox_overrides.disp_pll_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3148
dc->dml2_options.bbox_overrides.dprefclk_mhz = dc->clk_mgr->dprefclk_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3315
if (dc->clk_mgr->bw_params->clk_table.num_entries > 1) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3318
dc->dml2_options.bbox_overrides.clks_table.num_states = dc->clk_mgr->bw_params->clk_table.num_entries;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3321
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dcfclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3324
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_fclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3327
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3330
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_socclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3333
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dtbclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3336
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3339
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dppclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3341
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dcfclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3342
if (dc->clk_mgr->bw_params->clk_table.entries[i].dcfclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3344
dc->clk_mgr->bw_params->clk_table.entries[i].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3347
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_fclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3348
if (dc->clk_mgr->bw_params->clk_table.entries[i].fclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3350
dc->clk_mgr->bw_params->clk_table.entries[i].fclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3353
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3354
if (dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3356
dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3359
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_socclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3360
if (dc->clk_mgr->bw_params->clk_table.entries[i].socclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3362
dc->clk_mgr->bw_params->clk_table.entries[i].socclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3365
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dtbclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3366
if (dc->clk_mgr->bw_params->clk_table.entries[i].dtbclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3368
dc->clk_mgr->bw_params->clk_table.entries[i].dtbclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3371
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dispclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3372
if (dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz) {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3374
dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3376
dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3605
int num_mclk_levels = dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3607
if (context->bw_ctx.dml.vba.DRAMSpeed <= dc->clk_mgr->bw_params->clk_table.entries[0].memclk_mhz * 16 &&
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
3609
context->bw_ctx.dml.vba.DRAMSpeed = dc->clk_mgr->bw_params->clk_table.entries[1].memclk_mhz * 16;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h
32
void dcn32_build_wm_range_table_fpu(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
701
dcn3_21_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
702
dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
703
dc->dml2_options.bbox_overrides.disp_pll_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
706
dc->dml2_options.bbox_overrides.dprefclk_mhz = dc->clk_mgr->dprefclk_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
864
if (dc->clk_mgr->bw_params->clk_table.num_entries > 1) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
867
dc->dml2_options.bbox_overrides.clks_table.num_states = dc->clk_mgr->bw_params->clk_table.num_entries;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
870
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dcfclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
873
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_fclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
876
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
879
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_socclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
882
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dtbclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
885
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dispclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
888
dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dppclk_levels;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
891
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dcfclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
892
if (dc->clk_mgr->bw_params->clk_table.entries[i].dcfclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
894
dc->clk_mgr->bw_params->clk_table.entries[i].dcfclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
897
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_fclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
898
if (dc->clk_mgr->bw_params->clk_table.entries[i].fclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
900
dc->clk_mgr->bw_params->clk_table.entries[i].fclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
903
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
904
if (dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
906
dc->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
909
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_socclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
910
if (dc->clk_mgr->bw_params->clk_table.entries[i].socclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
912
dc->clk_mgr->bw_params->clk_table.entries[i].socclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
915
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dtbclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
916
if (dc->clk_mgr->bw_params->clk_table.entries[i].dtbclk_mhz)
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
918
dc->clk_mgr->bw_params->clk_table.entries[i].dtbclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
921
for (i = 0; i < dc->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_dispclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
922
if (dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz) {
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
924
dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
926
dc->clk_mgr->bw_params->clk_table.entries[i].dispclk_mhz;
drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c
203
void dcn35_build_wm_range_table_fpu(struct clk_mgr *clk_mgr)
drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.h
32
void dcn35_build_wm_range_table_fpu(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper_fpu.c
434
copy_dummy_pstate_table(s->dummy_pstate_table, in_dc->clk_mgr->bw_params->dummy_pstate_table, 4);
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
601
if (!dc->clk_mgr || !dc->clk_mgr->funcs->get_max_clock_khz || !dc->res_pool || dc->debug.disable_dsc)
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
605
max_dscclk_khz = dc->clk_mgr->funcs->get_max_clock_khz(dc->clk_mgr, CLK_TYPE_DSCCLK);
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
645
if (dsc->ctx->dc->clk_mgr &&
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
646
dsc->ctx->dc->clk_mgr->funcs->get_max_clock_khz) {
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
648
max_dispclk_khz = dsc->ctx->dc->clk_mgr->funcs->get_max_clock_khz(dsc->ctx->dc->clk_mgr, CLK_TYPE_DISPCLK);
drivers/gpu/drm/amd/display/dc/hubbub/dcn20/dcn20_hubbub.c
615
if (hubbub1->base.ctx->dc->clk_mgr->clks.prev_p_state_change_support == true &&
drivers/gpu/drm/amd/display/dc/hubbub/dcn20/dcn20_hubbub.c
616
hubbub1->base.ctx->dc->clk_mgr->clks.p_state_change_support == false)
drivers/gpu/drm/amd/display/dc/hwss/dce100/dce100_hwseq.c
114
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dce100/dce100_hwseq.c
115
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dce100/dce100_hwseq.c
126
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dce100/dce100_hwseq.c
127
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1063
struct clk_mgr *clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1074
clk_mgr = dc->clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1086
if (num_audio >= 1 && clk_mgr->funcs->enable_pme_wa) {
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1088
clk_mgr->funcs->enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1103
struct clk_mgr *clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1113
clk_mgr = dc->clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1124
if (clk_mgr->funcs->enable_pme_wa)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1126
clk_mgr->funcs->enable_pme_wa(clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1441
if (state->clk_mgr &&
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1445
state->clk_mgr->funcs->get_dp_ref_clk_frequency(
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1446
state->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
1999
clk_mgr_exit_optimized_pwr_state(dc, dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2019
clk_mgr_optimize_pwr_state(dc, dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2885
struct clk_mgr *dccg = dc->clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2899
struct clk_mgr *dccg = dc->clk_mgr;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3321
if (dc->clk_mgr->funcs->notify_link_rate_change)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3322
dc->clk_mgr->funcs->notify_link_rate_change(dc->clk_mgr, link);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1772
if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1773
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1776
if (dc->clk_mgr && dc->clk_mgr->clks.dispclk_khz != 0 && dc->clk_mgr->clks.dppclk_khz != 0) {
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1777
dc->current_state->bw_ctx.bw.dcn.clk.dispclk_khz = dc->clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1778
dc->current_state->bw_ctx.bw.dcn.clk.dppclk_khz = dc->clk_mgr->clks.dppclk_khz;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1896
if (dc->clk_mgr && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1897
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1943
if (dc->clk_mgr->funcs->set_low_power_state)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1944
dc->clk_mgr->funcs->set_low_power_state(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
2398
dc->res_pool->dp_clock_source->ctx->dc->clk_mgr->dprefclk_khz*10;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3022
dc->clk_mgr->clks.dispclk_khz)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3027
dc->clk_mgr->clks.dispclk_khz / 2;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3040
dc->clk_mgr->clks.dppclk_khz = should_divided_by_2 ?
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3041
dc->clk_mgr->clks.dispclk_khz / 2 :
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3042
dc->clk_mgr->clks.dispclk_khz;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3348
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3349
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3386
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3387
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4067
if (!dc->clk_mgr || !dc->clk_mgr->funcs->get_clock)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4070
dc->clk_mgr->funcs->get_clock(dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4090
if (dc->clk_mgr->funcs->update_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4091
dc->clk_mgr->funcs->update_clocks(dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4103
if (dc->clk_mgr && dc->clk_mgr->funcs->get_clock)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
4104
dc->clk_mgr->funcs->get_clock(dc->clk_mgr, context, clock_type, clock_cfg);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2371
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2372
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2436
if (dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2437
if (dc->clk_mgr->clks.dramclk_khz > dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000 &&
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2438
context->bw_ctx.bw.dcn.clk.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2439
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, dc->clk_mgr->bw_params->dc_mode_softmax_memclk);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2449
dc->clk_mgr->clks.fw_based_mclk_switching = true;
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2451
dc->clk_mgr->clks.fw_based_mclk_switching = false;
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2454
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2455
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
3034
dto_params.ref_dtbclk_khz = dc->clk_mgr->funcs->get_dtb_ref_clk_frequency(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
3126
if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
3127
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
892
dto_params.ref_dtbclk_khz = dc->clk_mgr->funcs->get_dtb_ref_clk_frequency(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn201/dcn201_hwseq.c
237
if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn201/dcn201_hwseq.c
238
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
101
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
102
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
111
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
112
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1171
if ((!dc->clk_mgr->clks.p_state_change_support || subvp_in_use ||
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1193
if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching && !dc->clk_mgr->clks.fw_based_mclk_switching) {
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1198
if (dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1199
if (dc->clk_mgr->clks.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000 &&
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1200
context->bw_ctx.bw.dcn.clk.dramclk_khz > dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1201
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, dc->clk_mgr->bw_params->clk_table.entries[dc->clk_mgr->bw_params->clk_table.num_entries - 1].memclk_mhz);
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
1205
if (!dc->clk_mgr->clks.fw_based_mclk_switching)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
652
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
653
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
813
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
814
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
817
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->set_hard_max_memclk &&
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
818
!dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
819
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
121
if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
122
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
259
if (dc->clk_mgr && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
260
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
262
if (dc->clk_mgr && dc->clk_mgr->funcs->set_hard_max_memclk && !dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
263
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1012
dc->res_pool->funcs->update_bw_bounding_box(dc, dc->clk_mgr->bw_params);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1803
if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching || dc->clk_mgr->clks.fw_based_mclk_switching) {
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1808
if (dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1809
if (dc->clk_mgr->clks.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000 &&
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1810
context->bw_ctx.bw.dcn.clk.dramclk_khz > dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1811
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, dc->clk_mgr->bw_params->clk_table.entries[dc->clk_mgr->bw_params->clk_table.num_entries - 1].memclk_mhz);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
1818
if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching || dc->clk_mgr->clks.fw_based_mclk_switching) {
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
761
clocks->dcfclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dcfclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
762
clocks->socclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].socclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
763
clocks->dramclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].memclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
764
clocks->dppclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dppclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
765
clocks->ref_dtbclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dtbclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
769
clocks->dispclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dispclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
776
clocks->dispclk_khz = dc->clk_mgr->funcs->get_dispclk_from_dentist(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
779
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
780
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
796
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
797
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
975
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
976
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
978
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->set_hard_max_memclk &&
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
979
!dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
980
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
1512
if (pix_clk_mhz > dc->clk_mgr->bw_params->clk_table.entries[0].dispclk_mhz)
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
152
if (dc->clk_mgr && dc->clk_mgr->funcs->init_clocks)
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
153
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
295
if (dc->clk_mgr && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
296
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
298
if (dc->clk_mgr && dc->clk_mgr->funcs->set_hard_max_memclk && !dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
299
dc->clk_mgr->funcs->set_hard_max_memclk(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
557
if (dc->clk_mgr->funcs->set_low_power_state)
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
558
dc->clk_mgr->funcs->set_low_power_state(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
560
if (dc->clk_mgr->clks.pwr_state == DCN_PWR_STATE_LOW_POWER)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1394
if (dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1395
if (dc->clk_mgr->clks.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000 &&
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1396
context->bw_ctx.bw.dcn.clk.dramclk_khz > dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1397
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, dc->clk_mgr->bw_params->clk_table.entries[dc->clk_mgr->bw_params->clk_table.num_entries - 1].memclk_mhz);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1400
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1401
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1463
if (dc->clk_mgr->dc_mode_softmax_enabled)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1464
if (dc->clk_mgr->clks.dramclk_khz > dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000 &&
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1465
context->bw_ctx.bw.dcn.clk.dramclk_khz <= dc->clk_mgr->bw_params->dc_mode_softmax_memclk * 1000)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1466
dc->clk_mgr->funcs->set_max_memclk(dc->clk_mgr, dc->clk_mgr->bw_params->dc_mode_softmax_memclk);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1472
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1473
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
153
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->init_clocks) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
154
dc->clk_mgr->funcs->init_clocks(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
157
dc->caps.dcmode_power_limits_present = dc->clk_mgr->funcs->is_dc_mode_present &&
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
158
dc->clk_mgr->funcs->is_dc_mode_present(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1796
if ((!dc->clk_mgr->clks.p_state_change_support ||
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1803
dc->clk_mgr->funcs->update_clocks(dc->clk_mgr, dc->current_state, true);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1807
dc->clk_mgr->clks.p_state_change_support = false;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
1808
dc->clk_mgr->funcs->update_clocks(dc->clk_mgr, dc->current_state, true);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
345
if (dc->clk_mgr && dc->clk_mgr->funcs && dc->clk_mgr->funcs->notify_wm_ranges)
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
346
dc->clk_mgr->funcs->notify_wm_ranges(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
372
dc->clk_mgr && dc->clk_mgr->bw_params) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
375
dc->clk_mgr->bw_params);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
63
clocks->dcfclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dcfclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
64
clocks->socclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].socclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
65
clocks->dramclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].memclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
66
clocks->dppclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dppclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
68
clocks->dispclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dispclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
75
if (dc->clk_mgr->funcs->get_dispclk_from_dentist) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
76
clocks->dispclk_khz = dc->clk_mgr->funcs->get_dispclk_from_dentist(dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
78
clocks->dispclk_khz = dc->clk_mgr->boot_snapshot.dispclk * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
81
clocks->ref_dtbclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dtbclk_mhz * 1000;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
85
dc->clk_mgr->funcs->update_clocks(
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
86
dc->clk_mgr,
drivers/gpu/drm/amd/display/dc/inc/core_types.h
652
struct clk_mgr *clk_mgr;
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
285
void (*update_clocks)(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
289
int (*get_dp_ref_clk_frequency)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
290
int (*get_dtb_ref_clk_frequency)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
292
void (*set_low_power_state)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
293
void (*exit_low_power_state)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
294
bool (*is_ips_supported)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
296
void (*init_clocks)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
299
struct clk_mgr *clk_mgr_base, struct clk_log_info *log_info);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
301
void (*enable_pme_wa) (struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
302
void (*get_clock)(struct clk_mgr *clk_mgr,
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
309
void (*notify_wm_ranges)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
312
void (*notify_link_rate_change)(struct clk_mgr *clk_mgr, struct dc_link *link);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
318
void (*set_hard_min_memclk)(struct clk_mgr *clk_mgr, bool current_mode);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
320
int (*get_hard_min_memclk)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
321
int (*get_hard_min_fclk)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
324
void (*set_hard_max_memclk)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
327
void (*set_max_memclk)(struct clk_mgr *clk_mgr, unsigned int memclk_mhz);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
328
void (*set_min_memclk)(struct clk_mgr *clk_mgr, unsigned int memclk_mhz);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
331
void (*get_memclk_states_from_smu)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
334
bool (*is_smu_present)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
336
int (*get_dispclk_from_dentist)(struct clk_mgr *clk_mgr_base);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
338
bool (*is_dc_mode_present)(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
340
uint32_t (*set_smartmux_switch)(struct clk_mgr *clk_mgr, uint32_t pins_to_set);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
342
unsigned int (*get_max_clock_khz)(struct clk_mgr *clk_mgr_base, enum clk_type clk_type);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
363
struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *pp_smu, struct dccg *dccg);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
365
void dc_destroy_clk_mgr(struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
367
void clk_mgr_exit_optimized_pwr_state(const struct dc *dc, struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h
369
void clk_mgr_optimize_pwr_state(const struct dc *dc, struct clk_mgr *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
345
struct clk_mgr base;
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
425
int (*set_dispclk)(struct clk_mgr_internal *clk_mgr, int requested_dispclk_khz);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
426
int (*set_dprefclk)(struct clk_mgr_internal *clk_mgr);
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
69
#define TO_CLK_MGR_INTERNAL(clk_mgr)\
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
70
container_of(clk_mgr, struct clk_mgr_internal, base)
drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr_internal.h
73
clk_mgr->base.ctx
drivers/gpu/drm/amd/display/dc/link/link_detection.c
777
clk_mgr_exit_optimized_pwr_state(dc, dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/link/link_detection.c
782
clk_mgr_optimize_pwr_state(dc, dc->clk_mgr);
drivers/gpu/drm/amd/display/dc/link/link_dpms.c
2044
if (state->clk_mgr && !apply_seamless_boot_optimization)
drivers/gpu/drm/amd/display/dc/link/link_dpms.c
2045
state->clk_mgr->funcs->update_clocks(state->clk_mgr,
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c
87
if (dc->clk_mgr->funcs->notify_link_rate_change)
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c
88
dc->clk_mgr->funcs->notify_link_rate_change(dc->clk_mgr, link);
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
872
const uint32_t max_pix_clk_khz = max(dc->clk_mgr->clks.max_supported_dispclk_khz, 400000);
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1781
if (pixel_clk_params->requested_pix_clk_100hz > 4 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1783
} else if (pixel_clk_params->requested_pix_clk_100hz > 2 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1785
} else if (pixel_clk_params->requested_pix_clk_100hz > stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1798
for (int i = 0; i < context->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels; i++) {
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1799
if (context->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz == 0 ||
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1800
uclk_mhz < context->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz)
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
1802
if (uclk_mhz > context->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz)
drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/dcn401_soc_and_ip_translator.c
211
soc_bb->dprefclk_mhz = dc->clk_mgr->dprefclk_khz / 1000;
drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/dcn401_soc_and_ip_translator.c
212
soc_bb->dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0;
drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/dcn401_soc_and_ip_translator.c
215
if (dc->clk_mgr->funcs->is_smu_present &&
drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/dcn401_soc_and_ip_translator.c
216
dc->clk_mgr->funcs->is_smu_present(dc->clk_mgr)) {
drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn401/dcn401_soc_and_ip_translator.c
218
dc->clk_mgr->bw_params,