[Nouveau] [PATCH v2 00/22] Volting/Clocking improvements for Fermi and newer

Karol Herbst nouveau at karolherbst.de
Mon Mar 21 16:16:18 UTC 2016


This series fixes most of the issues regarding volting on GPUs with any form
of GPU Boost inside their vbios, which is mainly Kepler and newer, but we find
some boosting related tables in Fermi vbios' already

In the end reclocking should work on most Kepler cards without any issues

v2: boost_mode can now be changed at runtime
    minor fixups

Karol Herbst (22):
  bios/volt: handle voltage table version 0x50 with 0ed header
  volt: properly detect entry based voltage tables
  volt: save the voltage range we are able to set
  volt: add nvkm_volt_map_min function
  clk: don't create cstates which voltage is higher than what the gpu
    can do
  volt: parse the both max voltage entries
  volt: add min_id parameter to nvkm_volt_set_id
  clk: export nvkm_volt_map
  clk: add index field to nvkm_cstate
  add daemon to compare nouveau with blob voltage
  volt: add temperature parameter to nvkm_volt_map
  clk: fixup cstate selection
  clk: respect voltage limits in nvkm_cstate_prog with cstate = -1
  bios: add parsing of BASE CLOCK table
  clk: allow boosting only when NvBoost is set
  volt: don't require perfect fit
  bios/vmap: unk0 field is the mode
  volt: add coefficients I found on my gpu
  clk: save the max clock we can set
  clk: add nvkm_clk_reclock function
  nvif: add boost info and set operations
  debugfs: add boost interface to change the boost_mode

 bin/nv_cmp_volt.c                                | 130 +++++++++++++++++++++
 drm/nouveau/include/nvif/if0001.h                |  15 +++
 drm/nouveau/include/nvkm/subdev/bios/baseclock.h |  24 ++++
 drm/nouveau/include/nvkm/subdev/bios/vmap.h      |   4 +-
 drm/nouveau/include/nvkm/subdev/bios/volt.h      |   5 +-
 drm/nouveau/include/nvkm/subdev/clk.h            |  12 +-
 drm/nouveau/include/nvkm/subdev/volt.h           |   9 +-
 drm/nouveau/nouveau_debugfs.c                    |  76 ++++++++++++
 drm/nouveau/nvkm/engine/device/ctrl.c            |  59 ++++++++++
 drm/nouveau/nvkm/subdev/bios/Kbuild              |   1 +
 drm/nouveau/nvkm/subdev/bios/baseclock.c         |  82 +++++++++++++
 drm/nouveau/nvkm/subdev/bios/vmap.c              |   7 +-
 drm/nouveau/nvkm/subdev/bios/volt.c              |  45 +++++---
 drm/nouveau/nvkm/subdev/clk/base.c               | 131 +++++++++++++++++++--
 drm/nouveau/nvkm/subdev/clk/gf100.c              |   2 +-
 drm/nouveau/nvkm/subdev/clk/gk104.c              |   2 +-
 drm/nouveau/nvkm/subdev/volt/base.c              | 141 +++++++++++++++++++++--
 17 files changed, 696 insertions(+), 49 deletions(-)
 create mode 100644 bin/nv_cmp_volt.c
 create mode 100644 drm/nouveau/include/nvkm/subdev/bios/baseclock.h
 create mode 100644 drm/nouveau/nvkm/subdev/bios/baseclock.c

-- 
2.7.4



More information about the Nouveau mailing list