drm/nouveau/clk/gk20a: set lowest frequency during init()
authorAlexandre Courbot <acourbot@nvidia.com>
Fri, 12 Feb 2016 07:59:16 +0000 (16:59 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 14 Mar 2016 00:13:55 +0000 (10:13 +1000)
Err on the safe side by setting the lowest frequency (and thus voltage)
during device init.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.c

index 4e92186..4bc72b1 100644 (file)
@@ -642,9 +642,12 @@ gk20a_clk_init(struct nvkm_clk *base)
        struct nvkm_device *device = subdev->device;
        int ret;
 
-       nvkm_mask(device, GPC2CLK_OUT, GPC2CLK_OUT_INIT_MASK, GPC2CLK_OUT_INIT_VAL);
+       nvkm_mask(device, GPC2CLK_OUT, GPC2CLK_OUT_INIT_MASK,
+                 GPC2CLK_OUT_INIT_VAL);
 
-       ret = gk20a_clk_prog(&clk->base);
+       /* Start with lowest frequency */
+       base->func->calc(base, &base->func->pstates[0].base);
+       ret = base->func->prog(&clk->base);
        if (ret) {
                nvkm_error(subdev, "cannot initialize clock\n");
                return ret;