Applied the series with some minor tweaks to the documentation. Thanks! Alex On Thu, Jul 14, 2022 at 3:18 PM André Almeida <andrealmeid@xxxxxxxxxx> wrote: > > Add a GFXOFF section at "GPU Power Controls" file, explaining what it is > and how userspace can interact with it. > > Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx> > --- > Changes from v1: file created > > Documentation/gpu/amdgpu/thermal.rst | 41 ++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/Documentation/gpu/amdgpu/thermal.rst b/Documentation/gpu/amdgpu/thermal.rst > index 8aeb0186c9ef..14c0fb874cf6 100644 > --- a/Documentation/gpu/amdgpu/thermal.rst > +++ b/Documentation/gpu/amdgpu/thermal.rst > @@ -63,3 +63,44 @@ gpu_metrics > > .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c > :doc: gpu_metrics > + > +GFXOFF > +====== > + > +GFXOFF is a feature found in some mobile GPUs that saves power consumption. The > +card's firmware uses RLC (RunList Controller) to power off the gfx engine > +dynamically when there is no workload on gfx pipe and puts gfx into "idle" > +state. GFXOFF is on by default on supported GPUs. > + > +Userspace can interact with GFXOFF through a debugfs interface: > + > +``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. > -- > 2.37.0 >