Hi,

This is a try to have some simple DVFS (Dynamic Voltage and Frequency Scaling)
support for GK20A. Instead of relying on other existing frequency scaling
framework, we create a simple subdev in Nouveau for the same purpose. That's
because we don't want to make the DVFS implementation for GK20A far more
than enough in the beginning and hinder the implementation for dGPU in the
future.

Thanks,
Vince

Vince Hsu (3):
  clk: allow non-blocking for nouveau_clock_astate()
  dvfs: add support for GK20A
  clk: allow users to enable auto mode when loading driver

 drm/Kbuild                     |   2 +
 drm/core/include/subdev/dvfs.h |   1 +
 drm/core/subdev/dvfs/base.c    |   1 +
 drm/core/subdev/dvfs/gk20a.c   |   1 +
 drm/core/subdev/dvfs/priv.h    |   1 +
 nvkm/engine/device/nve0.c      |   2 +
 nvkm/include/core/device.h     |   1 +
 nvkm/include/subdev/clock.h    |   2 +-
 nvkm/include/subdev/dvfs.h     |  30 ++++++++
 nvkm/subdev/Makefile.am        |   5 +-
 nvkm/subdev/clock/base.c       |   7 +-
 nvkm/subdev/dvfs/Makefile.am   |   6 ++
 nvkm/subdev/dvfs/base.c        | 129 ++++++++++++++++++++++++++++++++++
 nvkm/subdev/dvfs/gk20a.c       | 156 +++++++++++++++++++++++++++++++++++++++++
 nvkm/subdev/dvfs/priv.h        |  43 ++++++++++++
 15 files changed, 382 insertions(+), 5 deletions(-)
 create mode 120000 drm/core/include/subdev/dvfs.h
 create mode 120000 drm/core/subdev/dvfs/base.c
 create mode 120000 drm/core/subdev/dvfs/gk20a.c
 create mode 120000 drm/core/subdev/dvfs/priv.h
 create mode 100644 nvkm/include/subdev/dvfs.h
 create mode 100644 nvkm/subdev/dvfs/Makefile.am
 create mode 100644 nvkm/subdev/dvfs/base.c
 create mode 100644 nvkm/subdev/dvfs/gk20a.c
 create mode 100644 nvkm/subdev/dvfs/priv.h

-- 
1.9.1

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to