[PATCH] drm/nouveau: fix regression in vblanking
Marcin Slusarz
marcin.slusarz at gmail.com
Tue Mar 5 10:08:56 PST 2013
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.lankhorst at 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.slusarz at gmail.com>
More information about the dri-devel
mailing list