rpms/libdrm/F-11 libdrm.spec, 1.75, 1.76 nouveau-updates.patch, 1.1, 1.2
Ben Skeggs
bskeggs at fedoraproject.org
Thu Apr 16 23:42:10 UTC 2009
- Previous message (by thread): rpms/ricci/F-11 .cvsignore, 1.4, 1.5 ricci.spec, 1.17, 1.18 sources, 1.12, 1.13
- Next message (by thread): rpms/kdebase-runtime/F-11 kdebase-runtime-4.2.2-persistent_notify.patch, NONE, 1.1 kdebase-runtime.spec, 1.109, 1.110
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: bskeggs
Update of /cvs/pkgs/rpms/libdrm/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4544
Modified Files:
libdrm.spec nouveau-updates.patch
Log Message:
* Fri Apr 17 2009 Ben Skeggs <bskeggs at redhat.com> 2.4.6-6
- nouveau: post writes to pushbuf before incrementing PUT
Index: libdrm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libdrm/F-11/libdrm.spec,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- libdrm.spec 16 Apr 2009 08:39:28 -0000 1.75
+++ libdrm.spec 16 Apr 2009 23:41:38 -0000 1.76
@@ -3,7 +3,7 @@
Summary: Direct Rendering Manager runtime library
Name: libdrm
Version: 2.4.6
-Release: 5%{?dist}
+Release: 6%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://dri.sourceforge.net
@@ -30,6 +30,8 @@
Patch4: libdrm-2.4.0-no-bc.patch
# radeon libdrm patches from modesetting-gem branch of upstream
Patch8: libdrm-radeon.patch
+# nouveau fixes from drm.git
+Patch9: nouveau-updates.patch
%description
Direct Rendering Manager runtime library
@@ -50,6 +52,7 @@
%patch3 -p1 -b .forceperms
%patch4 -p1 -b .no-bc
%patch8 -p1 -b .radeon
+%patch9 -p1 -b .nouveau
%build
autoreconf -v --install || exit 1
@@ -109,6 +112,9 @@
%{_libdir}/pkgconfig/libdrm_nouveau.pc
%changelog
+* Fri Apr 17 2009 Ben Skeggs <bskeggs at redhat.com> 2.4.6-6
+- nouveau: post writes to pushbuf before incrementing PUT
+
* Thu Apr 16 2009 Dave Airlie <airlied at redhat.com> 2.4.6-5
- libdrm-radeon: fix wait idle
nouveau-updates.patch:
Index: nouveau-updates.patch
===================================================================
RCS file: /cvs/pkgs/rpms/libdrm/F-11/nouveau-updates.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- nouveau-updates.patch 24 Mar 2009 23:24:17 -0000 1.1
+++ nouveau-updates.patch 16 Apr 2009 23:41:38 -0000 1.2
@@ -1,143 +1,26 @@
-diff -Nur libdrm-2.4.5.orig/libdrm/nouveau/Makefile.am libdrm-2.4.5/libdrm/nouveau/Makefile.am
---- libdrm-2.4.5.orig/libdrm/nouveau/Makefile.am 2009-02-11 10:09:35.000000000 +1000
-+++ libdrm-2.4.5/libdrm/nouveau/Makefile.am 2009-03-25 09:06:49.000000000 +1000
-@@ -19,7 +19,9 @@
- nouveau_bo.c \
- nouveau_resource.c \
- nouveau_dma.c \
-- nouveau_fence.c
-+ nouveau_fence.c \
-+ nouveau_dma.h \
-+ nouveau_private.h
-
- libdrm_nouveaucommonincludedir = ${includedir}/nouveau
- libdrm_nouveaucommoninclude_HEADERS = \
-diff -Nur libdrm-2.4.5.orig/libdrm/nouveau/nouveau_bo.c libdrm-2.4.5/libdrm/nouveau/nouveau_bo.c
---- libdrm-2.4.5.orig/libdrm/nouveau/nouveau_bo.c 2009-02-11 10:09:35.000000000 +1000
-+++ libdrm-2.4.5/libdrm/nouveau/nouveau_bo.c 2009-03-25 09:06:20.000000000 +1000
-@@ -347,24 +347,25 @@
- if (!bo || !handle)
- return -EINVAL;
-
-- if (!nvdev->mm_enabled)
-- return -ENODEV;
--
- if (!nvbo->global_handle) {
- struct drm_gem_flink req;
-
- ret = nouveau_bo_kalloc(nvbo, NULL);
- if (ret)
- return ret;
--
-- req.handle = nvbo->handle;
-- ret = ioctl(nvdev->fd, DRM_IOCTL_GEM_FLINK, &req);
-- if (ret) {
-- nouveau_bo_kfree(nvbo);
-- return ret;
-+
-+ if (nvdev->mm_enabled) {
-+ req.handle = nvbo->handle;
-+ ret = ioctl(nvdev->fd, DRM_IOCTL_GEM_FLINK, &req);
-+ if (ret) {
-+ nouveau_bo_kfree(nvbo);
-+ return ret;
-+ }
-+
-+ nvbo->global_handle = req.name;
-+ } else {
-+ nvbo->global_handle = nvbo->offset;
- }
--
-- nvbo->global_handle = req.name;
+diff --git a/libdrm/nouveau/nouveau_bo.c b/libdrm/nouveau/nouveau_bo.c
+index 023c6be..66466e3 100644
+--- a/libdrm/nouveau/nouveau_bo.c
++++ b/libdrm/nouveau/nouveau_bo.c
+@@ -404,7 +404,8 @@ nouveau_bo_handle_ref(struct nouveau_device *dev, uint32_t handle,
+ nvbo->size = req.size;
+ nvbo->handle = req.handle;
}
-
- *handle = nvbo->global_handle;
-@@ -412,6 +413,8 @@
- {
- struct nouveau_bo_priv *nvbo = priv;
-
-+ nouveau_fence_ref(NULL, &nvbo->fence);
-+ nouveau_fence_ref(NULL, &nvbo->wr_fence);
- nouveau_bo_kfree(nvbo);
- free(nvbo);
- }
-diff -Nur libdrm-2.4.5.orig/libdrm/nouveau/nouveau_device.c libdrm-2.4.5/libdrm/nouveau/nouveau_device.c
---- libdrm-2.4.5.orig/libdrm/nouveau/nouveau_device.c 2009-02-22 03:54:48.000000000 +1000
-+++ libdrm-2.4.5/libdrm/nouveau/nouveau_device.c 2009-03-25 09:06:21.000000000 +1000
-@@ -76,6 +76,22 @@
- }
- nvdev->base.vm_vram_base = value;
-
-+ ret = nouveau_device_get_param(&nvdev->base,
-+ NOUVEAU_GETPARAM_FB_SIZE, &value);
-+ if (ret) {
-+ nouveau_device_close((void *)&nvdev);
-+ return ret;
-+ }
-+ nvdev->vram_aper_size = value;
-+
-+ ret = nouveau_device_get_param(&nvdev->base,
-+ NOUVEAU_GETPARAM_AGP_SIZE, &value);
-+ if (ret) {
-+ nouveau_device_close((void *)&nvdev);
-+ return ret;
-+ }
-+ nvdev->gart_aper_size = value;
+-
+
- ret = nouveau_bo_init(&nvdev->base);
- if (ret) {
- nouveau_device_close((void *)&nvdev);
-@@ -128,7 +144,7 @@
- {
- struct nouveau_device_priv *nvdev;
-
-- if (dev || !*dev)
-+ if (!dev || !*dev)
- return;
- nvdev = nouveau_device(*dev);
- *dev = NULL;
-diff -Nur libdrm-2.4.5.orig/libdrm/nouveau/nouveau_drmif.h libdrm-2.4.5/libdrm/nouveau/nouveau_drmif.h
---- libdrm-2.4.5.orig/libdrm/nouveau/nouveau_drmif.h 2009-02-11 10:09:35.000000000 +1000
-+++ libdrm-2.4.5/libdrm/nouveau/nouveau_drmif.h 2009-03-25 09:06:21.000000000 +1000
-@@ -37,6 +37,9 @@
- int needs_close;
-
- int mm_enabled;
-+/*XXX: move to nouveau_device when interface gets bumped */
-+ uint64_t vram_aper_size;
-+ uint64_t gart_aper_size;
- };
- #define nouveau_device(n) ((struct nouveau_device_priv *)(n))
-
-diff -Nur libdrm-2.4.5.orig/libdrm/nouveau/nouveau_fence.c libdrm-2.4.5/libdrm/nouveau/nouveau_fence.c
---- libdrm-2.4.5.orig/libdrm/nouveau/nouveau_fence.c 2009-02-11 10:09:35.000000000 +1000
-+++ libdrm-2.4.5/libdrm/nouveau/nouveau_fence.c 2009-03-25 09:06:21.000000000 +1000
-@@ -96,22 +96,16 @@
- int
- nouveau_fence_ref(struct nouveau_fence *ref, struct nouveau_fence **fence)
- {
-- struct nouveau_fence_priv *nvfence;
--
- if (!fence)
- return -EINVAL;
-
-- if (*fence) {
-- nouveau_fence_del(fence);
-- *fence = NULL;
-- }
-+ if (ref)
-+ nouveau_fence(ref)->refcount++;
-
-- if (ref) {
-- nvfence = nouveau_fence(ref);
-- nvfence->refcount++;
-- *fence = &nvfence->base;
-- }
-+ if (*fence)
-+ nouveau_fence_del(fence);
-
-+ *fence = ref;
++ nvbo->base.handle = nvbo->handle;
return 0;
- }
+ }
+
+diff --git a/libdrm/nouveau/nouveau_dma.c b/libdrm/nouveau/nouveau_dma.c
+index 23da64b..b084f70 100644
+--- a/libdrm/nouveau/nouveau_dma.c
++++ b/libdrm/nouveau/nouveau_dma.c
+@@ -41,6 +41,7 @@ WRITE_PUT(struct nouveau_channel_priv *nvchan, uint32_t val)
+ volatile int dum;
+
+ NOUVEAU_DMA_BARRIER;
++ dum = nvchan->pushbuf[0];
+ dum = READ_GET(nvchan);
-
+ *nvchan->put = put;
- Previous message (by thread): rpms/ricci/F-11 .cvsignore, 1.4, 1.5 ricci.spec, 1.17, 1.18 sources, 1.12, 1.13
- Next message (by thread): rpms/kdebase-runtime/F-11 kdebase-runtime-4.2.2-persistent_notify.patch, NONE, 1.1 kdebase-runtime.spec, 1.109, 1.110
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list