drm/nouveau/pm: hook up fanspeed get/set if they're present

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/drivers/gpu/drm/nouveau/nouveau_pm.c b/drivers/gpu/drm/nouveau/nouveau_pm.c
index a539fd2..607e496 100644
--- a/drivers/gpu/drm/nouveau/nouveau_pm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_pm.c
@@ -64,6 +64,12 @@
 	if (perflvl == pm->cur)
 		return 0;
 
+	if (pm->fanspeed_set && perflvl->fanspeed) {
+		ret = pm->fanspeed_set(dev, perflvl->fanspeed);
+		if (ret)
+			NV_ERROR(dev, "set fanspeed failed: %d\n", ret);
+	}
+
 	if (pm->voltage.supported && pm->voltage_set && perflvl->volt_min) {
 		ret = pm->voltage_set(dev, perflvl->volt_min);
 		if (ret) {
@@ -161,6 +167,9 @@
 		}
 	}
 
+	if (pm->fanspeed_get)
+		perflvl->fanspeed = pm->fanspeed_get(dev);
+
 	return 0;
 }