diff options
author | Martin Peres <martin.peres@ensi-bourges.fr> | 2011-07-03 19:41:34 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-09-20 02:04:42 -0400 |
commit | f3f2f54e11ff6f3f39a108bfcf7e074b282e3a50 (patch) | |
tree | 7034c50f0427c4c653158abf6f61a4882b7e335e /drivers/gpu/drm/nouveau/nv04_pm.c | |
parent | 591b06d73bb8a2da879b1159342b8be192bf1119 (diff) |
drm/nv04/pm: recalibrate timer on nvclk changes
Signed-off-by: Martin Peres <martin.peres@ensi-bourges.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_pm.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_pm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_pm.c b/drivers/gpu/drm/nouveau/nv04_pm.c index eb1c70dd82ed..9ae92a87b8cc 100644 --- a/drivers/gpu/drm/nouveau/nv04_pm.c +++ b/drivers/gpu/drm/nouveau/nv04_pm.c | |||
@@ -68,6 +68,7 @@ void | |||
68 | nv04_pm_clock_set(struct drm_device *dev, void *pre_state) | 68 | nv04_pm_clock_set(struct drm_device *dev, void *pre_state) |
69 | { | 69 | { |
70 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 70 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
71 | struct nouveau_timer_engine *ptimer = &dev_priv->engine.timer; | ||
71 | struct nv04_pm_state *state = pre_state; | 72 | struct nv04_pm_state *state = pre_state; |
72 | u32 reg = state->pll.reg; | 73 | u32 reg = state->pll.reg; |
73 | 74 | ||
@@ -85,6 +86,9 @@ nv04_pm_clock_set(struct drm_device *dev, void *pre_state) | |||
85 | nv_mask(dev, 0x1002c0, 0, 1 << 8); | 86 | nv_mask(dev, 0x1002c0, 0, 1 << 8); |
86 | } | 87 | } |
87 | 88 | ||
89 | if (reg == NV_PRAMDAC_NVPLL_COEFF) | ||
90 | ptimer->init(dev); | ||
91 | |||
88 | kfree(state); | 92 | kfree(state); |
89 | } | 93 | } |
90 | 94 | ||