[PATCH] drm/nouveau: fix regression in vblanking
On Tue, Mar 05, 2013 at 02:59:26PM +0100, Maarten Lankhorst wrote: > nv50_vblank_enable/disable got switched from > NV50_PDISPLAY_INTR_EN_1_VBLANK_CRTC_0 (4) << head to 1 << head, which is > wrong. > > 4 << head is the correct value. > > Fixes regression with vblanking since 1d7c71a3e2f77 "drm/nouveau/disp: port > vblank handling to event interface" > > Signed-off-by: Maarten Lankhorst > --- > diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c > b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c > index 5fa1326..02e369f 100644 > --- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c > +++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c > @@ -544,13 +544,13 @@ nv50_disp_curs_ofuncs = { > static void > nv50_disp_base_vblank_enable(struct nouveau_event *event, int head) > { > - nv_mask(event->priv, 0x61002c, (1 << head), (1 << head)); > + nv_mask(event->priv, 0x61002c, (4 << head), (4 << head)); > } > > static void > nv50_disp_base_vblank_disable(struct nouveau_event *event, int head) > { > - nv_mask(event->priv, 0x61002c, (1 << head), (0 << head)); > + nv_mask(event->priv, 0x61002c, (4 << head), 0); > } > > static int > It fixes vblank on my NVA8, thanks. Tested-by: Marcin Slusarz
[PATCH] drm/nouveau: fix regression in vblanking
nv50_vblank_enable/disable got switched from NV50_PDISPLAY_INTR_EN_1_VBLANK_CRTC_0 (4) << head to 1 << head, which is wrong. 4 << head is the correct value. Fixes regression with vblanking since 1d7c71a3e2f77 "drm/nouveau/disp: port vblank handling to event interface" Signed-off-by: Maarten Lankhorst --- diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c index 5fa1326..02e369f 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c @@ -544,13 +544,13 @@ nv50_disp_curs_ofuncs = { static void nv50_disp_base_vblank_enable(struct nouveau_event *event, int head) { - nv_mask(event->priv, 0x61002c, (1 << head), (1 << head)); + nv_mask(event->priv, 0x61002c, (4 << head), (4 << head)); } static void nv50_disp_base_vblank_disable(struct nouveau_event *event, int head) { - nv_mask(event->priv, 0x61002c, (1 << head), (0 << head)); + nv_mask(event->priv, 0x61002c, (4 << head), 0); } static int
[PATCH] drm/nouveau: fix regression in vblanking
nv50_vblank_enable/disable got switched from NV50_PDISPLAY_INTR_EN_1_VBLANK_CRTC_0 (4) head to 1 head, which is wrong. 4 head is the correct value. Fixes regression with vblanking since 1d7c71a3e2f77 drm/nouveau/disp: port vblank handling to event interface Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com --- diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c index 5fa1326..02e369f 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c @@ -544,13 +544,13 @@ nv50_disp_curs_ofuncs = { static void nv50_disp_base_vblank_enable(struct nouveau_event *event, int head) { - nv_mask(event-priv, 0x61002c, (1 head), (1 head)); + nv_mask(event-priv, 0x61002c, (4 head), (4 head)); } static void nv50_disp_base_vblank_disable(struct nouveau_event *event, int head) { - nv_mask(event-priv, 0x61002c, (1 head), (0 head)); + nv_mask(event-priv, 0x61002c, (4 head), 0); } static int ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/nouveau: fix regression in vblanking
On Tue, Mar 05, 2013 at 02:59:26PM +0100, Maarten Lankhorst wrote: nv50_vblank_enable/disable got switched from NV50_PDISPLAY_INTR_EN_1_VBLANK_CRTC_0 (4) head to 1 head, which is wrong. 4 head is the correct value. Fixes regression with vblanking since 1d7c71a3e2f77 drm/nouveau/disp: port vblank handling to event interface Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com --- diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c index 5fa1326..02e369f 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c @@ -544,13 +544,13 @@ nv50_disp_curs_ofuncs = { static void nv50_disp_base_vblank_enable(struct nouveau_event *event, int head) { - nv_mask(event-priv, 0x61002c, (1 head), (1 head)); + nv_mask(event-priv, 0x61002c, (4 head), (4 head)); } static void nv50_disp_base_vblank_disable(struct nouveau_event *event, int head) { - nv_mask(event-priv, 0x61002c, (1 head), (0 head)); + nv_mask(event-priv, 0x61002c, (4 head), 0); } static int It fixes vblank on my NVA8, thanks. Tested-by: Marcin Slusarz marcin.slus...@gmail.com ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel