提交 f3f2f54e 编写于 作者: M Martin Peres 提交者: Ben Skeggs

drm/nv04/pm: recalibrate timer on nvclk changes

Signed-off-by: NMartin Peres <martin.peres@ensi-bourges.fr>
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 591b06d7
...@@ -68,6 +68,7 @@ void ...@@ -68,6 +68,7 @@ void
nv04_pm_clock_set(struct drm_device *dev, void *pre_state) nv04_pm_clock_set(struct drm_device *dev, void *pre_state)
{ {
struct drm_nouveau_private *dev_priv = dev->dev_private; struct drm_nouveau_private *dev_priv = dev->dev_private;
struct nouveau_timer_engine *ptimer = &dev_priv->engine.timer;
struct nv04_pm_state *state = pre_state; struct nv04_pm_state *state = pre_state;
u32 reg = state->pll.reg; u32 reg = state->pll.reg;
...@@ -85,6 +86,9 @@ nv04_pm_clock_set(struct drm_device *dev, void *pre_state) ...@@ -85,6 +86,9 @@ nv04_pm_clock_set(struct drm_device *dev, void *pre_state)
nv_mask(dev, 0x1002c0, 0, 1 << 8); nv_mask(dev, 0x1002c0, 0, 1 << 8);
} }
if (reg == NV_PRAMDAC_NVPLL_COEFF)
ptimer->init(dev);
kfree(state); kfree(state);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册