|
@@ -156,7 +156,7 @@ nouveau_pm_perflvl_get(struct drm_device *dev, struct nouveau_pm_level *perflvl)
|
|
|
static void
|
|
|
nouveau_pm_perflvl_info(struct nouveau_pm_level *perflvl, char *ptr, int len)
|
|
|
{
|
|
|
- char c[16], s[16], v[16], f[16];
|
|
|
+ char c[16], s[16], v[16], f[16], t[16];
|
|
|
|
|
|
c[0] = '\0';
|
|
|
if (perflvl->core)
|
|
@@ -174,8 +174,12 @@ nouveau_pm_perflvl_info(struct nouveau_pm_level *perflvl, char *ptr, int len)
|
|
|
if (perflvl->fanspeed)
|
|
|
snprintf(f, sizeof(f), " fanspeed %d%%", perflvl->fanspeed);
|
|
|
|
|
|
- snprintf(ptr, len, "memory %dMHz%s%s%s%s\n", perflvl->memory / 1000,
|
|
|
- c, s, v, f);
|
|
|
+ t[0] = '\0';
|
|
|
+ if (perflvl->timing)
|
|
|
+ snprintf(t, sizeof(t), " timing %d", perflvl->timing->id);
|
|
|
+
|
|
|
+ snprintf(ptr, len, "memory %dMHz%s%s%s%s%s\n", perflvl->memory / 1000,
|
|
|
+ c, s, v, f, t);
|
|
|
}
|
|
|
|
|
|
static ssize_t
|
|
@@ -476,10 +480,10 @@ nouveau_pm_init(struct drm_device *dev)
|
|
|
char info[256];
|
|
|
int ret, i;
|
|
|
|
|
|
+ nouveau_mem_timing_init(dev);
|
|
|
nouveau_volt_init(dev);
|
|
|
nouveau_perf_init(dev);
|
|
|
nouveau_temp_init(dev);
|
|
|
- nouveau_mem_timing_init(dev);
|
|
|
|
|
|
NV_INFO(dev, "%d available performance level(s)\n", pm->nr_perflvl);
|
|
|
for (i = 0; i < pm->nr_perflvl; i++) {
|
|
@@ -525,10 +529,10 @@ nouveau_pm_fini(struct drm_device *dev)
|
|
|
if (pm->cur != &pm->boot)
|
|
|
nouveau_pm_perflvl_set(dev, &pm->boot);
|
|
|
|
|
|
- nouveau_mem_timing_fini(dev);
|
|
|
nouveau_temp_fini(dev);
|
|
|
nouveau_perf_fini(dev);
|
|
|
nouveau_volt_fini(dev);
|
|
|
+ nouveau_mem_timing_fini(dev);
|
|
|
|
|
|
#if defined(CONFIG_ACPI) && defined(CONFIG_POWER_SUPPLY)
|
|
|
unregister_acpi_notifier(&pm->acpi_nb);
|