aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarol Herbst <nouveau@karolherbst.de>2015-09-15 12:49:08 -0400
committerBen Skeggs <bskeggs@redhat.com>2016-01-10 20:30:22 -0500
commitd3b378c09c7b81e9005c2118343f8b7feeaaca8b (patch)
tree489fc7295f9342854eea50d34146c25042d39454
parentc6e2f9bc0367c0e5c734bf8b3ab1ee097977f1e2 (diff)
drm/nouveau/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--drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h3
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h
index 22e125fdc29b..6b33bc058924 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h
@@ -2,6 +2,7 @@
2#define __NVKM_CLK_H__ 2#define __NVKM_CLK_H__
3#include <core/subdev.h> 3#include <core/subdev.h>
4#include <core/notify.h> 4#include <core/notify.h>
5#include <subdev/pci.h>
5struct nvbios_pll; 6struct nvbios_pll;
6struct nvkm_pll_vals; 7struct nvkm_pll_vals;
7 8
@@ -59,6 +60,8 @@ struct nvkm_pstate {
59 struct nvkm_cstate base; 60 struct nvkm_cstate base;
60 u8 pstate; 61 u8 pstate;
61 u8 fanspeed; 62 u8 fanspeed;
63 enum nvkm_pcie_speed pcie_speed;
64 u8 pcie_width;
62}; 65};
63 66
64struct nvkm_domain { 67struct nvkm_domain {
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
index dc8682c91cc7..c769aff04531 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
@@ -330,6 +330,8 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
330 330
331 pstate->pstate = perfE.pstate; 331 pstate->pstate = perfE.pstate;
332 pstate->fanspeed = perfE.fanspeed; 332 pstate->fanspeed = perfE.fanspeed;
333 pstate->pcie_speed = perfE.pcie_speed;
334 pstate->pcie_width = perfE.pcie_width;
333 cstate->voltage = perfE.voltage; 335 cstate->voltage = perfE.voltage;
334 cstate->domain[nv_clk_src_core] = perfE.core; 336 cstate->domain[nv_clk_src_core] = perfE.core;
335 cstate->domain[nv_clk_src_shader] = perfE.shader; 337 cstate->domain[nv_clk_src_shader] = perfE.shader;