/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn32/ |
A D | dcn32_hubbub.c | 181 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub32_program_urgent_watermarks() 190 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub32_program_urgent_watermarks() 206 hubbub2->watermarks.a.frac_urg_bw_nom = watermarks->a.frac_urg_bw_nom; in hubbub32_program_urgent_watermarks() 225 hubbub2->watermarks.b.urgent_ns = watermarks->b.urgent_ns; in hubbub32_program_urgent_watermarks() 234 } else if (watermarks->b.urgent_ns < hubbub2->watermarks.b.urgent_ns) in hubbub32_program_urgent_watermarks() 250 hubbub2->watermarks.b.frac_urg_bw_nom = watermarks->b.frac_urg_bw_nom; in hubbub32_program_urgent_watermarks() 269 hubbub2->watermarks.c.urgent_ns = watermarks->c.urgent_ns; in hubbub32_program_urgent_watermarks() 278 } else if (watermarks->c.urgent_ns < hubbub2->watermarks.c.urgent_ns) in hubbub32_program_urgent_watermarks() 294 hubbub2->watermarks.c.frac_urg_bw_nom = watermarks->c.frac_urg_bw_nom; in hubbub32_program_urgent_watermarks() 313 hubbub2->watermarks.d.urgent_ns = watermarks->d.urgent_ns; in hubbub32_program_urgent_watermarks() [all …]
|
A D | dcn32_hubbub.h | 181 struct dcn_watermark_set *watermarks, 187 struct dcn_watermark_set *watermarks, 193 struct dcn_watermark_set *watermarks, 199 struct dcn_watermark_set *watermarks,
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn31/ |
A D | dcn31_hubbub.c | 163 hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub31_program_urgent_watermarks() 172 } else if (watermarks->a.urgent_ns < hubbub2->watermarks.a.urgent_ns) in hubbub31_program_urgent_watermarks() 188 hubbub2->watermarks.a.frac_urg_bw_nom = watermarks->a.frac_urg_bw_nom; in hubbub31_program_urgent_watermarks() 207 hubbub2->watermarks.b.urgent_ns = watermarks->b.urgent_ns; in hubbub31_program_urgent_watermarks() 216 } else if (watermarks->b.urgent_ns < hubbub2->watermarks.b.urgent_ns) in hubbub31_program_urgent_watermarks() 232 hubbub2->watermarks.b.frac_urg_bw_nom = watermarks->b.frac_urg_bw_nom; in hubbub31_program_urgent_watermarks() 251 hubbub2->watermarks.c.urgent_ns = watermarks->c.urgent_ns; in hubbub31_program_urgent_watermarks() 260 } else if (watermarks->c.urgent_ns < hubbub2->watermarks.c.urgent_ns) in hubbub31_program_urgent_watermarks() 276 hubbub2->watermarks.c.frac_urg_bw_nom = watermarks->c.frac_urg_bw_nom; in hubbub31_program_urgent_watermarks() 295 hubbub2->watermarks.d.urgent_ns = watermarks->d.urgent_ns; in hubbub31_program_urgent_watermarks() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn21/ |
A D | dcn21_hubbub.c | 154 hubbub1->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub21_program_urgent_watermarks() 164 } else if (watermarks->a.urgent_ns < hubbub1->watermarks.a.urgent_ns) in hubbub21_program_urgent_watermarks() 170 hubbub1->watermarks.a.frac_urg_bw_flip = watermarks->a.frac_urg_bw_flip; in hubbub21_program_urgent_watermarks() 180 hubbub1->watermarks.a.frac_urg_bw_nom = watermarks->a.frac_urg_bw_nom; in hubbub21_program_urgent_watermarks() 199 hubbub1->watermarks.b.urgent_ns = watermarks->b.urgent_ns; in hubbub21_program_urgent_watermarks() 209 } else if (watermarks->b.urgent_ns < hubbub1->watermarks.b.urgent_ns) in hubbub21_program_urgent_watermarks() 225 hubbub1->watermarks.a.frac_urg_bw_nom = watermarks->a.frac_urg_bw_nom; in hubbub21_program_urgent_watermarks() 244 hubbub1->watermarks.c.urgent_ns = watermarks->c.urgent_ns; in hubbub21_program_urgent_watermarks() 254 } else if (watermarks->c.urgent_ns < hubbub1->watermarks.c.urgent_ns) in hubbub21_program_urgent_watermarks() 289 hubbub1->watermarks.d.urgent_ns = watermarks->d.urgent_ns; in hubbub21_program_urgent_watermarks() [all …]
|
A D | dcn21_hubbub.h | 130 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.3-rc2/drivers/gpu/drm/amd/display/dc/dcn10/ |
A D | dcn10_hubbub.c | 256 hubbub1->watermarks.a.urgent_ns = watermarks->a.urgent_ns; in hubbub1_program_urgent_watermarks() 265 } else if (watermarks->a.urgent_ns < hubbub1->watermarks.a.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() 281 hubbub1->watermarks.b.urgent_ns = watermarks->b.urgent_ns; in hubbub1_program_urgent_watermarks() 290 } else if (watermarks->b.urgent_ns < hubbub1->watermarks.b.urgent_ns) in hubbub1_program_urgent_watermarks() 294 hubbub1->watermarks.b.pte_meta_urgent_ns = watermarks->b.pte_meta_urgent_ns; in hubbub1_program_urgent_watermarks() 306 hubbub1->watermarks.c.urgent_ns = watermarks->c.urgent_ns; in hubbub1_program_urgent_watermarks() 315 } else if (watermarks->c.urgent_ns < hubbub1->watermarks.c.urgent_ns) in hubbub1_program_urgent_watermarks() 319 hubbub1->watermarks.c.pte_meta_urgent_ns = watermarks->c.pte_meta_urgent_ns; in hubbub1_program_urgent_watermarks() 331 hubbub1->watermarks.d.urgent_ns = watermarks->d.urgent_ns; in hubbub1_program_urgent_watermarks() [all …]
|
A D | dcn10_hubbub.h | 402 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,
|
/linux-6.3-rc2/mm/damon/ |
A D | sysfs-schemes.c | 532 if (!watermarks) in damon_sysfs_watermarks_alloc() 535 watermarks->metric = metric; in damon_sysfs_watermarks_alloc() 537 watermarks->high = high; in damon_sysfs_watermarks_alloc() 538 watermarks->mid = mid; in damon_sysfs_watermarks_alloc() 539 watermarks->low = low; in damon_sysfs_watermarks_alloc() 540 return watermarks; in damon_sysfs_watermarks_alloc() 568 watermarks->metric = metric; in metric_store() 1121 if (!watermarks) in damon_sysfs_scheme_set_watermarks() 1127 kobject_put(&watermarks->kobj); in damon_sysfs_scheme_set_watermarks() 1129 scheme->watermarks = watermarks; in damon_sysfs_scheme_set_watermarks() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn30/ |
A D | dcn30_fpu.c | 410 …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() 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() 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() 470 …context->bw_ctx.bw.dcn.watermarks.c.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn30_fpu_calculate_wm_and_dlg() 473 …context->bw_ctx.bw.dcn.watermarks.c.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn30_fpu_calculate_wm_and_dlg() 479 context->bw_ctx.bw.dcn.watermarks.a = context->bw_ctx.bw.dcn.watermarks.c; in dcn30_fpu_calculate_wm_and_dlg() 480 context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.pstate_change_ns = 0; in dcn30_fpu_calculate_wm_and_dlg() 489 …context->bw_ctx.bw.dcn.watermarks.a.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn30_fpu_calculate_wm_and_dlg() 496 …context->bw_ctx.bw.dcn.watermarks.a.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn30_fpu_calculate_wm_and_dlg() [all …]
|
/linux-6.3-rc2/Documentation/translations/zh_CN/admin-guide/mm/damon/ |
A D | usage.rst | 83 │ │ │ │ │ │ │ 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
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn31/ |
A D | dcn31_fpu.c | 513 …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() 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() 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() 523 context->bw_ctx.bw.dcn.watermarks.b = context->bw_ctx.bw.dcn.watermarks.a; in dcn31_calculate_wm_and_dlg_fp() 524 context->bw_ctx.bw.dcn.watermarks.c = context->bw_ctx.bw.dcn.watermarks.a; in dcn31_calculate_wm_and_dlg_fp() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/calcs/ |
A D | dcn_calcs.c | 566 context->bw_ctx.bw.dcn.watermarks.b.cstate_pstate.cstate_exit_ns = 580 context->bw_ctx.bw.dcn.watermarks.c.cstate_pstate.cstate_exit_ns = 601 context->bw_ctx.bw.dcn.watermarks.d.cstate_pstate.cstate_exit_ns = 621 context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.cstate_exit_ns = 625 context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.pstate_change_ns = 630 context->bw_ctx.bw.dcn.watermarks.b = context->bw_ctx.bw.dcn.watermarks.a; 631 context->bw_ctx.bw.dcn.watermarks.c = context->bw_ctx.bw.dcn.watermarks.a; 634 context->bw_ctx.bw.dcn.watermarks.d = context->bw_ctx.bw.dcn.watermarks.a; 1153 context->bw_ctx.bw.dcn.watermarks.b = context->bw_ctx.bw.dcn.watermarks.a; in dcn_validate_bandwidth() 1154 context->bw_ctx.bw.dcn.watermarks.c = context->bw_ctx.bw.dcn.watermarks.a; in dcn_validate_bandwidth() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn201/ |
A D | dcn201_hubbub.c | 55 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.3-rc2/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/ |
A D | vg_clk_mgr.h | 30 struct watermarks; 36 struct watermarks *wm_set;
|
A D | vg_clk_mgr.c | 388 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() 638 static struct watermarks dummy_wms = { 0 }; 681 clk_mgr->smu_wm_set.wm_set = (struct watermarks *)dm_helpers_allocate_gpu_mem( in vg_clk_mgr_construct() 684 sizeof(struct watermarks), in vg_clk_mgr_construct()
|
A D | dcn301_smu.h | 129 struct watermarks { struct
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn32/ |
A D | dcn32_fpu.c | 2019 …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() 2023 …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() 2026 …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() 2053 …context->bw_ctx.bw.dcn.watermarks.d.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn32_calculate_wm_and_dlg_fpu() 2057 …context->bw_ctx.bw.dcn.watermarks.d.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn32_calculate_wm_and_dlg_fpu() 2060 …context->bw_ctx.bw.dcn.watermarks.d.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn32_calculate_wm_and_dlg_fpu() 2113 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn32_calculate_wm_and_dlg_fpu() 2120 …context->bw_ctx.bw.dcn.watermarks.c.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn32_calculate_wm_and_dlg_fpu() 2133 context->bw_ctx.bw.dcn.watermarks.a = context->bw_ctx.bw.dcn.watermarks.c; in dcn32_calculate_wm_and_dlg_fpu() 2134 context->bw_ctx.bw.dcn.watermarks.a.cstate_pstate.pstate_change_ns = 0; in dcn32_calculate_wm_and_dlg_fpu() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn20/ |
A D | dcn20_fpu.c | 1688 …context->bw_ctx.bw.dcn.watermarks.b.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm() 1692 …context->bw_ctx.bw.dcn.watermarks.b.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn20_calculate_wm() 1695 …context->bw_ctx.bw.dcn.watermarks.b.urgent_latency_ns = get_urgent_latency(&context->bw_ctx.dml, p… in dcn20_calculate_wm() 1702 …context->bw_ctx.bw.dcn.watermarks.c.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm() 1706 …context->bw_ctx.bw.dcn.watermarks.c.pte_meta_urgent_ns = get_wm_memory_trip(&context->bw_ctx.dml, … in dcn20_calculate_wm() 1715 …context->bw_ctx.bw.dcn.watermarks.d.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm() 1726 …context->bw_ctx.bw.dcn.watermarks.a.urgent_ns = get_wm_urgent(&context->bw_ctx.dml, pipes, pipe_cn… in dcn20_calculate_wm() 2177 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.d, in dcn21_calculate_wm() 2182 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.c, in dcn21_calculate_wm() 2187 calculate_wm_set_for_vlevel(vlevel, table_entry, &context->bw_ctx.bw.dcn.watermarks.b, in dcn21_calculate_wm() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn30/ |
A D | dcn30_hubbub.c | 98 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.3-rc2/Documentation/admin-guide/mm/damon/ |
A D | lru_sort.rst | 40 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.
|
A D | reclaim.rst | 38 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
|
A D | usage.rst | 91 │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low 344 schemes/<N>/watermarks/ 362 - none: Ignore the watermarks 480 # echo free_mem_rate > watermarks/metric 481 # echo 5000000 > watermarks/interval_us 482 # echo 600 > watermarks/high 483 # echo 500 > watermarks/mid 484 # echo 300 > watermarks/low 613 <target access pattern> <action> <quota> <watermarks> 684 - 0: Ignore the watermarks [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn301/ |
A D | dcn301_fpu.c | 436 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.3-rc2/drivers/gpu/drm/amd/display/dc/dcn20/ |
A D | dcn20_hubbub.c | 573 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()
|
/linux-6.3-rc2/Documentation/ABI/testing/ |
A D | sysfs-kernel-mm-damon | 227 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 231 of the watermarks for the scheme. The writable/readable 232 keywords for this file are 'none' for disabling the watermarks 236 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 240 check interval of the watermarks for the scheme in 243 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 249 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 255 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
|