[Nouveau] [PATCH 0/4] PMU engine counters
Karol Herbst
nouveau at karolherbst.de
Mon Feb 8 12:43:14 CET 2016
these are usually used for dynamic reclocking on gt215 and newer
The counters are used to get the load of the core, memory, video and pcie loads
currently I expose the loads through a debugfs "current_load" file, but I want
to move that to nvif and just add a wrapper around that in debugfs for
convenience
Anyway there are still some issues I would like to discuss:
1. currently the value rangeof the values is 0-0xff
I choosed to do this to simplify the code on the pmu, but 0-0xffff is also
easy to do. Higher accuracy would involve doing more PMU requests and it
would make the code bigger in size with no real benefit
2. Because these counters are used for dynamic reclocking, these can't be
reconfigured at runtime. This means we have to fill slots with meaningfull
configurations. On [GT215-GF100) we have only 4 slots, which means we can't
do much with them anyway. Since GF100 there are 8 slots, leaving 3 for other
stuff we might want to add to decide better on new clocks
3. I want to expose those loads through NVIF, but I don't have a good idea how
to do that. Anyway the debugfs file will be a wrapper around the nvif stuff
then for convenience
Karol Herbst (4):
subdev/pmu/fuc: add gk104
pmu/fuc: add macros for pdaemon pwr counters
subdev/pmu/fuc: implement counter readout
nouveau/debugfs: add interface for current load
drm/nouveau/include/nvif/device.h | 1 +
drm/nouveau/include/nvkm/subdev/pmu.h | 10 +
drm/nouveau/nouveau_debugfs.c | 24 +
drm/nouveau/nvkm/subdev/pmu/base.c | 18 +
drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h | 401 +++---
drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h | 735 +++++-----
drm/nouveau/nvkm/subdev/pmu/fuc/gk104.fuc4 | 70 +
drm/nouveau/nvkm/subdev/pmu/fuc/gk104.fuc4.h | 1866 ++++++++++++++++++++++++++
drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h | 713 +++++-----
drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h | 730 ++++++----
drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc | 25 +
drm/nouveau/nvkm/subdev/pmu/fuc/os.h | 4 +
drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc | 137 ++
drm/nouveau/nvkm/subdev/pmu/gk104.c | 4 +-
drm/nouveau/nvkm/subdev/pmu/gk110.c | 6 +-
15 files changed, 3626 insertions(+), 1118 deletions(-)
create mode 100644 drm/nouveau/nvkm/subdev/pmu/fuc/gk104.fuc4
create mode 100644 drm/nouveau/nvkm/subdev/pmu/fuc/gk104.fuc4.h
--
2.7.1
More information about the Nouveau
mailing list