[Nouveau] [PATCH v5 00/20] Engine Reclocking Fixes for Fermi-Maxwell2

Karol Herbst karolherbst at gmail.com
Tue Aug 16 20:46:43 UTC 2016

I've splitted my big series between the part which actually fixes the
engine reclocking bits and the part handling voltage/clock updates on
temperature change, so that the more reviewed parts can be merged in

This series fixes a lot of Engine reclocking issues found on Fermi, Kepler
and all Maxwell generation GPUs. It does _not_ fix memory reclocking on

It mostly contains of simple fixes or simple patches without affecting
current code.

As a bonus point, it indeed enables memory and engine reclocking on maxwell1
GPUs (maxwell2 works, too, but it is currently a bit too messy to actually
do it, but it works).

Have fun.

Karol Herbst (20):
  clk: Fix potential NULL pointer access when there is no fb subdev
  fb/ramgk104: Touch 0x62c000 only when there is a display engine
  bios/volt: Handle voltage table version 0x50 with 0ed header
  volt: Properly detect entry based voltage tables
  clk: Don't create cstates with voltages higher than what the gpu can
  volt: Parse the max voltage map entries
  volt: Add min_id parameter to nvkm_volt_set_id
  clk: Add index field to nvkm_cstate
  clk: Let nvkm_clk_tstate take a temperature value
  volt: Add temperature parameter to nvkm_volt_map
  clk: Fixup cstate selection
  clk: Respect voltage limits in nvkm_cstate_prog
  bios: Add parsing of VPSTATE table
  clk: Allow boosting only when NvBoost is set
  volt: Don't require perfect fit
  bios/vmap: unk0 field is the mode
  volt: Add implementation for gf100
  volt/gf100-: Add speedo
  volt: Make use of cvb coefficients
  fb/ram: Use Kepler implementation on Maxwell

 drm/nouveau/include/nvkm/subdev/bios/vmap.h    |   5 +-
 drm/nouveau/include/nvkm/subdev/bios/volt.h    |   5 +-
 drm/nouveau/include/nvkm/subdev/bios/vpstate.h |  24 +++++
 drm/nouveau/include/nvkm/subdev/clk.h          |  18 +++-
 drm/nouveau/include/nvkm/subdev/volt.h         |  18 +++-
 drm/nouveau/nvkm/engine/device/base.c          |  17 +--
 drm/nouveau/nvkm/subdev/bios/Kbuild            |   1 +
 drm/nouveau/nvkm/subdev/bios/vmap.c            |  12 ++-
 drm/nouveau/nvkm/subdev/bios/volt.c            |  15 ++-
 drm/nouveau/nvkm/subdev/bios/vpstate.c         |  82 +++++++++++++++
 drm/nouveau/nvkm/subdev/clk/base.c             | 139 ++++++++++++++++++++++---
 drm/nouveau/nvkm/subdev/clk/gf100.c            |   2 +-
 drm/nouveau/nvkm/subdev/clk/gk104.c            |   2 +-
 drm/nouveau/nvkm/subdev/fb/ram.h               |   1 +
 drm/nouveau/nvkm/subdev/fb/ramgk104.c          |  24 ++++-
 drm/nouveau/nvkm/subdev/fb/ramgm107.c          |  12 +--
 drm/nouveau/nvkm/subdev/volt/Kbuild            |   1 +
 drm/nouveau/nvkm/subdev/volt/base.c            | 137 +++++++++++++++++++++---
 drm/nouveau/nvkm/subdev/volt/gf100.c           |  70 +++++++++++++
 drm/nouveau/nvkm/subdev/volt/gk104.c           |  21 ++++
 drm/nouveau/nvkm/subdev/volt/priv.h            |   4 +
 21 files changed, 544 insertions(+), 66 deletions(-)
 create mode 100644 drm/nouveau/include/nvkm/subdev/bios/vpstate.h
 create mode 100644 drm/nouveau/nvkm/subdev/bios/vpstate.c
 create mode 100644 drm/nouveau/nvkm/subdev/volt/gf100.c


More information about the Nouveau mailing list