summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Herbst <nouveau@karolherbst.de>2015-09-15 18:49:08 +0200
committerBen Skeggs <bskeggs@redhat.com>2016-01-11 11:15:11 +1000
commitc35fdd711e2260df2cb885903992f360277021b4 (patch)
tree128c9358a4e7a6c4f0bb861a4c0099f05ce62439
parent4c5f6082f29c20924e2c687e4c3ee1f6df721a44 (diff)
downloadnouveau-c35fdd711e2260df2cb885903992f360277021b4.tar.gz
perf: add fields for pci speed and width and use it for the pstates
Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
-rw-r--r--drm/nouveau/include/nvkm/subdev/clk.h3
-rw-r--r--drm/nouveau/nvkm/subdev/clk/base.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/drm/nouveau/include/nvkm/subdev/clk.h b/drm/nouveau/include/nvkm/subdev/clk.h
index 22e125fdc..6b33bc058 100644
--- a/drm/nouveau/include/nvkm/subdev/clk.h
+++ b/drm/nouveau/include/nvkm/subdev/clk.h
@@ -2,6 +2,7 @@
#define __NVKM_CLK_H__
#include <core/subdev.h>
#include <core/notify.h>
+#include <subdev/pci.h>
struct nvbios_pll;
struct nvkm_pll_vals;
@@ -59,6 +60,8 @@ struct nvkm_pstate {
struct nvkm_cstate base;
u8 pstate;
u8 fanspeed;
+ enum nvkm_pcie_speed pcie_speed;
+ u8 pcie_width;
};
struct nvkm_domain {
diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c
index dc8682c91..c769aff04 100644
--- a/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drm/nouveau/nvkm/subdev/clk/base.c
@@ -330,6 +330,8 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
pstate->pstate = perfE.pstate;
pstate->fanspeed = perfE.fanspeed;
+ pstate->pcie_speed = perfE.pcie_speed;
+ pstate->pcie_width = perfE.pcie_width;
cstate->voltage = perfE.voltage;
cstate->domain[nv_clk_src_core] = perfE.core;
cstate->domain[nv_clk_src_shader] = perfE.shader;