123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- ===========================================
- GPU Power/Thermal Controls and Monitoring
- ===========================================
- HWMON Interfaces
- ================
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: hwmon
- GPU sysfs Power State Interfaces
- ================================
- GPU power controls are exposed via sysfs files.
- power_dpm_state
- ---------------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: power_dpm_state
- power_dpm_force_performance_level
- ---------------------------------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: power_dpm_force_performance_level
- pp_table
- --------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: pp_table
- pp_od_clk_voltage
- -----------------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: pp_od_clk_voltage
- pp_dpm_*
- --------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
- pp_power_profile_mode
- ---------------------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: pp_power_profile_mode
- \*_busy_percent
- ---------------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: gpu_busy_percent
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: mem_busy_percent
- gpu_metrics
- -----------
- .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
- :doc: gpu_metrics
- GFXOFF
- ======
- GFXOFF is a feature found in most recent GPUs that saves power at runtime. The
- card's RLC (RunList Controller) firmware powers off the gfx engine
- dynamically when there is no workload on gfx or compute pipes. GFXOFF is on by
- default on supported GPUs.
- Userspace can interact with GFXOFF through a debugfs interface (all values in
- `uint32_t`, unless otherwise noted):
- ``amdgpu_gfxoff``
- -----------------
- Use it to enable/disable GFXOFF, and to check if it's current enabled/disabled::
- $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff
- 01
- - Write 0 to disable it, and 1 to enable it.
- - Read 0 means it's disabled, 1 it's enabled.
- If it's enabled, that means that the GPU is free to enter into GFXOFF mode as
- needed. Disabled means that it will never enter GFXOFF mode.
- ``amdgpu_gfxoff_status``
- ------------------------
- Read it to check current GFXOFF's status of a GPU::
- $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff_status
- 02
- - 0: GPU is in GFXOFF state, the gfx engine is powered down.
- - 1: Transition out of GFXOFF state
- - 2: Not in GFXOFF state
- - 3: Transition into GFXOFF state
- If GFXOFF is enabled, the value will be transitioning around [0, 3], always
- getting into 0 when possible. When it's disabled, it's always at 2. Returns
- ``-EINVAL`` if it's not supported.
- ``amdgpu_gfxoff_count``
- -----------------------
- Read it to get the total GFXOFF entry count at the time of query since system
- power-up. The value is an `uint64_t` type, however, due to firmware limitations,
- it can currently overflow as an `uint32_t`. *Only supported in vangogh*
- ``amdgpu_gfxoff_residency``
- ---------------------------
- Write 1 to amdgpu_gfxoff_residency to start logging, and 0 to stop. Read it to
- get average GFXOFF residency % multiplied by 100 during the last logging
- interval. E.g. a value of 7854 means 78.54% of the time in the last logging
- interval the GPU was in GFXOFF mode. *Only supported in vangogh*
|