提交 4113014f 编写于 作者: K Kelly Doran 提交者: Ben Skeggs

drm/nvc0/disp: fix thinko in vblank regression fix..

Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 df285500
...@@ -49,13 +49,7 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc) ...@@ -49,13 +49,7 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
if (chan->vblank.crtc != crtc) if (chan->vblank.crtc != crtc)
continue; continue;
if (nv_device(priv)->chipset == 0x50) { if (nv_device(priv)->chipset >= 0xc0) {
nv_wr32(priv, 0x001704, chan->vblank.channel);
nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
bar->flush(bar);
nv_wr32(priv, 0x001570, chan->vblank.offset);
nv_wr32(priv, 0x001574, chan->vblank.value);
} else {
nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel); nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
bar->flush(bar); bar->flush(bar);
nv_wr32(priv, 0x06000c, nv_wr32(priv, 0x06000c,
...@@ -63,6 +57,17 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc) ...@@ -63,6 +57,17 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
nv_wr32(priv, 0x060010, nv_wr32(priv, 0x060010,
lower_32_bits(chan->vblank.offset)); lower_32_bits(chan->vblank.offset));
nv_wr32(priv, 0x060014, chan->vblank.value); nv_wr32(priv, 0x060014, chan->vblank.value);
} else {
nv_wr32(priv, 0x001704, chan->vblank.channel);
nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
bar->flush(bar);
if (nv_device(priv)->chipset == 0x50) {
nv_wr32(priv, 0x001570, chan->vblank.offset);
nv_wr32(priv, 0x001574, chan->vblank.value);
} else {
nv_wr32(priv, 0x060010, chan->vblank.offset);
nv_wr32(priv, 0x060014, chan->vblank.value);
}
} }
list_del(&chan->vblank.head); list_del(&chan->vblank.head);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册