rpms/xorg-x11-drv-nouveau/F-12 nouveau-kms-noaccel-fixes.patch, NONE, 1.1 xorg-x11-drv-nouveau.spec, 1.65, 1.66

Ben Skeggs bskeggs at fedoraproject.org
Thu Nov 26 03:30:16 UTC 2009


Author: bskeggs

Update of /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7294

Modified Files:
	xorg-x11-drv-nouveau.spec 
Added Files:
	nouveau-kms-noaccel-fixes.patch 
Log Message:
* Thu Nov 26 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.15-18.20091105gite1c2efd
- fix crash on fb resize when using shadowfb (rh#538238)


nouveau-kms-noaccel-fixes.patch:
 drmmode_display.c |    9 +++++++--
 nv_driver.c       |    1 +
 2 files changed, 8 insertions(+), 2 deletions(-)

--- NEW FILE nouveau-kms-noaccel-fixes.patch ---
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index fe2539d..abb9595 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -171,8 +171,13 @@ drmmode_fbcon_copy(ScrnInfoPtr pScrn)
 	unsigned w = pScrn->virtualX, h = pScrn->virtualY;
 	int i, ret, fbcon_id = 0;
 
-	if (!pNv->exa_driver_pixmaps)
+	if (!pNv->exa_driver_pixmaps) {
+		if (nouveau_bo_map(pNv->scanout, NOUVEAU_BO_WR))
+			return;
+		memset(pNv->scanout->map, 0x00, pNv->scanout->size);
+		nouveau_bo_unmap(pNv->scanout);
 		return;
+	}
 
 	for (i = 0; i < xf86_config->num_crtc; i++) {
 		drmmode_crtc_private_ptr drmmode_crtc =
@@ -1115,7 +1120,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
 	screen->ModifyPixmapHeader(ppix, width, height, -1, -1, pitch,
 				   (!pNv->NoAccel || pNv->ShadowPtr) ?
 				   pNv->ShadowPtr : pNv->scanout->map);
-
+	scrn->pixmapPrivate.ptr = ppix->devPrivate.ptr;
 	nouveau_bo_unmap(pNv->scanout);
 
 	for (i = 0; i < xf86_config->num_crtc; i++) {
diff --git a/src/nv_driver.c b/src/nv_driver.c
index c907015..5eb6973 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -643,6 +643,7 @@ nouveau_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
 	screen->ModifyPixmapHeader(ppix, width, height, -1, -1, pitch,
 				   (!pNv->NoAccel || pNv->ShadowFB) ?
 				   pNv->ShadowPtr : pNv->scanout->map);
+	scrn->pixmapPrivate.ptr = ppix->devPrivate.ptr;
 	nouveau_bo_unmap(pNv->scanout);
 
 	for (i = 0; i < xf86_config->num_crtc; i++) {


Index: xorg-x11-drv-nouveau.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-12/xorg-x11-drv-nouveau.spec,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -p -r1.65 -r1.66
--- xorg-x11-drv-nouveau.spec	5 Nov 2009 03:14:51 -0000	1.65
+++ xorg-x11-drv-nouveau.spec	26 Nov 2009 03:30:16 -0000	1.66
@@ -19,7 +19,7 @@ Name:      xorg-x11-drv-nouveau
 # need to set an epoch to get version number in sync with upstream
 Epoch:     1
 Version:   %{nouveau_version}
-Release:   17.%{snapshot}%{?dist}
+Release:   18.%{snapshot}%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -47,6 +47,7 @@ Patch2: nouveau-multiple-xserver.patch
 Patch6: nouveau-bicubic-2x.patch
 Patch7: nouveau-bgnr.patch
 Patch8: nouveau-tile7000.patch
+Patch9: nouveau-kms-noaccel-fixes.patch
 
 %description 
 X.Org X11 nouveau video driver.
@@ -60,6 +61,7 @@ X.Org X11 nouveau video driver.
 %patch6 -p1 -b .bicubic
 %patch7 -p1 -b .bgnr
 %patch8 -p1 -b .tile7000
+%patch9 -p1 -b .noaccel
 
 %build
 autoreconf -v --install
@@ -83,6 +85,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/nouveau.4*
 
 %changelog
+* Thu Nov 26 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.15-18.20091105gite1c2efd
+- fix crash on fb resize when using shadowfb (rh#538238)
+
 * Thu Nov 05 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.15-17.20091105gite1c2efd
 - handle reloc failures more gracefully (rh#531058)
 - fix for rh#532322




More information about the fedora-extras-commits mailing list