Răsfoiți Sursa

drm/nouveau/perf: change pcie speed on pstate change

v2: remove error and only set link for pcie devices
v6: remove check for pcie device

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Karol Herbst 10 ani în urmă
părinte
comite
f68f4c960a
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c

+ 3 - 0
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c

@@ -176,6 +176,7 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
 {
 	struct nvkm_subdev *subdev = &clk->subdev;
 	struct nvkm_ram *ram = subdev->device->fb->ram;
+	struct nvkm_pci *pci = subdev->device->pci;
 	struct nvkm_pstate *pstate;
 	int ret, idx = 0;
 
@@ -187,6 +188,8 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
 	nvkm_debug(subdev, "setting performance state %d\n", pstatei);
 	clk->pstate = pstatei;
 
+	nvkm_pcie_set_link(pci, pstate->pcie_speed, pstate->pcie_width);
+
 	if (ram && ram->func->calc) {
 		int khz = pstate->base.domain[nv_clk_src_mem];
 		do {