[Nouveau] [PATCH v2 0/4] Suppor for various power sensors on GF100+

Karol Herbst nouveau at karolherbst.de
Fri Feb 19 01:01:34 UTC 2016


This is a complete rework from the last version I sent out.

Now the implementation is more centered around the power_rails we find in the
SENSE table instead of extdev centered. This makes the implementation a lot
easier and straightforward.

I've added support for the INA219, INA209 and INA3221 sensors found on multiple
Fermi and Kepler cards, but only the INA3221 bits are tested so far.

The power consumption is also exported via hwmon, so "sensors" will be able to
print it in userspace.

I am pretty sure I got the INA2X9 bits right, but somebody should check if it's
working on his card.

This work is based on Martins initial power sensor work and most of the ground
work was just copied from him.

Happy testing

Karol Herbst (2):
  iccsense: implement for ina209, ina219 and ina3221
  hwmon: add power consumption

Martin Peres (2):
  subdev/iccsense: add new subdev for power sensors
  nvbios/iccsense: add parsing of the SENSE table

 drm/nouveau/include/nvif/device.h               |   1 +
 drm/nouveau/include/nvkm/core/device.h          |  83 +++++-----
 drm/nouveau/include/nvkm/subdev/bios/extdev.h   |   3 +
 drm/nouveau/include/nvkm/subdev/bios/iccsense.h |  16 ++
 drm/nouveau/include/nvkm/subdev/i2c.h           |  16 ++
 drm/nouveau/include/nvkm/subdev/iccsense.h      |  15 ++
 drm/nouveau/nouveau_hwmon.c                     |  39 +++++
 drm/nouveau/nvkm/core/subdev.c                  |  83 +++++-----
 drm/nouveau/nvkm/engine/device/base.c           | 143 +++++++++--------
 drm/nouveau/nvkm/engine/device/priv.h           |   1 +
 drm/nouveau/nvkm/subdev/Kbuild                  |   1 +
 drm/nouveau/nvkm/subdev/bios/Kbuild             |   1 +
 drm/nouveau/nvkm/subdev/bios/iccsense.c         |  95 +++++++++++
 drm/nouveau/nvkm/subdev/iccsense/Kbuild         |   2 +
 drm/nouveau/nvkm/subdev/iccsense/base.c         | 200 ++++++++++++++++++++++++
 drm/nouveau/nvkm/subdev/iccsense/gf100.c        |  31 ++++
 drm/nouveau/nvkm/subdev/iccsense/priv.h         |  16 ++
 17 files changed, 604 insertions(+), 142 deletions(-)
 create mode 100644 drm/nouveau/include/nvkm/subdev/bios/iccsense.h
 create mode 100644 drm/nouveau/include/nvkm/subdev/iccsense.h
 create mode 100644 drm/nouveau/nvkm/subdev/bios/iccsense.c
 create mode 100644 drm/nouveau/nvkm/subdev/iccsense/Kbuild
 create mode 100644 drm/nouveau/nvkm/subdev/iccsense/base.c
 create mode 100644 drm/nouveau/nvkm/subdev/iccsense/gf100.c
 create mode 100644 drm/nouveau/nvkm/subdev/iccsense/priv.h

-- 
2.7.1



More information about the Nouveau mailing list