Commit b0103747 authored by Martin Peres's avatar Martin Peres Committed by Ben Skeggs

drm/nouveau/pm: improve the reclocking logs' readability

Signed-off-by: default avatarMartin Peres <martin.peres@labri.fr>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent b1aa5531
...@@ -147,9 +147,13 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl) ...@@ -147,9 +147,13 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl)
return ret; return ret;
state = pm->clocks_pre(dev, perflvl); state = pm->clocks_pre(dev, perflvl);
if (IS_ERR(state)) if (IS_ERR(state)) {
return PTR_ERR(state); ret = PTR_ERR(state);
pm->clocks_set(dev, state); goto error;
}
ret = pm->clocks_set(dev, state);
if (ret)
goto error;
ret = nouveau_pm_perflvl_aux(dev, perflvl, perflvl, pm->cur); ret = nouveau_pm_perflvl_aux(dev, perflvl, perflvl, pm->cur);
if (ret) if (ret)
...@@ -157,6 +161,11 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl) ...@@ -157,6 +161,11 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl)
pm->cur = perflvl; pm->cur = perflvl;
return 0; return 0;
error:
/* restore the fan speed and voltage before leaving */
nouveau_pm_perflvl_aux(dev, perflvl, perflvl, pm->cur);
return ret;
} }
static int static int
...@@ -165,6 +174,8 @@ nouveau_pm_profile_set(struct drm_device *dev, const char *profile) ...@@ -165,6 +174,8 @@ nouveau_pm_profile_set(struct drm_device *dev, const char *profile)
struct drm_nouveau_private *dev_priv = dev->dev_private; struct drm_nouveau_private *dev_priv = dev->dev_private;
struct nouveau_pm_engine *pm = &dev_priv->engine.pm; struct nouveau_pm_engine *pm = &dev_priv->engine.pm;
struct nouveau_pm_level *perflvl = NULL; struct nouveau_pm_level *perflvl = NULL;
u64 start_time;
int ret = 0;
long pl; long pl;
/* safety precaution, for now */ /* safety precaution, for now */
...@@ -189,8 +200,17 @@ nouveau_pm_profile_set(struct drm_device *dev, const char *profile) ...@@ -189,8 +200,17 @@ nouveau_pm_profile_set(struct drm_device *dev, const char *profile)
return -EINVAL; return -EINVAL;
} }
NV_INFO(dev, "setting performance level: %s\n", profile); NV_INFO(dev, "setting performance level: %s", profile);
return nouveau_pm_perflvl_set(dev, perflvl); start_time = nv04_timer_read(dev);
ret = nouveau_pm_perflvl_set(dev, perflvl);
if (!ret) {
NV_INFO(dev, "> reclocking took %lluns\n\n",
(nv04_timer_read(dev) - start_time));
} else {
NV_INFO(dev, "> reclocking failed\n\n");
}
return ret;
} }
static int static int
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment