Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2016 13:18:57 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        freebsd-x11 <freebsd-x11@FreeBSD.org>
Subject:   basic power management for radeon
Message-ID:  <56DEB521.7000308@FreeBSD.org>

next in thread | raw e-mail | index | archive | help

https://people.freebsd.org/~avg/radeon-pm-profile.diff

This patch adds support for manually setting a power profile on supported Radeon
cards via a sysctl. Also, it adds reporting of some power management information
and a temperature reading.

Sample output:
hw.dri.0.modesetting: 1
hw.dri.0.busid: pci:0000:01:00.0
hw.dri.0.temperature: 51.6C
hw.dri.0.pm_info: default engine clock: 775000 kHz
current engine clock: 99990 kHz
default memory clock: 1000000 kHz
current memory clock: 1000000 kHz
voltage: 950 mV

hw.dri.0.power_method: profile

hw.dri.0.power_profile: low
hw.dri.0.vblank:
crtc ref count    last     enabled inmodeset
  00  00 01090494 00061323 01      00
  01  00 01090932 00061344 01      00
  02  01 00000001 00000000 01      03
  03  01 00000001 00000000 01      03
  04  01 00000001 00000000 01      03
  05  01 00000001 00000000 01      03
hw.dri.0.bufs:
hw.dri.0.clients:
a dev            pid   uid      magic     ioctls
y dri/card0     3028  1001          5     526990
y dri/card0     2121  1001          2    2012279
y dri/card0     1943     0          0     139848
y dri/card0     1919     0          0   20086433

hw.dri.0.vm:
slot offset             size       type flags address            mtrr

hw.dri.0.name: radeon 0x39 pci:0000:01:00.0

Only 'profile' method is supported (i.e. 'dynpm' is not) and 'auto' profile is
not supported.  So, the control is completely manual, which is not as good as
the automatic / dynamic control but is better than nothing.

The patch is generated against a somewhat old head tree, so it might not apply
cleanly on a more recent head or other branches.  The patch is somewhat
inconsistent in dealing with the Linux specific code, in some cases it is
converted to FreeBSD specific code, in others it's "forked".
The patch is rather trivial and it could use some cleaning up.

Hope that you find it useful.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56DEB521.7000308>