Home
last modified time | relevance | path

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

12

/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn32/
Ddcn32_hubbub.c149 struct dcn_watermark_set *watermarks, in hubbub32_program_urgent_watermarks() argument
159 if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) { in hubbub32_program_urgent_watermarks()
160 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub32_program_urgent_watermarks()
161 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub32_program_urgent_watermarks()
168 watermarks->a.urgent_ns, prog_wm_value); in hubbub32_program_urgent_watermarks()
169 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub32_program_urgent_watermarks()
173 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub32_program_urgent_watermarks()
174 > hubbub2->watermarks.a.frac_urg_bw_flip) { in hubbub32_program_urgent_watermarks()
175 hubbub2->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub32_program_urgent_watermarks()
178 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub32_program_urgent_watermarks()
[all …]
Ddcn32_hubbub.h166 struct dcn_watermark_set *watermarks,
172 struct dcn_watermark_set *watermarks,
178 struct dcn_watermark_set *watermarks,
184 struct dcn_watermark_set *watermarks,
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn31/
Ddcn31_hubbub.c152 struct dcn_watermark_set *watermarks, in hubbub31_program_urgent_watermarks() argument
162 if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) { in hubbub31_program_urgent_watermarks()
163 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub31_program_urgent_watermarks()
164 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub31_program_urgent_watermarks()
171 watermarks->a.urgent_ns, prog_wm_value); in hubbub31_program_urgent_watermarks()
172 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub31_program_urgent_watermarks()
176 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub31_program_urgent_watermarks()
177 > hubbub2->watermarks.a.frac_urg_bw_flip) { in hubbub31_program_urgent_watermarks()
178 hubbub2->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub31_program_urgent_watermarks()
181 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub31_program_urgent_watermarks()
[all …]
/linux-6.1.9/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,
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn10/
Ddcn10_hubbub.c245 struct dcn_watermark_set *watermarks, in hubbub1_program_urgent_watermarks() argument
255 if (safe_to_lower || watermarks->a.urgent_ns > hubbub1->watermarks.a.urgent_ns) { in hubbub1_program_urgent_watermarks()
256 hubbub1->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub1_program_urgent_watermarks()
257 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub1_program_urgent_watermarks()
264 watermarks->a.urgent_ns, prog_wm_value); in hubbub1_program_urgent_watermarks()
265 } else if (watermarks->a.urgent_ns < hubbub1->watermarks.a.urgent_ns) in hubbub1_program_urgent_watermarks()
268 if (safe_to_lower || watermarks->a.pte_meta_urgent_ns > hubbub1->watermarks.a.pte_meta_urgent_ns) { in hubbub1_program_urgent_watermarks()
269 hubbub1->watermarks.a.pte_meta_urgent_ns = watermarks->a.pte_meta_urgent_ns; in hubbub1_program_urgent_watermarks()
270 prog_wm_value = convert_and_clamp(watermarks->a.pte_meta_urgent_ns, in hubbub1_program_urgent_watermarks()
275 watermarks->a.pte_meta_urgent_ns, prog_wm_value); in hubbub1_program_urgent_watermarks()
[all …]
Ddcn10_hubbub.h390 struct dcn_watermark_set watermarks; member
404 struct dcn_watermark_set *watermarks,
427 struct dcn_watermark_set *watermarks,
432 struct dcn_watermark_set *watermarks,
437 struct dcn_watermark_set *watermarks,
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/dcn30/
Ddcn30_fpu.c410 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn30_fpu_calculate_wm_and_dlg()
411 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn30_fpu_calculate_wm_and_dlg()
412 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn30_fpu_calculate_wm_and_dlg()
413 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn30_fpu_calculate_wm_and_dlg()
414 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn30_fpu_calculate_wm_and_dlg()
415 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn30_fpu_calculate_wm_and_dlg()
416 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn30_fpu_calculate_wm_and_dlg()
417 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn30_fpu_calculate_wm_and_dlg()
466 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn30_fpu_calculate_wm_and_dlg()
467 …context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn30_fpu_calculate_wm_and_dlg()
[all …]
/linux-6.1.9/Documentation/translations/zh_CN/admin-guide/mm/damon/
Dusage.rst83 │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low
202 在每个方案目录中,存在四个目录(``access_pattern``, ``quotas``,``watermarks``,
246 schemes/<N>/watermarks/
302 # echo free_mem_rate > watermarks/metric
303 # echo 5000000 > watermarks/interval_us
304 # echo 600 > watermarks/high
305 # echo 500 > watermarks/mid
306 # echo 300 > watermarks/low
398 <target access pattern> <action> <quota> <watermarks>
485 # scheme+=" 1 5000000 600 500 300" # watermarks
/linux-6.1.9/mm/damon/
Dsysfs.c232 struct damon_sysfs_watermarks *watermarks = kmalloc( in damon_sysfs_watermarks_alloc() local
233 sizeof(*watermarks), GFP_KERNEL); in damon_sysfs_watermarks_alloc()
235 if (!watermarks) in damon_sysfs_watermarks_alloc()
237 watermarks->kobj = (struct kobject){}; in damon_sysfs_watermarks_alloc()
238 watermarks->metric = metric; in damon_sysfs_watermarks_alloc()
239 watermarks->interval_us = interval_us; in damon_sysfs_watermarks_alloc()
240 watermarks->high = high; in damon_sysfs_watermarks_alloc()
241 watermarks->mid = mid; in damon_sysfs_watermarks_alloc()
242 watermarks->low = low; in damon_sysfs_watermarks_alloc()
243 return watermarks; in damon_sysfs_watermarks_alloc()
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/dcn31/
Ddcn31_fpu.c513 …context->bw_ctx.bw.dcn.watermarks.a.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn31_calculate_wm_and_dlg_fp()
514 …context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn31_calculate_wm_and_dlg_fp()
515 …context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn31_calculate_wm_and_dlg_fp()
516 …context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn31_calculate_wm_and_dlg_fp()
517 …context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.cstate_enter_plus_exit_z8_ns = get_wm_z8_stutter… in dcn31_calculate_wm_and_dlg_fp()
518 …context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.cstate_exit_z8_ns = get_wm_z8_stutter_exit(&cont… in dcn31_calculate_wm_and_dlg_fp()
519 …context->bw_ctx.bw.dcn.watermarks.a.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn31_calculate_wm_and_dlg_fp()
520 …context->bw_ctx.bw.dcn.watermarks.a.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn31_calculate_wm_and_dlg_fp()
521 …context->bw_ctx.bw.dcn.watermarks.a.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn31_calculate_wm_and_dlg_fp()
522 …context->bw_ctx.bw.dcn.watermarks.a.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn31_calculate_wm_and_dlg_fp()
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/calcs/
Ddcn_calcs.c566 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns =
568 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns =
570 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns =
572 context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = v->ptemeta_urgent_watermark * 1000;
573 context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = v->urgent_watermark * 1000;
580 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_exit_ns =
582 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns =
584 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.pstate_change_ns =
586 context->bw_ctx.bw.dcn.watermarks.c.pte_meta_urgent_ns = v->ptemeta_urgent_watermark * 1000;
587 context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = v->urgent_watermark * 1000;
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn201/
Ddcn201_hubbub.c55 struct dcn_watermark_set *watermarks, in hubbub201_program_watermarks() argument
62 if (hubbub1_program_urgent_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub201_program_watermarks()
65 if (hubbub1_program_pstate_watermarks(hubbub, watermarks, refclk_mhz, safe_to_lower)) in hubbub201_program_watermarks()
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/
Dvg_clk_mgr.h30 struct watermarks;
36 struct watermarks *wm_set;
Dvg_clk_mgr.c388 static void vg_build_watermark_ranges(struct clk_bw_params *bw_params, struct watermarks *table) in vg_build_watermark_ranges()
448 struct watermarks *table = clk_mgr_vgh->smu_wm_set.wm_set; in vg_notify_wm_ranges()
621 static struct watermarks dummy_wms = { 0 };
664 clk_mgr->smu_wm_set.wm_set = (struct watermarks *)dm_helpers_allocate_gpu_mem( in vg_clk_mgr_construct()
667 sizeof(struct watermarks), in vg_clk_mgr_construct()
Ddcn301_smu.h129 struct watermarks { struct
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/dcn32/
Ddcn32_fpu.c1850 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn32_calculate_wm_and_dlg_fpu()
1851 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn32_calculate_wm_and_dlg_fpu()
1852 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn32_calculate_wm_and_dlg_fpu()
1853 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn32_calculate_wm_and_dlg_fpu()
1854 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn32_calculate_wm_and_dlg_fpu()
1855 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn32_calculate_wm_and_dlg_fpu()
1856 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn32_calculate_wm_and_dlg_fpu()
1857 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn32_calculate_wm_and_dlg_fpu()
1858 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.fclk_pstate_change_ns = get_fclk_watermark(&cont… in dcn32_calculate_wm_and_dlg_fpu()
1859 …context->bw_ctx.bw.dcn.watermarks.b.usr_retraining_ns = get_usr_retraining_watermark(&context->bw_… in dcn32_calculate_wm_and_dlg_fpu()
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/dcn20/
Ddcn20_fpu.c1642 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
1643 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
1644 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn20_calculate_wm()
1645 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn20_calculate_wm()
1646 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn20_calculate_wm()
1647 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn20_calculate_wm()
1648 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn20_calculate_wm()
1649 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn20_calculate_wm()
1656 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
1657 …context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
[all …]
/linux-6.1.9/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()
/linux-6.1.9/Documentation/admin-guide/mm/damon/
Dlru_sort.rst40 pressure watermarks.
68 no real monitoring and LRU-lists sorting due to the watermarks-based activation
69 condition. Refer to below descriptions for the watermarks parameter for this.
127 The watermarks check time interval in microseconds.
129 Minimal time to wait before checking the watermarks, when DAMON_LRU_SORT is
130 enabled but inactive due to its watermarks rule. 5 seconds by default.
139 watermarks. 200 (20%) by default.
157 watermarks. 50 (5%) by default.
Dreclaim.rst38 automatically activated and deactivated with three memory pressure watermarks.
60 no real monitoring and reclamation due to the watermarks-based activation
61 condition. Refer to below descriptions for the watermarks parameter for this.
123 Minimal time to wait before checking the watermarks, when DAMON_RECLAIM is
124 enabled but inactive due to its watermarks rule.
133 the watermarks.
151 watermarks. In the case, the system falls back to the LRU-list based page
Dusage.rst89 │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low
256 ``watermarks``, and ``stats``) and one file (``action``) exist.
311 schemes/<N>/watermarks/
315 status, DAMON provides a feature called watermarks. The feature receives five
322 Under the watermarks directory, five files (``metric``, ``interval_us``,
329 - none: Ignore the watermarks
381 # echo free_mem_rate > watermarks/metric
382 # echo 5000000 > watermarks/interval_us
383 # echo 600 > watermarks/high
384 # echo 500 > watermarks/mid
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/dcn301/
Ddcn301_fpu.c436 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.d, in dcn301_calculate_wm_and_dlg_fp()
441 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.c, in dcn301_calculate_wm_and_dlg_fp()
446 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.b, in dcn301_calculate_wm_and_dlg_fp()
452 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.a, in dcn301_calculate_wm_and_dlg_fp()
/linux-6.1.9/Documentation/ABI/testing/
Dsysfs-kernel-mm-damon223 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
227 of the watermarks for the scheme. The writable/readable
228 keywords for this file are 'none' for disabling the watermarks
232 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
236 check interval of the watermarks for the scheme in
239 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
245 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
251 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
/linux-6.1.9/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()

12