Home
last modified time | relevance | path

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

12

/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn32/
H A Ddcn32_hubbub.c170 struct dcn_watermark_set *watermarks, in hubbub32_program_urgent_watermarks() argument
180 if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) { in hubbub32_program_urgent_watermarks()
181 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub32_program_urgent_watermarks()
182 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub32_program_urgent_watermarks()
189 watermarks->a.urgent_ns, prog_wm_value); in hubbub32_program_urgent_watermarks()
190 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub32_program_urgent_watermarks()
194 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub32_program_urgent_watermarks()
195 > hubbub2->watermarks.a.frac_urg_bw_flip) { in hubbub32_program_urgent_watermarks()
196 hubbub2->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub32_program_urgent_watermarks()
199 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub32_program_urgent_watermarks()
[all …]
H A Ddcn32_hubbub.h119 struct dcn_watermark_set *watermarks,
125 struct dcn_watermark_set *watermarks,
131 struct dcn_watermark_set *watermarks,
137 struct dcn_watermark_set *watermarks,
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn31/
H A Ddcn31_hubbub.c153 struct dcn_watermark_set *watermarks, in hubbub31_program_urgent_watermarks() argument
163 if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) { in hubbub31_program_urgent_watermarks()
164 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub31_program_urgent_watermarks()
165 prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns, in hubbub31_program_urgent_watermarks()
172 watermarks->a.urgent_ns, prog_wm_value); in hubbub31_program_urgent_watermarks()
173 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub31_program_urgent_watermarks()
177 if (safe_to_lower || watermarks->a.frac_urg_bw_flip in hubbub31_program_urgent_watermarks()
178 > hubbub2->watermarks.a.frac_urg_bw_flip) { in hubbub31_program_urgent_watermarks()
179 hubbub2->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub31_program_urgent_watermarks()
182 DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A, watermarks->a.frac_urg_bw_flip); in hubbub31_program_urgent_watermarks()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn21/
H A 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 …]
H A 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,
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn10/
H A 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 …]
H A Ddcn10_hubbub.h402 struct dcn_watermark_set watermarks; member
416 struct dcn_watermark_set *watermarks,
439 struct dcn_watermark_set *watermarks,
444 struct dcn_watermark_set *watermarks,
449 struct dcn_watermark_set *watermarks,
/openbmc/linux/mm/damon/
H A Dsysfs-schemes.c620 struct damon_sysfs_watermarks *watermarks = kmalloc( in damon_sysfs_watermarks_alloc() local
621 sizeof(*watermarks), GFP_KERNEL); in damon_sysfs_watermarks_alloc()
623 if (!watermarks) in damon_sysfs_watermarks_alloc()
625 watermarks->kobj = (struct kobject){}; in damon_sysfs_watermarks_alloc()
626 watermarks->metric = metric; in damon_sysfs_watermarks_alloc()
627 watermarks->interval_us = interval_us; in damon_sysfs_watermarks_alloc()
628 watermarks->high = high; in damon_sysfs_watermarks_alloc()
629 watermarks->mid = mid; in damon_sysfs_watermarks_alloc()
630 watermarks->low = low; in damon_sysfs_watermarks_alloc()
631 return watermarks; in damon_sysfs_watermarks_alloc()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn30/
H A Ddcn30_fpu.c441 …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()
442 …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()
443 …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()
444 …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()
445 …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()
446 …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()
447 …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()
448 …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()
511 …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()
512 …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 …]
/openbmc/linux/Documentation/translations/zh_CN/admin-guide/mm/damon/
H A Dusage.rst83 │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low
211 在每个方案目录中,存在五个目录(``access_pattern``、``quotas``、``watermarks``、
255 schemes/<N>/watermarks/
329 # echo free_mem_rate > watermarks/metric
330 # echo 5000000 > watermarks/interval_us
331 # echo 600 > watermarks/high
332 # echo 500 > watermarks/mid
333 # echo 300 > watermarks/low
430 <target access pattern> <action> <quota> <watermarks>
517 # scheme+=" 1 5000000 600 500 300" # watermarks
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn31/
H A Ddcn31_fpu.c515 …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()
516 …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()
517 …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()
518 …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()
519 …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()
520 …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()
521 …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()
522 …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()
523 …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()
524 …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 …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/calcs/
H A 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 …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn201/
H A 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()
/openbmc/linux/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/
H A Dvg_clk_mgr.h30 struct watermarks;
36 struct watermarks *wm_set;
H A Dvg_clk_mgr.c386 static void vg_build_watermark_ranges(struct clk_bw_params *bw_params, struct watermarks *table) in vg_build_watermark_ranges()
446 struct watermarks *table = clk_mgr_vgh->smu_wm_set.wm_set; in vg_notify_wm_ranges()
636 static struct watermarks dummy_wms = { 0 };
680 clk_mgr->smu_wm_set.wm_set = (struct watermarks *)dm_helpers_allocate_gpu_mem( in vg_clk_mgr_construct()
683 sizeof(struct watermarks), in vg_clk_mgr_construct()
H A Ddcn301_smu.h129 struct watermarks { struct
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn20/
H A Ddcn20_fpu.c1792 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
1793 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
1794 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = get_wm_stutter_exit(&context->b… in dcn20_calculate_wm()
1795 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.pstate_change_ns = get_wm_dram_clock_change(&con… in dcn20_calculate_wm()
1796 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn20_calculate_wm()
1797 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_nom = get_fraction_of_urgent_bandwidth(&context->b… in dcn20_calculate_wm()
1798 …context->bw_ctx.bw.dcn.watermarks.b.frac_urg_bw_flip = get_fraction_of_urgent_bandwidth_imm_flip(&… in dcn20_calculate_wm()
1799 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn20_calculate_wm()
1806 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm()
1807 …context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_enter_plus_exit_ns = get_wm_stutter_enter… in dcn20_calculate_wm()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/
H A 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()
/openbmc/linux/Documentation/admin-guide/mm/damon/
H A 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.
H A 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
H A Dusage.rst86 │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low
273 ``watermarks``, ``filters``, ``stats``, and ``tried_regions``) and one file
336 schemes/<N>/watermarks/
339 The directory for the :ref:`watermarks <damon_design_damos_watermarks>` of the
342 Under the watermarks directory, five files (``metric``, ``interval_us``,
344 between check of the metric, and the three watermarks exist. You can set and
350 - none: Ignore the watermarks
488 # echo free_mem_rate > watermarks/metric
489 # echo 5000000 > watermarks/interval_us
490 # echo 600 > watermarks/high
[all …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn32/
H A Ddcn32_fpu.c2092 …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()
2093 …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()
2094 …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()
2095 …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()
2096 …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()
2097 …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()
2098 …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()
2099 …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()
2100 …context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.fclk_pstate_change_ns = get_fclk_watermark(&cont… in dcn32_calculate_wm_and_dlg_fpu()
2101 …context->bw_ctx.bw.dcn.watermarks.b.usr_retraining_ns = get_usr_retraining_watermark(&context->bw_… in dcn32_calculate_wm_and_dlg_fpu()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn301/
H A Ddcn301_fpu.c434 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.d, in dcn301_calculate_wm_and_dlg_fp()
439 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.c, in dcn301_calculate_wm_and_dlg_fp()
444 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.b, in dcn301_calculate_wm_and_dlg_fp()
450 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.a, in dcn301_calculate_wm_and_dlg_fp()
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/
H A 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()
/openbmc/linux/Documentation/ABI/testing/
H A Dsysfs-kernel-mm-damon229 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
233 of the watermarks for the scheme. The writable/readable
234 keywords for this file are 'none' for disabling the watermarks
238 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
242 check interval of the watermarks for the scheme in
245 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
251 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
257 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low

12