diff --git a/drm-nouveau-nv50-crtc-update-delay.patch b/drm-nouveau-nv50-crtc-update-delay.patch new file mode 100644 index 000000000..8dd49b095 --- /dev/null +++ b/drm-nouveau-nv50-crtc-update-delay.patch @@ -0,0 +1,33 @@ +From b4403874d7df4aa6650da412b707c17754a6e105 Mon Sep 17 00:00:00 2001 +From: Ben Skeggs +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 +--- + 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 + diff --git a/kernel.spec b/kernel.spec index f13cad07c..2c14e70df 100644 --- a/kernel.spec +++ b/kernel.spec @@ -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 2.6.34.4-40 +- drm-nouveau-nv50-crtc-update-delay.patch (rhbz#614452) + * Sun Aug 15 2010 Chuck Ebbert 2.6.34.4-39 - Linux 2.6.34.4