From: Ben Skeggs Date: Tue, 15 Oct 2013 00:31:05 +0000 (+1000) Subject: drm/nvc0/therm: allow fan control if we've killed the vbios ppwr ucode X-Git-Tag: v3.13-rc8~13^2~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=09b8d73bd5aa4a4897d2fa603e683f09ac7e9916;p=platform%2Fkernel%2Flinux-stable.git drm/nvc0/therm: allow fan control if we've killed the vbios ppwr ucode Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/base.c b/drivers/gpu/drm/nouveau/core/subdev/therm/base.c index 836943f..d1b781c 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/core/subdev/therm/base.c @@ -168,14 +168,15 @@ nouveau_therm_fan_mode(struct nouveau_therm *therm, int mode) "automatic" }; - /* The default PDAEMON ucode interferes with fan management */ + /* The default PPWR ucode on fermi interferes with fan management */ if ((mode >= ARRAY_SIZE(name)) || - (mode != NOUVEAU_THERM_CTRL_NONE && device->card_type >= NV_C0)) + (mode != NOUVEAU_THERM_CTRL_NONE && device->card_type >= NV_C0 && + !nouveau_subdev(device, NVDEV_SUBDEV_PWR))) return -EINVAL; /* do not allow automatic fan management if the thermal sensor is * not available */ - if (priv->mode == 2 && therm->temp_get(therm) < 0) + if (priv->mode == NOUVEAU_THERM_CTRL_AUTO && therm->temp_get(therm) < 0) return -EINVAL; if (priv->mode == mode)