Home
last modified time | relevance | path

Searched refs:watermarks (Results 1 – 25 of 27) sorted by relevance

12

/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn31/
Ddcn31_hubbub.c149 struct dcn_watermark_set *watermarks, in hubbub31_program_urgent_watermarks() argument
159 if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) { in hubbub31_program_urgent_watermarks()
160 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub31_program_urgent_watermarks()
161 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub31_program_urgent_watermarks()
168 watermarks->a.urgent_ns, prog_wm_value); in hubbub31_program_urgent_watermarks()
169 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub31_program_urgent_watermarks()
173 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub31_program_urgent_watermarks()
174 > hubbub2->watermarks.a.frac_urg_bw_flip) { in hubbub31_program_urgent_watermarks()
175 hubbub2->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub31_program_urgent_watermarks()
178 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub31_program_urgent_watermarks()
[all …]
Ddcn31_resource.c1680 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn31_calculate_wm_and_dlg_fp()
1681 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn31_calculate_wm_and_dlg_fp()
1682 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn31_calculate_wm_and_dlg_fp()
1683 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_z8_ns = get_wm_z8_stutter… in dcn31_calculate_wm_and_dlg_fp()
1684 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_z8_ns = get_wm_z8_stutter_exit(&cont… in dcn31_calculate_wm_and_dlg_fp()
1685 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn31_calculate_wm_and_dlg_fp()
1686 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn31_calculate_wm_and_dlg_fp()
1687 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn31_calculate_wm_and_dlg_fp()
1688 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn31_calculate_wm_and_dlg_fp()
1689 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn31_calculate_wm_and_dlg_fp()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn21/
Ddcn21_hubbub.c143 struct dcn_watermark_set *watermarks, in hubbub21_program_urgent_watermarks() argument
153 if (safe_to_lower || watermarks->a.urgent_ns > hubbub1->watermarks.a.urgent_ns) { in hubbub21_program_urgent_watermarks()
154 hubbub1->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub21_program_urgent_watermarks()
155 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub21_program_urgent_watermarks()
163 watermarks->a.urgent_ns, prog_wm_value); in hubbub21_program_urgent_watermarks()
164 } else if (watermarks->a.urgent_ns < hubbub1->watermarks.a.urgent_ns) in hubbub21_program_urgent_watermarks()
168 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub21_program_urgent_watermarks()
169 > hubbub1->watermarks.a.frac_urg_bw_flip) { in hubbub21_program_urgent_watermarks()
170 hubbub1->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub21_program_urgent_watermarks()
173 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub21_program_urgent_watermarks()
[all …]
Ddcn21_hubbub.h130 struct dcn_watermark_set *watermarks,
135 struct dcn_watermark_set *watermarks,
140 struct dcn_watermark_set *watermarks,
145 struct dcn_watermark_set *watermarks,
Ddcn21_resource.c1161 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.d, in dcn21_calculate_wm()
1166 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.c, in dcn21_calculate_wm()
1171 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.b, in dcn21_calculate_wm()
1177 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.a, in dcn21_calculate_wm()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_hubbub.c247 struct dcn_watermark_set *watermarks, in hubbub1_program_urgent_watermarks() argument
257 if (safe_to_lower || watermarks->a.urgent_ns > hubbub1->watermarks.a.urgent_ns) { in hubbub1_program_urgent_watermarks()
258 hubbub1->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub1_program_urgent_watermarks()
259 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub1_program_urgent_watermarks()
266 watermarks->a.urgent_ns, prog_wm_value); in hubbub1_program_urgent_watermarks()
267 } else if (watermarks->a.urgent_ns < hubbub1->watermarks.a.urgent_ns) in hubbub1_program_urgent_watermarks()
270 if (safe_to_lower || watermarks->a.pte_meta_urgent_ns > hubbub1->watermarks.a.pte_meta_urgent_ns) { in hubbub1_program_urgent_watermarks()
271 hubbub1->watermarks.a.pte_meta_urgent_ns = watermarks->a.pte_meta_urgent_ns; in hubbub1_program_urgent_watermarks()
272 prog_wm_value = convert_and_clamp(watermarks->a.pte_meta_urgent_ns, in hubbub1_program_urgent_watermarks()
277 watermarks->a.pte_meta_urgent_ns, prog_wm_value); in hubbub1_program_urgent_watermarks()
[all …]
Ddcn10_hubbub.h357 struct dcn_watermark_set watermarks; member
371 struct dcn_watermark_set *watermarks,
394 struct dcn_watermark_set *watermarks,
399 struct dcn_watermark_set *watermarks,
404 struct dcn_watermark_set *watermarks,
Ddcn10_hw_sequencer.c2910 &context->bw_ctx.bw.dcn.watermarks, in dcn10_prepare_bandwidth()
2943 &context->bw_ctx.bw.dcn.watermarks, in dcn10_optimize_bandwidth()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/calcs/
Ddcn_calcs.c564 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns =
566 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns =
568 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns =
570 context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = v->ptemeta_urgent_watermark * 1000;
571 context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = v->urgent_watermark * 1000;
578 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_exit_ns =
580 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns =
582 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.pstate_change_ns =
584 context->bw_ctx.bw.dcn.watermarks.c.pte_meta_urgent_ns = v->ptemeta_urgent_watermark * 1000;
585 context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = v->urgent_watermark * 1000;
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/
Dvg_clk_mgr.h30 struct watermarks;
33 struct watermarks *wm_set;
Dvg_clk_mgr.c398 static void vg_build_watermark_ranges(struct clk_bw_params *bw_params, struct watermarks *table) in vg_build_watermark_ranges()
458 struct watermarks *table = clk_mgr_vgh->smu_wm_set.wm_set; in vg_notify_wm_ranges()
707 static struct watermarks dummy_wms = { 0 };
750 clk_mgr->smu_wm_set.wm_set = (struct watermarks *)dm_helpers_allocate_gpu_mem( in vg_clk_mgr_construct()
753 sizeof(struct watermarks), in vg_clk_mgr_construct()
Ddcn301_smu.h129 struct watermarks { struct
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn30/
Ddcn30_hubbub.c98 struct dcn_watermark_set *watermarks, in hubbub3_program_watermarks() argument
105 if (hubbub21_program_urgent_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
108 if (hubbub21_program_stutter_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
111 if (hubbub21_program_pstate_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub3_program_watermarks()
379 uint32_t prog_wm_value = convert_and_clamp(hubbub1->watermarks.a.urgent_ns, in hubbub3_force_wm_propagate_to_pipes()
Ddcn30_resource.c2153 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn30_calculate_wm_and_dlg_fp()
2154 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn30_calculate_wm_and_dlg_fp()
2155 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn30_calculate_wm_and_dlg_fp()
2156 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn30_calculate_wm_and_dlg_fp()
2157 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn30_calculate_wm_and_dlg_fp()
2158 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn30_calculate_wm_and_dlg_fp()
2159 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn30_calculate_wm_and_dlg_fp()
2160 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn30_calculate_wm_and_dlg_fp()
2207 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn30_calculate_wm_and_dlg_fp()
2208 …context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn30_calculate_wm_and_dlg_fp()
[all …]
Ddcn30_hubbub.h127 struct dcn_watermark_set *watermarks,
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dcn20/
Ddcn20_hubbub.c573 struct dcn_watermark_set *watermarks, in hubbub2_program_watermarks() argument
583 if (hubbub1_program_urgent_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub2_program_watermarks()
586 if (hubbub1_program_stutter_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub2_program_watermarks()
598 hubbub1_program_pstate_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower); in hubbub2_program_watermarks()
Ddcn20_resource.c2994 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
2995 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
2996 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn20_calculate_wm()
2997 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn20_calculate_wm()
2998 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn20_calculate_wm()
2999 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn20_calculate_wm()
3000 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn20_calculate_wm()
3001 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn20_calculate_wm()
3008 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
3009 …context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
[all …]
Ddcn20_hubbub.h88 struct dcn_watermark_set watermarks; member
Ddcn20_hwseq.c1822 &context->bw_ctx.bw.dcn.watermarks, in dcn20_prepare_bandwidth()
1838 &context->bw_ctx.bw.dcn.watermarks, in dcn20_optimize_bandwidth()
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/inc/hw/
Ddchubbub.h150 struct dcn_watermark_set *watermarks,
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/inc/
Dcore_types.h419 struct dcn_watermark_set watermarks; member
/Linux-v5.15/drivers/gpu/drm/amd/pm/powerplay/hwmgr/
Dsmu_helper.h45 struct watermarks { struct
Dsmu7_hwmgr.c5277 struct dm_pp_wm_sets_with_clock_ranges *watermarks = in smu7_set_watermarks_for_clocks_ranges() local
5289 for (k = 0; k < watermarks->num_wm_sets; k++) { in smu7_set_watermarks_for_clocks_ranges()
5290 if (dep_sclk_table->entries[i].clk >= watermarks->wm_clk_ranges[k].wm_min_eng_clk_in_khz / 10 && in smu7_set_watermarks_for_clocks_ranges()
5291 dep_sclk_table->entries[i].clk < watermarks->wm_clk_ranges[k].wm_max_eng_clk_in_khz / 10 && in smu7_set_watermarks_for_clocks_ranges()
5292 dep_mclk_table->entries[i].clk >= watermarks->wm_clk_ranges[k].wm_min_mem_clk_in_khz / 10 && in smu7_set_watermarks_for_clocks_ranges()
5293 dep_mclk_table->entries[i].clk < watermarks->wm_clk_ranges[k].wm_max_mem_clk_in_khz / 10) { in smu7_set_watermarks_for_clocks_ranges()
5295 table->DisplayWatermark[i][j] = watermarks->wm_clk_ranges[k].wm_set_id; in smu7_set_watermarks_for_clocks_ranges()
5301 table->DisplayWatermark[i][j] = watermarks->wm_clk_ranges[k - 1].wm_set_id); in smu7_set_watermarks_for_clocks_ranges()
Dsmu_helper.c728 struct watermarks *table = wt_table; in smu_set_watermarks_for_clocks_ranges()
/Linux-v5.15/Documentation/admin-guide/sysctl/
Dvm.rst277 implies that the allocation will succeed as long as watermarks are met.
950 distances between watermarks are 0.1% of the available memory in the

12