drm/nouveau: Introduce NvPmEnableGating option
authorLyude Paul <lyude@redhat.com>
Thu, 1 Feb 2018 18:13:59 +0000 (13:13 -0500)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 2 Feb 2018 05:24:10 +0000 (15:24 +1000)
This adds the NvPmEnableGating config option to nouveau, which can be
used to enable or disable clockgating for supported chipsets. Enabling
can be done by passing

config=NvPmEnableGating=1

To nouveau. If your chipset supports it, you'll see a message in your
kernel log indicating that clockgating is enabled. Since clockgating has
only had limited testing thus far, we leave this option disabled by
default for now.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c

index de07bc0..bf62303 100644 (file)
@@ -434,7 +434,9 @@ nvkm_therm_ctor(struct nvkm_therm *therm, struct nvkm_device *device,
        therm->attr_get = nvkm_therm_attr_get;
        therm->attr_set = nvkm_therm_attr_set;
        therm->mode = therm->suspend = -1; /* undefined */
-       therm->clkgating_enabled = false;
+
+       therm->clkgating_enabled = nvkm_boolopt(device->cfgopt,
+                                               "NvPmEnableGating", false);
 }
 
 int