sharkcz / rpms / kernel

Forked from rpms/kernel 6 years ago
Clone
Ben Skeggs f3e16bd
From b4403874d7df4aa6650da412b707c17754a6e105 Mon Sep 17 00:00:00 2001
Ben Skeggs f3e16bd
From: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs f3e16bd
Date: Tue, 17 Aug 2010 14:20:29 +1000
Ben Skeggs f3e16bd
Subject: [PATCH] drm-nouveau-nv50-crtc-update-delay
Ben Skeggs f3e16bd
Ben Skeggs f3e16bd
rhbz#614552
Ben Skeggs f3e16bd
Ben Skeggs f3e16bd
Adds a short delay before doing framebuffer-only CRTC updates.  Fixes
Ben Skeggs f3e16bd
an issue that effects some cards (Quadro NVS295/FX580) where two of
Ben Skeggs f3e16bd
these updates in quick succession hangs the display engine.
Ben Skeggs f3e16bd
Ben Skeggs f3e16bd
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs f3e16bd
---
Ben Skeggs f3e16bd
 drivers/gpu/drm/nouveau/nv50_crtc.c |    3 +++
Ben Skeggs f3e16bd
 1 files changed, 3 insertions(+), 0 deletions(-)
Ben Skeggs f3e16bd
Ben Skeggs f3e16bd
diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c b/drivers/gpu/drm/nouveau/nv50_crtc.c
Ben Skeggs f3e16bd
index 5d11ea1..937adfd 100644
Ben Skeggs f3e16bd
--- a/drivers/gpu/drm/nouveau/nv50_crtc.c
Ben Skeggs f3e16bd
+++ b/drivers/gpu/drm/nouveau/nv50_crtc.c
Ben Skeggs f3e16bd
@@ -521,6 +521,9 @@ nv50_crtc_do_mode_set_base(struct drm_crtc *crtc, int x, int y,
Ben Skeggs f3e16bd
 		nouveau_bo_unpin(ofb->nvbo);
Ben Skeggs f3e16bd
 	}
Ben Skeggs f3e16bd
 
Ben Skeggs f3e16bd
+	if (update)
Ben Skeggs f3e16bd
+		mdelay(1);
Ben Skeggs f3e16bd
+
Ben Skeggs f3e16bd
 	nv_crtc->fb.offset = fb->nvbo->bo.offset - dev_priv->vm_vram_base;
Ben Skeggs f3e16bd
 	nv_crtc->fb.tile_flags = fb->nvbo->tile_flags;
Ben Skeggs f3e16bd
 	nv_crtc->fb.cpp = drm_fb->bits_per_pixel / 8;
Ben Skeggs f3e16bd
-- 
Ben Skeggs f3e16bd
1.7.2
Ben Skeggs f3e16bd