Browse Source

drm/nouveau/perf: add fields for pci speed and width and use it for the pstates

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Karol Herbst 10 năm trước cách đây
mục cha
commit
d3b378c09c

+ 3 - 0
drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h

@@ -2,6 +2,7 @@
 #define __NVKM_CLK_H__
 #define __NVKM_CLK_H__
 #include <core/subdev.h>
 #include <core/subdev.h>
 #include <core/notify.h>
 #include <core/notify.h>
+#include <subdev/pci.h>
 struct nvbios_pll;
 struct nvbios_pll;
 struct nvkm_pll_vals;
 struct nvkm_pll_vals;
 
 
@@ -59,6 +60,8 @@ struct nvkm_pstate {
 	struct nvkm_cstate base;
 	struct nvkm_cstate base;
 	u8 pstate;
 	u8 pstate;
 	u8 fanspeed;
 	u8 fanspeed;
+	enum nvkm_pcie_speed pcie_speed;
+	u8 pcie_width;
 };
 };
 
 
 struct nvkm_domain {
 struct nvkm_domain {

+ 2 - 0
drivers/gpu/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->pstate = perfE.pstate;
 	pstate->fanspeed = perfE.fanspeed;
 	pstate->fanspeed = perfE.fanspeed;
+	pstate->pcie_speed = perfE.pcie_speed;
+	pstate->pcie_width = perfE.pcie_width;
 	cstate->voltage = perfE.voltage;
 	cstate->voltage = perfE.voltage;
 	cstate->domain[nv_clk_src_core] = perfE.core;
 	cstate->domain[nv_clk_src_core] = perfE.core;
 	cstate->domain[nv_clk_src_shader] = perfE.shader;
 	cstate->domain[nv_clk_src_shader] = perfE.shader;