aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarol Herbst <nouveau@karolherbst.de>2015-09-15 12:49:32 -0400
committerBen Skeggs <bskeggs@redhat.com>2016-01-10 20:30:23 -0500
commitf68f4c960a3f39bf1ca30313f690486361639745 (patch)
tree0e90f604a6b50fe0d9a1ed897bc6c0f8d6abe417
parentd3b378c09c7b81e9005c2118343f8b7feeaaca8b (diff)
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>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
index c769aff04531..889cce2eb727 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
@@ -176,6 +176,7 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
176{ 176{
177 struct nvkm_subdev *subdev = &clk->subdev; 177 struct nvkm_subdev *subdev = &clk->subdev;
178 struct nvkm_ram *ram = subdev->device->fb->ram; 178 struct nvkm_ram *ram = subdev->device->fb->ram;
179 struct nvkm_pci *pci = subdev->device->pci;
179 struct nvkm_pstate *pstate; 180 struct nvkm_pstate *pstate;
180 int ret, idx = 0; 181 int ret, idx = 0;
181 182
@@ -187,6 +188,8 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
187 nvkm_debug(subdev, "setting performance state %d\n", pstatei); 188 nvkm_debug(subdev, "setting performance state %d\n", pstatei);
188 clk->pstate = pstatei; 189 clk->pstate = pstatei;
189 190
191 nvkm_pcie_set_link(pci, pstate->pcie_speed, pstate->pcie_width);
192
190 if (ram && ram->func->calc) { 193 if (ram && ram->func->calc) {
191 int khz = pstate->base.domain[nv_clk_src_mem]; 194 int khz = pstate->base.domain[nv_clk_src_mem];
192 do { 195 do {