Ken Milmore
2011-Jul-03 18:54 UTC
[Nouveau] [PATCH] Enable hwmon support when both nouveau and hwmon are built as modules.
The nouveau hwmon temperature support currently only functions when hwmon is compiled into the kernel. There's no reason why this shouldn't also work when both hwmon and nouveau are modularised (as is the case with Slackware's stock kernels). The patch below worked for me on 2.6.38.7. BTW, I notice that nouveau idles my 8600GT at around 71C, which is 18C hotter than the Nvidia blob driver. Running some intensive OpenGL (Sauerbraten) caused the temperature to reach 85C in a few minutes. The blob rarely goes above 80C, even after extended use. --- drivers/gpu/drm/nouveau/nouveau_pm.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_pm.c b/drivers/gpu/drm/nouveau/nouveau_pm.c index db68531..a539fd2 100644 --- a/drivers/gpu/drm/nouveau/nouveau_pm.c +++ b/drivers/gpu/drm/nouveau/nouveau_pm.c @@ -312,7 +312,7 @@ nouveau_sysfs_fini(struct drm_device *dev) } } -#ifdef CONFIG_HWMON +#if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE)) static ssize_t nouveau_hwmon_show_temp(struct device *d, struct device_attribute *a, char *buf) { @@ -429,7 +429,7 @@ static const struct attribute_group hwmon_attrgroup = { static int nouveau_hwmon_init(struct drm_device *dev) { -#ifdef CONFIG_HWMON +#if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE)) struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_pm_engine *pm = &dev_priv->engine.pm; struct device *hwmon_dev; @@ -462,7 +462,7 @@ nouveau_hwmon_init(struct drm_device *dev) static void nouveau_hwmon_fini(struct drm_device *dev) { -#ifdef CONFIG_HWMON +#if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE)) struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_pm_engine *pm = &dev_priv->engine.pm; -- 1.7.4.4
Martin Peres
2011-Jul-10 15:04 UTC
[Nouveau] [PATCH] Enable hwmon support when both nouveau and hwmon are built as modules.
Le 03/07/2011 20:54, Ken Milmore a ?crit :> The nouveau hwmon temperature support currently only functions when hwmon is > compiled into the kernel. There's no reason why this shouldn't also work when > both hwmon and nouveau are modularised (as is the case with Slackware's stock > kernels). The patch below worked for me on 2.6.38.7.Looks good to me but I can't commit it.> > BTW, I notice that nouveau idles my 8600GT at around 71C, which is 18C hotter > than the Nvidia blob driver. Running some intensive OpenGL (Sauerbraten) caused > the temperature to reach 85C in a few minutes. The blob rarely goes above 80C, > even after extended use.We are working on power management, it is all but simple ;)