From: Ben Skeggs <bskeggs@redhat.com>
Date: Thu, 28 Jul 2011 01:01:21 +0000 (+1000)
Subject: drm/nouveau/pm: hook up fanspeed get/set if they're present
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=771e1035b9bfdb0c3f0e34bd281d73b721a10adb;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

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 a539fd257921..607e4965f4ff 100644
--- a/drivers/gpu/drm/nouveau/nouveau_pm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_pm.c
@@ -64,6 +64,12 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl)
 	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 @@ nouveau_pm_perflvl_get(struct drm_device *dev, struct nouveau_pm_level *perflvl)
 		}
 	}
 
+	if (pm->fanspeed_get)
+		perflvl->fanspeed = pm->fanspeed_get(dev);
+
 	return 0;
 }