Home
last modified time | relevance | path

Searched refs:pp_smu (Results 1 – 21 of 21) sorted by relevance

/Linux-v5.10/drivers/gpu/drm/amd/display/dc/
Ddm_pp_smu.h48 struct pp_smu { struct
97 struct pp_smu pp_smu; member
103 void (*set_display_count)(struct pp_smu *pp, int count);
112 void (*set_wm_ranges)(struct pp_smu *pp,
118 void (*set_hard_min_dcfclk_by_freq)(struct pp_smu *pp, int mhz);
124 void (*set_min_deep_sleep_dcfclk)(struct pp_smu *pp, int mhz);
129 void (*set_hard_min_fclk_by_freq)(struct pp_smu *pp, int mhz);
134 void (*set_hard_min_socclk_by_freq)(struct pp_smu *pp, int mhz);
137 void (*set_pme_wa_enable)(struct pp_smu *pp);
168 struct pp_smu pp_smu; member
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/
Drv1_clk_mgr.c198 struct pp_smu_funcs_rv *pp_smu = NULL; in rv1_update_clocks() local
205 ASSERT(clk_mgr->pp_smu); in rv1_update_clocks()
210 pp_smu = &clk_mgr->pp_smu->rv_funcs; in rv1_update_clocks()
223 if (pp_smu->set_display_count) in rv1_update_clocks()
224 pp_smu->set_display_count(&pp_smu->pp_smu, display_count); in rv1_update_clocks()
264 if (pp_smu->set_hard_min_fclk_by_freq && in rv1_update_clocks()
265 pp_smu->set_hard_min_dcfclk_by_freq && in rv1_update_clocks()
266 pp_smu->set_min_deep_sleep_dcfclk) { in rv1_update_clocks()
267 pp_smu->set_hard_min_fclk_by_freq(&pp_smu->pp_smu, new_clocks->fclk_khz / 1000); in rv1_update_clocks()
268 pp_smu->set_hard_min_dcfclk_by_freq(&pp_smu->pp_smu, new_clocks->dcfclk_khz / 1000); in rv1_update_clocks()
[all …]
Drv2_clk_mgr.c37 …gr_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu) in rv2_clk_mgr_construct() argument
40 rv1_clk_mgr_construct(ctx, clk_mgr, pp_smu); in rv2_clk_mgr_construct()
Drv1_clk_mgr.h29 …r_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu);
Drv2_clk_mgr.h29 …r_construct(struct dc_context *ctx, struct clk_mgr_internal *clk_mgr, struct pp_smu_funcs *pp_smu);
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/
Ddcn20_clk_mgr.c152 struct pp_smu_funcs_nv *pp_smu = NULL; in dcn2_update_clocks() local
176 if (dc->res_pool->pp_smu) in dcn2_update_clocks()
177 pp_smu = &dc->res_pool->pp_smu->nv_funcs; in dcn2_update_clocks()
183 if (pp_smu && pp_smu->set_display_count) in dcn2_update_clocks()
184 pp_smu->set_display_count(&pp_smu->pp_smu, display_count); in dcn2_update_clocks()
193 if (pp_smu && pp_smu->set_hard_min_dcfclk_by_freq) in dcn2_update_clocks()
194 pp_smu->set_hard_min_dcfclk_by_freq(&pp_smu->pp_smu, clk_mgr_base->clks.dcfclk_khz / 1000); in dcn2_update_clocks()
200 if (pp_smu && pp_smu->set_min_deep_sleep_dcfclk) in dcn2_update_clocks()
201pp_smu->set_min_deep_sleep_dcfclk(&pp_smu->pp_smu, clk_mgr_base->clks.dcfclk_deep_sleep_khz / 1000… in dcn2_update_clocks()
206 if (pp_smu && pp_smu->set_hard_min_socclk_by_freq) in dcn2_update_clocks()
[all …]
Ddcn20_clk_mgr.h43 struct pp_smu_funcs *pp_smu,
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/clk_mgr/
Dclk_mgr.c115 struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *pp_smu, struct dccg … in dc_clk_mgr_create() argument
166 rn_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg); in dc_clk_mgr_create()
171 rn_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg); in dc_clk_mgr_create()
175 rv2_clk_mgr_construct(ctx, clk_mgr, pp_smu); in dc_clk_mgr_create()
180 rv1_clk_mgr_construct(ctx, clk_mgr, pp_smu); in dc_clk_mgr_create()
188 dcn3_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg); in dc_clk_mgr_create()
192 dcn20_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg); in dc_clk_mgr_create()
/Linux-v5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_pp_smu.c545 void pp_rv_set_wm_ranges(struct pp_smu *pp, in pp_rv_set_wm_ranges()
597 void pp_rv_set_pme_wa_enable(struct pp_smu *pp) in pp_rv_set_pme_wa_enable()
610 void pp_rv_set_active_display_count(struct pp_smu *pp, int count) in pp_rv_set_active_display_count()
623 void pp_rv_set_min_deep_sleep_dcfclk(struct pp_smu *pp, int clock) in pp_rv_set_min_deep_sleep_dcfclk()
636 void pp_rv_set_hard_min_dcefclk_by_freq(struct pp_smu *pp, int clock) in pp_rv_set_hard_min_dcefclk_by_freq()
649 void pp_rv_set_hard_min_fclk_by_freq(struct pp_smu *pp, int mhz) in pp_rv_set_hard_min_fclk_by_freq()
662 static enum pp_smu_status pp_nv_set_wm_ranges(struct pp_smu *pp, in pp_nv_set_wm_ranges()
673 enum pp_smu_status pp_nv_set_pme_wa_enable(struct pp_smu *pp) in pp_nv_set_pme_wa_enable()
689 static enum pp_smu_status pp_nv_set_display_count(struct pp_smu *pp, int count) in pp_nv_set_display_count()
706 pp_nv_set_min_deep_sleep_dcfclk(struct pp_smu *pp, int mhz) in pp_nv_set_min_deep_sleep_dcfclk()
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/
Drn_clk_mgr.c484 struct pp_smu_funcs *pp_smu = clk_mgr->pp_smu; in rn_notify_wm_ranges() local
490 if (pp_smu && pp_smu->rn_funcs.set_wm_ranges) in rn_notify_wm_ranges()
491 pp_smu->rn_funcs.set_wm_ranges(&pp_smu->rn_funcs.pp_smu, &clk_mgr_base->ranges); in rn_notify_wm_ranges()
842 struct pp_smu_funcs *pp_smu, in rn_clk_mgr_construct() argument
857 clk_mgr->pp_smu = pp_smu; in rn_clk_mgr_construct()
914 if (pp_smu && pp_smu->rn_funcs.get_dpm_clock_table) { in rn_clk_mgr_construct()
915 status = pp_smu->rn_funcs.get_dpm_clock_table(&pp_smu->rn_funcs.pp_smu, &clock_table); in rn_clk_mgr_construct()
Drn_clk_mgr.h38 struct pp_smu_funcs *pp_smu,
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn21/
Ddcn21_resource.c704 static void dcn21_pp_smu_destroy(struct pp_smu_funcs **pp_smu);
1018 if (pool->base.pp_smu != NULL) in dcn21_resource_destruct()
1019 dcn21_pp_smu_destroy(&pool->base.pp_smu); in dcn21_resource_destruct()
1464 static enum pp_smu_status dummy_set_wm_ranges(struct pp_smu *pp, in dummy_set_wm_ranges()
1470 static enum pp_smu_status dummy_get_dpm_clock_table(struct pp_smu *pp, in dummy_get_dpm_clock_table()
1479 struct pp_smu_funcs *pp_smu = kzalloc(sizeof(*pp_smu), GFP_KERNEL); in dcn21_pp_smu_create() local
1481 if (!pp_smu) in dcn21_pp_smu_create()
1482 return pp_smu; in dcn21_pp_smu_create()
1485 pp_smu->ctx.ver = PP_SMU_VER_RN; in dcn21_pp_smu_create()
1486 pp_smu->rn_funcs.get_dpm_clock_table = dummy_get_dpm_clock_table; in dcn21_pp_smu_create()
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/
Ddcn30_clk_mgr.h33 struct pp_smu_funcs *pp_smu,
Ddcn30_clk_mgr.c500 struct pp_smu_funcs *pp_smu, in dcn3_clk_mgr_construct() argument
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn20/
Ddcn20_resource.c1428 static void dcn20_pp_smu_destroy(struct pp_smu_funcs **pp_smu);
1563 if (pool->base.pp_smu != NULL) in dcn20_resource_destruct()
1564 dcn20_pp_smu_destroy(&pool->base.pp_smu); in dcn20_resource_destruct()
3393 struct pp_smu_funcs *pp_smu = kzalloc(sizeof(*pp_smu), GFP_KERNEL); local
3395 if (!pp_smu)
3396 return pp_smu;
3398 dm_pp_get_funcs(ctx, pp_smu);
3400 if (pp_smu->ctx.ver != PP_SMU_VER_NV)
3401 pp_smu = memset(pp_smu, 0, sizeof(struct pp_smu_funcs));
3403 return pp_smu;
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_resource.c956 struct pp_smu_funcs *pp_smu = kzalloc(sizeof(*pp_smu), GFP_KERNEL); in dcn10_pp_smu_create() local
958 if (!pp_smu) in dcn10_pp_smu_create()
959 return pp_smu; in dcn10_pp_smu_create()
961 dm_pp_get_funcs(ctx, pp_smu); in dcn10_pp_smu_create()
962 return pp_smu; in dcn10_pp_smu_create()
1047 kfree(pool->base.pp_smu); in dcn10_resource_destruct()
1544 pool->base.pp_smu = dcn10_pp_smu_create(ctx); in dcn10_resource_construct()
1550 if (pool->base.pp_smu != NULL in dcn10_resource_construct()
1551 && pool->base.pp_smu->rv_funcs.set_pme_wa_enable != NULL) in dcn10_resource_construct()
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/inc/hw/
Dclk_mgr.h283 struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *pp_smu, struct dccg …
Dclk_mgr_internal.h220 struct pp_smu_funcs *pp_smu; member
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/inc/
Dcore_types.h192 struct pp_smu_funcs *pp_smu; member
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/calcs/
Ddcn_calcs.c1551 if (dc->res_pool->pp_smu) in dcn_bw_notify_pplib_of_wm_ranges()
1552 pp = &dc->res_pool->pp_smu->rv_funcs; in dcn_bw_notify_pplib_of_wm_ranges()
1606 pp->set_wm_ranges(&pp->pp_smu, &ranges); in dcn_bw_notify_pplib_of_wm_ranges()
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/core/
Ddc.c731 dc->clk_mgr = dc_clk_mgr_create(dc->ctx, dc->res_pool->pp_smu, dc->res_pool->dccg); in dc_construct()