nouveau: fix for rhbz#614452

This commit is contained in:
Ben Skeggs 2010-08-17 14:26:43 +10:00
parent 5161ff7728
commit f3e16bdf3c
2 changed files with 39 additions and 1 deletions

View File

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

View File

@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
%global baserelease 39
%global baserelease 40
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -691,6 +691,7 @@ Patch1803: drm-encoder-disable.patch
Patch1815: drm-nouveau-updates.patch
Patch1816: drm-nouveau-race-fix.patch
Patch1817: drm-nouveau-nva3-noaccel.patch
Patch1818: drm-nouveau-nv50-crtc-update-delay.patch
Patch1819: drm-intel-big-hammer.patch
# intel drm is all merged upstream
Patch1820: drm-i915-fix-edp-panels.patch
@ -1339,6 +1340,7 @@ ApplyPatch drm-encoder-disable.patch
ApplyPatch drm-nouveau-updates.patch
ApplyPatch drm-nouveau-race-fix.patch
ApplyPatch drm-nouveau-nva3-noaccel.patch
ApplyPatch drm-nouveau-nv50-crtc-update-delay.patch
ApplyPatch drm-intel-big-hammer.patch
ApplyOptionalPatch drm-intel-next.patch
@ -2039,6 +2041,9 @@ fi
%changelog
* Tue Aug 17 2010 Ben Skeggs <bskeggs@redhat.com> 2.6.34.4-40
- drm-nouveau-nv50-crtc-update-delay.patch (rhbz#614452)
* Sun Aug 15 2010 Chuck Ebbert <cebbert@redhat.com> 2.6.34.4-39
- Linux 2.6.34.4