aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-06-09 22:07:09 -0400
committerBen Skeggs <bskeggs@redhat.com>2011-09-20 02:01:30 -0400
commitda1dc4cfecdf314241cc5e0c5df1f66b4cc80cc7 (patch)
treef787a47db53c32b4ec360d59c577834b3ba91aef /drivers/gpu/drm
parent3c71c2330b56ca4304b6cd0273ba861657a60a53 (diff)
drm/nouveau/pm: allow voltage-only perflvl set, enable nvc0
Okay, my card didn't blow up. Lets turn it on! Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_pm.c13
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_state.c1
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_pm.c b/drivers/gpu/drm/nouveau/nouveau_pm.c
index 53d2ad8a0496..179067a1d261 100644
--- a/drivers/gpu/drm/nouveau/nouveau_pm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_pm.c
@@ -72,10 +72,12 @@ nouveau_pm_perflvl_set(struct drm_device *dev, struct nouveau_pm_level *perflvl)
72 } 72 }
73 } 73 }
74 74
75 nouveau_pm_clock_set(dev, perflvl, PLL_CORE, perflvl->core); 75 if (pm->clock_set) {
76 nouveau_pm_clock_set(dev, perflvl, PLL_SHADER, perflvl->shader); 76 nouveau_pm_clock_set(dev, perflvl, PLL_CORE, perflvl->core);
77 nouveau_pm_clock_set(dev, perflvl, PLL_MEMORY, perflvl->memory); 77 nouveau_pm_clock_set(dev, perflvl, PLL_SHADER, perflvl->shader);
78 nouveau_pm_clock_set(dev, perflvl, PLL_UNK05, perflvl->unk05); 78 nouveau_pm_clock_set(dev, perflvl, PLL_MEMORY, perflvl->memory);
79 nouveau_pm_clock_set(dev, perflvl, PLL_UNK05, perflvl->unk05);
80 }
79 81
80 pm->cur = perflvl; 82 pm->cur = perflvl;
81 return 0; 83 return 0;
@@ -92,9 +94,6 @@ nouveau_pm_profile_set(struct drm_device *dev, const char *profile)
92 if (nouveau_perflvl_wr != 7777) 94 if (nouveau_perflvl_wr != 7777)
93 return -EPERM; 95 return -EPERM;
94 96
95 if (!pm->clock_set)
96 return -EINVAL;
97
98 if (!strncmp(profile, "boot", 4)) 97 if (!strncmp(profile, "boot", 4))
99 perflvl = &pm->boot; 98 perflvl = &pm->boot;
100 else { 99 else {
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index 48bddd5b3503..bd4c8f56b5d9 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -423,6 +423,7 @@ static int nouveau_init_engine_ptrs(struct drm_device *dev)
423 engine->vram.flags_valid = nvc0_vram_flags_valid; 423 engine->vram.flags_valid = nvc0_vram_flags_valid;
424 engine->pm.temp_get = nv84_temp_get; 424 engine->pm.temp_get = nv84_temp_get;
425 engine->pm.voltage_get = nouveau_voltage_gpio_get; 425 engine->pm.voltage_get = nouveau_voltage_gpio_get;
426 engine->pm.voltage_set = nouveau_voltage_gpio_set;
426 break; 427 break;
427 default: 428 default:
428 NV_ERROR(dev, "NV%02x unsupported\n", dev_priv->chipset); 429 NV_ERROR(dev, "NV%02x unsupported\n", dev_priv->chipset);