drm-snapshot: Changes to 'debian-experimental'
README | 9
configure.ac | 18
debian/changelog | 52
debian/control | 35
debian/copyright | 82
debian/libdrm-nouveau1.install | 1
debian/postrm.modules.in | 8
debian/preinst.modules.in | 8
debian/rules | 17
debian/source.lintian-overrides | 4
libdrm/Makefile.am | 3
libdrm/intel/Makefile.am | 1
libdrm/intel/intel_bufmgr_fake.c | 2
libdrm/intel/intel_bufmgr_gem.c | 82
libdrm/intel/intel_chipset.h | 71
libdrm/nouveau/Makefile.am | 40
libdrm/nouveau/libdrm_nouveau.pc.in | 10
libdrm/nouveau/nouveau_bo.c | 838 +++
libdrm/nouveau/nouveau_bo.h | 97
libdrm/nouveau/nouveau_channel.c | 167
libdrm/nouveau/nouveau_channel.h | 56
libdrm/nouveau/nouveau_class.h | 8006 ++++++++++++++++++++++++++++++++++++
libdrm/nouveau/nouveau_device.c | 185
libdrm/nouveau/nouveau_device.h | 31
libdrm/nouveau/nouveau_dma.c | 215
libdrm/nouveau/nouveau_dma.h | 154
libdrm/nouveau/nouveau_drmif.h | 59
libdrm/nouveau/nouveau_fence.c | 249 +
libdrm/nouveau/nouveau_grobj.c | 138
libdrm/nouveau/nouveau_grobj.h | 48
libdrm/nouveau/nouveau_notifier.c | 146
libdrm/nouveau/nouveau_notifier.h | 63
libdrm/nouveau/nouveau_private.h | 203
libdrm/nouveau/nouveau_pushbuf.c | 276 +
libdrm/nouveau/nouveau_pushbuf.h | 160
libdrm/nouveau/nouveau_resource.c | 115
libdrm/nouveau/nouveau_resource.h | 48
libdrm/xf86drm.c | 23
libdrm/xf86drmMode.c | 21
libdrm/xf86drmMode.h | 7
linux-core/Makefile | 29
linux-core/Makefile.kernel | 2
linux-core/drm_compat.h | 6
linux-core/drm_fops.c | 2
linux-core/nv_drv.c | 94
linux-core/nv_drv.h | 1
shared-core/i915_drm.h | 2
shared-core/nouveau_drm.h | 123
shared-core/nouveau_drv.h | 2
shared-core/nouveau_irq.c | 24
shared-core/nouveau_mem.c | 11
shared-core/nouveau_object.c | 7
shared-core/nouveau_state.c | 23
shared-core/nv04_instmem.c | 3
shared-core/nv50_graph.c | 2
shared-core/nv_drv.h | 52
tests/modetest/Makefile.am | 6
tests/modetest/modetest.c | 254 -
58 files changed, 12033 insertions(+), 358 deletions(-)
New commits:
commit 09c023dba31bd40d2fca6ff3e9aff66611aab4ff
Author: Chris Lamb <lamby@debian.org>
Date: Thu Feb 5 00:50:51 2009 +0000
Re-order changelog entry to make it easier for ftpmasters.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index e309b65..d89e28d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,16 @@
drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
+ * Build new libdrm-nouveau1 and libdrm-nouveau1-dbg packages.
+ * Unconditionally add/remove diverts in generated packages' maintainer
+ scripts to avoid problems when the module package is installed without a
+ kernel being present. Thanks to Christoph Goehre <christoph.goehre@gmx.de>
+ for the patch. (Closes: #513399)
+ * Replace references to KERNELDIR with LINUXDIR to fix compilation for a
+ kernel version other than the running one. Thanks to Tormod Volden
+ <debian.tormod@gmail.com> for the patch. (Closes: #511358)
+ * Don't include (~12MiB) .git/ in the original tarball. (Closes: #513394)
+ * Replace instances of "(C)" with "©" in debian/copyright to appease
+ lintian.
* New upstream snapshot:
- 8b88036... modetest: Add syntax to also specify a crtc when setting a
mode.
@@ -36,17 +47,6 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
- badc634... libdrm: add autoconf check for clock_gettime
- ca37077... libdrm: only check for vblank timeout if we caught EINTR
- f4f76a6... libdrm: add timeout handling to drmWaitVBlank
- * Unconditionally add/remove diverts in generated packages' maintainer
- scripts to avoid problems when the module package is installed without a
- kernel being present. Thanks to Christoph Goehre <christoph.goehre@gmx.de>
- for the patch. (Closes: #513399)
- * Replace references to KERNELDIR with LINUXDIR to fix compilation for a
- kernel version other than the running one. Thanks to Tormod Volden
- <debian.tormod@gmail.com> for the patch. (Closes: #511358)
- * Don't include (~12MiB) .git/ in the original tarball. (Closes: #513394)
- * Replace instances of "(C)" with "©" in debian/copyright to appease
- lintian.
- * Build new libdrm-nouveau1 and libdrm-nouveau1-dbg packages.
-- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
commit 00387de23d6fa0b9012165e6a53485ab59edf891
Author: Chris Lamb <lamby@debian.org>
Date: Thu Feb 5 00:14:32 2009 +0000
Don't include (~12MiB) .git/ in the original tarball. (Closes: #513394)
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index a4fd51e..e309b65 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -43,6 +43,7 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
* Replace references to KERNELDIR with LINUXDIR to fix compilation for a
kernel version other than the running one. Thanks to Tormod Volden
<debian.tormod@gmail.com> for the patch. (Closes: #511358)
+ * Don't include (~12MiB) .git/ in the original tarball. (Closes: #513394)
* Replace instances of "(C)" with "©" in debian/copyright to appease
lintian.
* Build new libdrm-nouveau1 and libdrm-nouveau1-dbg packages.
diff --git a/debian/control b/debian/control
index 4abda2a..d7eb7d4 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: drm-snapshot
Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Chris Lamb <lamby@debian.org>, Matthew Johnson <mjj29@debian.org>
-Build-Depends: debhelper (>= 7), libx11-dev, dpkg-dev (>= 1.13.19), quilt, bzip2, git-core, pkg-config, libpthread-stubs0-dev, automake, libtool
+Build-Depends: debhelper (>= 7), libx11-dev, dpkg-dev (>= 1.13.19), quilt, bzip2, pkg-config, libpthread-stubs0-dev, automake, libtool
Standards-Version: 3.8.0
Section: libs
Homepage: http://dri.freedesktop.org/wiki/FrontPage
diff --git a/debian/rules b/debian/rules
index 139ad9b..f4cdaf3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,7 +20,9 @@ get-orig-source:
git clone git://anongit.freedesktop.org/git/mesa/drm drm-snapshot && \
cd drm-snapshot && ./autogen.sh && make distclean && \
REVISION=$$(git show --pretty=format:"%h" HEAD | head -n1) && \
- PREFIX=drm-snapshot_2.4.4+git+$$(date +%Y%m%d)+$$REVISION && cd .. && \
+ PREFIX=drm-snapshot_2.4.4+git+$$(date +%Y%m%d)+$$REVISION && \
+ git describe --abbrev=17 > .git-revision && cd .. && \
+ rm -rf drm-snapshot/.git && \
tar czf $$PREFIX.orig.tar.gz --exclude=autom4te.cache drm-snapshot && \
rm -rf drm-snapshot
@@ -92,7 +94,7 @@ install: build
debian/$(psource)/usr/src/modules/$(sname)/debian
cp debian/rules debian/changelog debian/copyright \
debian/compat debian/$(psource)/usr/src/modules/$(sname)/debian/
- git describe --abbrev=17 > debian/$(psource)/usr/src/modules/$(sname)/debian/git-revision
+ cp .git-revision debian/$(psource)/usr/src/modules/$(sname)/debian/git-revision
cd debian/$(psource)/usr/src && tar c modules | bzip2 -9 > $(sname).tar.bz2 && rm -rf modules
# Tell module-assistant about the drm modules, so they show up in the list menu
diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides
deleted file mode 100644
index 92b901b..0000000
--- a/debian/source.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
-# The .git directory is used to populate /usr/src/modules/../ such that
-# the drm-modules-$(KVER) packages include the git revision number in
-# their version number.
-drm-snapshot source: source-contains-git-control-dir .git
commit 1d9453586fd1712791ac9cae6e1c27cff6815d2a
Author: Chris Lamb <lamby@debian.org>
Date: Thu Feb 5 00:04:24 2009 +0000
Build new libdrm-nouveau1 and libdrm-nouveau1-dbg packages.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 64e75cd..a4fd51e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -45,6 +45,7 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
<debian.tormod@gmail.com> for the patch. (Closes: #511358)
* Replace instances of "(C)" with "©" in debian/copyright to appease
lintian.
+ * Build new libdrm-nouveau1 and libdrm-nouveau1-dbg packages.
-- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
diff --git a/debian/control b/debian/control
index cd99512..4abda2a 100644
--- a/debian/control
+++ b/debian/control
@@ -12,7 +12,7 @@ Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/drm-snapshot.git
Package: libdrm-dev
Section: libdevel
Architecture: any
-Depends: libdrm2 (= ${binary:Version}), libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386], ${misc:Depends}
+Depends: libdrm2 (= ${binary:Version}), libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386], libdrm-nouveau1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc], ${misc:Depends}
Description: Userspace interface to kernel rendering services (snapshot) -- dev files
This library implements the userspace interface to the kernel DRM services.
DRM stands for "Direct Rendering Manager", which is the kernelspace portion
@@ -89,6 +89,37 @@ Description: Userspace interface to Intel-specific kernel rendering -- debugging
.
This package provides the debugging symbols for the libdrm-intel1 package.
+Package: libdrm-nouveau1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Userspace interface to Nouveau-specific kernel rendering services -- runtime
+ This library implements the userspace interface to the Nouveau-specific kernel
+ DRM services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is
+ currently used on Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package is built from a snapshot of DRM development code, to provide the
+ features necessary for testing new X.org drivers. Do NOT expect this package
+ to be stable!
+
+Package: libdrm-nouveau1-dbg
+Section: libdevel
+Priority: extra
+Architecture: any
+Depends: libdrm-nouveau1 (= ${binary:Version}), ${misc:Depends}
+Description: Userspace interface to Nouveau-specific kernel rendering -- debugging symbols
+ This library implements the userspace interface to the kernel DRM services.
+ DRM stands for "Direct Rendering Manager", which is the kernelspace portion
+ of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on
+ Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package is built from a snapshot of DRM development code, to provide the
+ features necessary for testing new X.org drivers. Do NOT expect this package
+ to be stable!
+ .
+ This package provides the debugging symbols for the libdrm-nouveau1 package.
+
Package: drm-modules-source
Architecture: all
Depends: debhelper (>= 7), quilt, make, git-core, module-assistant, ${misc:Depends}
diff --git a/debian/libdrm-nouveau1.install b/debian/libdrm-nouveau1.install
new file mode 100644
index 0000000..7650858
--- /dev/null
+++ b/debian/libdrm-nouveau1.install
@@ -0,0 +1 @@
+usr/lib/libdrm_nouveau.so.*
diff --git a/debian/rules b/debian/rules
index 2309cdf..139ad9b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -108,6 +108,7 @@ binary-arch: build install
dh_install -s --sourcedir=debian/tmp -X.la --fail-missing
dh_strip -plibdrm2 --dbg-package=libdrm2-dbg
dh_strip -plibdrm-intel1 --dbg-package=libdrm-intel1-dbg
+ dh_strip -plibdrm-nouveau1 --dbg-package=libdrm-nouveau1-dbg
dh_strip
dh_lintian
dh_compress
commit f6c9175fc6a1efe94f6c1c4b7bb5d99644262fd1
Author: Chris Lamb <lamby@debian.org>
Date: Wed Feb 4 23:59:59 2009 +0000
Use dh_prep over dh_clean -k.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/rules b/debian/rules
index 774ea43..2309cdf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -76,7 +76,7 @@ clean: unpatch
install: build
dh_testdir
dh_testroot
- dh_clean -k
+ dh_prep
dh_installdirs
cd obj-$(DEB_BUILD_GNU_TYPE) && \
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
@@ -122,7 +122,7 @@ binary-arch: build install
# (Invoked by module-assistant or make-kpkg)
binary-modules:
dh_testroot
- dh_clean -k
+ dh_prep
# Build the modules
$(MAKE) -C linux-core LINUXDIR=$(KSRC) KVERREL=$(KVERS) \
@@ -143,7 +143,7 @@ binary-modules:
dh_gencontrol -- -v$(VERSION)
dh_md5sums
dh_builddeb --destdir=$(DEB_DESTDIR)
- dh_clean -k
+ dh_prep
# (Invoked by module-assistant or make-kpkg)
kdist_config kdist_configure: prep-deb-files
commit 615c0c77c7198c48ef351aa7417b6c02aca64be6
Author: Chris Lamb <lamby@debian.org>
Date: Wed Feb 4 23:59:43 2009 +0000
Use unicode copyright symbol to appease lintian in debian/copyright.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 5342e52..64e75cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -43,6 +43,8 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
* Replace references to KERNELDIR with LINUXDIR to fix compilation for a
kernel version other than the running one. Thanks to Tormod Volden
<debian.tormod@gmail.com> for the patch. (Closes: #511358)
+ * Replace instances of "(C)" with "©" in debian/copyright to appease
+ lintian.
-- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
diff --git a/debian/copyright b/debian/copyright
index 037ad66..dc28efc 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -6,46 +6,46 @@ It was downloaded from <http://dri.freedesktop.org/wiki/FrontPage>
License:
- Copyright (C) 1998-2003 VIA Technologies, Inc.
- Copyright (C) 1999 Precision Insight, Inc., Cedar Park, Texas.
- Copyright (C) 1999 Matrox Graphics Inc.
- Copyright (C) 1999 Wittawat Yamwong
- Copyright (C) 2000 Gareth Hughes
- Copyright (C) 2000 VA Linux Systems, Inc., Sunnyvale, California.
- Copyright (C) 2003 Tungsten Graphics, Inc.
- Copyright (C) 2000 Silicon Integrated Systems Corp, Inc.
- Copyright (C) 2000 David S. Miller <davem@redhat.com>
- Copyright (C) 2001-2003 S3 Graphics, Inc.
- Copyright (C) 2002-2003 Leif Delgass
- Copyright (C) 2002 Frank C. Earl
- Copyright (C) 2002 The Weather Channel, Inc.
- Copyright (C) 2003-2004, 2007 IBM Corporation
- Copyright (C) 2003-2004 Greg Kroah-Hartman <greg@kroah.com>
- Copyright (C) 2003, 2004 Eric Anholt
- Copyright (C) 2003, 2004 Egbert Eich
- Copyright (C) 2003 Jose Fonseca
- Copyright (C) 2004 BEAM Ltd
- Copyright (C) 2004 The Unichrome Project
- Copyright (C) 2004 Digeo, Inc., Palo Alto, CA, U.S.A
- Copyright (C) 2004 Felix Kuehling
- Copyright (C) 2004-2005 Nicolai Haehnle
- Copyright (C) 2004 Jon Smirl <jonsmirl@gmail.com>
- Copyright (C) 2005 Paul Mackerras 2005
- Copyright (C) 2005-2006 Stephane Marchesin
- Copyright (C) 2005 Thomas Hellstrom
- Copyright (C) 2005 Lars Knoll <lars@trolltech.com>
- Copyright (C) 2005 Dave Airlied
- Copyright (C) 2005 Adam Jackson
- Copyright (C) 2005 Stephane Marchesin
- Copyright (C) 2005 Alan Hourihane
- Copyright (C) 2005 Eric Anholt
- Copyright (C) 2006 Ben Skeggs
- Copyright (C) 2007 Arthur Huillet
- Copyright (C) 2007 Advanced Micro Devices, Inc.
- Copyright (C) 2007 Matthieu CASTET <castet.matthieu@free.fr>
- Copyright (C) 2007 Intel Corporation
- Copyright (C) 2007 Red Hat, Inc
- Copyright (C) 2007 Stephane Marchesin
+ Copyright © 1998-2003 VIA Technologies, Inc.
+ Copyright © 1999 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright © 1999 Matrox Graphics Inc.
+ Copyright © 1999 Wittawat Yamwong
+ Copyright © 2000 Gareth Hughes
+ Copyright © 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ Copyright © 2003 Tungsten Graphics, Inc.
+ Copyright © 2000 Silicon Integrated Systems Corp, Inc.
+ Copyright © 2000 David S. Miller <davem@redhat.com>
+ Copyright © 2001-2003 S3 Graphics, Inc.
+ Copyright © 2002-2003 Leif Delgass
+ Copyright © 2002 Frank C. Earl
+ Copyright © 2002 The Weather Channel, Inc.
+ Copyright © 2003-2004, 2007 IBM Corporation
+ Copyright © 2003-2004 Greg Kroah-Hartman <greg@kroah.com>
+ Copyright © 2003, 2004 Eric Anholt
+ Copyright © 2003, 2004 Egbert Eich
+ Copyright © 2003 Jose Fonseca
+ Copyright © 2004 BEAM Ltd
+ Copyright © 2004 The Unichrome Project
+ Copyright © 2004 Digeo, Inc., Palo Alto, CA, U.S.A
+ Copyright © 2004 Felix Kuehling
+ Copyright © 2004-2005 Nicolai Haehnle
+ Copyright © 2004 Jon Smirl <jonsmirl@gmail.com>
+ Copyright © 2005 Paul Mackerras 2005
+ Copyright © 2005-2006 Stephane Marchesin
+ Copyright © 2005 Thomas Hellstrom
+ Copyright © 2005 Lars Knoll <lars@trolltech.com>
+ Copyright © 2005 Dave Airlied
+ Copyright © 2005 Adam Jackson
+ Copyright © 2005 Stephane Marchesin
+ Copyright © 2005 Alan Hourihane
+ Copyright © 2005 Eric Anholt
+ Copyright © 2006 Ben Skeggs
+ Copyright © 2007 Arthur Huillet
+ Copyright © 2007 Advanced Micro Devices, Inc.
+ Copyright © 2007 Matthieu CASTET <castet.matthieu@free.fr>
+ Copyright © 2007 Intel Corporation
+ Copyright © 2007 Red Hat, Inc
+ Copyright © 2007 Stephane Marchesin
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -67,5 +67,5 @@ License:
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-The Debian packaging is (C) 2008, Chris Lamb <chris@chris-lamb.co.uk> and
+The Debian packaging is © 2008, Chris Lamb <chris@chris-lamb.co.uk> and
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
commit 6bbb7944af750a8410a616fbf82170fbc04de01f
Author: Chris Lamb <lamby@debian.org>
Date: Wed Feb 4 23:43:51 2009 +0000
Replace references to KERNELDIR with LINUXDIR.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index a55a764..5342e52 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -40,6 +40,9 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
scripts to avoid problems when the module package is installed without a
kernel being present. Thanks to Christoph Goehre <christoph.goehre@gmx.de>
for the patch. (Closes: #513399)
+ * Replace references to KERNELDIR with LINUXDIR to fix compilation for a
+ kernel version other than the running one. Thanks to Tormod Volden
+ <debian.tormod@gmail.com> for the patch. (Closes: #511358)
-- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
diff --git a/debian/rules b/debian/rules
index 704748a..774ea43 100755
--- a/debian/rules
+++ b/debian/rules
@@ -125,7 +125,7 @@ binary-modules:
dh_clean -k
# Build the modules
- $(MAKE) -C linux-core KERNELDIR=$(KSRC) KVERREL=$(KVERS) \
+ $(MAKE) -C linux-core LINUXDIR=$(KSRC) KVERREL=$(KVERS) \
EXTRA_CFLAGS=-DGIT_REVISION=\\\"$(shell cat debian/git-revision)\\\"
# Install the modules
@@ -148,7 +148,7 @@ binary-modules:
# (Invoked by module-assistant or make-kpkg)
kdist_config kdist_configure: prep-deb-files
kdist_clean:
- $(MAKE) -C linux-core KERNELDIR=$(KSRC) KVERREL=$(KVERS) clean
+ $(MAKE) -C linux-core LINUXDIR=$(KSRC) KVERREL=$(KVERS) clean
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary binary-modules install get-orig-source
commit 956a4dcaf36263c1362cc19a29063d7c9a3359f3
Author: Chris Lamb <lamby@debian.org>
Date: Wed Feb 4 23:41:23 2009 +0000
Unconditionally add/remove diverts in generated packages' maint. scripts
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index ec17d9a..a55a764 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -36,6 +36,10 @@ drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
- badc634... libdrm: add autoconf check for clock_gettime
- ca37077... libdrm: only check for vblank timeout if we caught EINTR
- f4f76a6... libdrm: add timeout handling to drmWaitVBlank
+ * Unconditionally add/remove diverts in generated packages' maintainer
+ scripts to avoid problems when the module package is installed without a
+ kernel being present. Thanks to Christoph Goehre <christoph.goehre@gmx.de>
+ for the patch. (Closes: #513399)
-- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
diff --git a/debian/postrm.modules.in b/debian/postrm.modules.in
index fc74698..484b58c 100644
--- a/debian/postrm.modules.in
+++ b/debian/postrm.modules.in
@@ -8,11 +8,9 @@ dir=/lib/modules/@KERNEL@/kernel/drivers/char/drm
case "${1}" in
remove)
for driver in $drivers; do
- if [ -e "$dir/$driver.ko.linux" ]; then
- dpkg-divert --package drm-modules-@KERNEL@ --remove --rename \
- --divert $dir/$driver.ko.linux \
- $dir/$driver.ko
- fi
+ dpkg-divert --package drm-modules-@KERNEL@ --remove --rename \
+ --divert $dir/$driver.ko.linux \
+ $dir/$driver.ko
done
;;
diff --git a/debian/preinst.modules.in b/debian/preinst.modules.in
index ceda217..2f58307 100644
--- a/debian/preinst.modules.in
+++ b/debian/preinst.modules.in
@@ -8,11 +8,9 @@ dir=/lib/modules/@KERNEL@/kernel/drivers/char/drm
case "${1}" in
install|upgrade)
for driver in $drivers; do
- if [ -e "$dir/$driver.ko" ]; then
- dpkg-divert --package drm-modules-@KERNEL@ --add --rename \
- --divert $dir/$driver.ko.linux \
- $dir/$driver.ko
- fi
+ dpkg-divert --package drm-modules-@KERNEL@ --add --rename \
+ --divert $dir/$driver.ko.linux \
+ $dir/$driver.ko
done
;;
commit 965393795d66bf137df017c12e543f0fa76e0ef3
Author: Chris Lamb <lamby@debian.org>
Date: Wed Feb 4 23:37:41 2009 +0000
New upstream snapshot.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 333a69d..ec17d9a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,44 @@
+drm-snapshot (2.4.4+git+20090205+8b88036-1) experimental; urgency=low
+
+ * New upstream snapshot:
+ - 8b88036... modetest: Add syntax to also specify a crtc when setting a
+ mode.
+ - 225e7e2... nouveau: install libdrm_nouveau with libdrm
+ - cb85630... nouveau: bring in new mm api definitions, without the actual
+ mm code
+ - 7a389aa... modetest: Use cairo (if available) to paint a better pattern.
+ - 2c113a1... modetest: Don't sleep when just dumping state, wait for key
+ for modeset.
+ - 669fde3... modetest: Handle setting modes on multiple crtcs with one fb.
+ - d9c55a6... modetest: Use a more interesting test pattern.
+ - 39755db... Remove the "nv" driver.
+ - bf46e09... No need to pin buffer anymore in modetest.c
+ - 854bd8f... nouveau: don't save channel context if it has recently
+ become invalid
+ - 408fc85... nouveau: no suspend support for nv50+
+ - e37bd24... Clean up README for the current state of kernel module
+ affairs.
+ - cbdd627... intel: don't count fences on 965 and later, as they don't
+ use them.
+ - 9209c9a... intel: Fix under-counting of fences registers required in
+ check_aperture.
+ - 2fa5f28... intel: libdrm support for fence management in execbuf
+ - 26ca0bc... drm compat: fix euid for >=2.6.28
+ - e6a062c... nv50: support chipset NV96
+ - 753d4c3... nv04-nv40: correct RAMHT size
+ - 27fae00... drm: remove drmstat/dristat from linux-core build
+ - 18d3cc0... bump version to 2.4.4
+ - 02445ea... intel: Retry pin ioctl on -EINTR.
+ - 65b90fb... Don't use DRM_BO_FLAG_NO_MOVE in bufmgr fake. It's a ttm
+ flag.
+ - 13ff0e5... Remove drmModeReplaceFb after it was removed from the kernel.
+ - ac8b330... nv50: ack nsource to prevent continuous protection fault irqs
+ - badc634... libdrm: add autoconf check for clock_gettime
+ - ca37077... libdrm: only check for vblank timeout if we caught EINTR
+ - f4f76a6... libdrm: add timeout handling to drmWaitVBlank
+
+ -- Chris Lamb <lamby@debian.org> Wed, 04 Feb 2009 23:34:10 +0000
+
drm-snapshot (2.4.3+git+20090105+a8c5480-1) experimental; urgency=low
[ Chris Lamb ]
diff --git a/debian/rules b/debian/rules
index 09c6797..704748a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,7 +20,7 @@ get-orig-source:
git clone git://anongit.freedesktop.org/git/mesa/drm drm-snapshot && \
cd drm-snapshot && ./autogen.sh && make distclean && \
REVISION=$$(git show --pretty=format:"%h" HEAD | head -n1) && \
- PREFIX=drm-snapshot_2.4.3+git+$$(date +%Y%m%d)+$$REVISION && cd .. && \
+ PREFIX=drm-snapshot_2.4.4+git+$$(date +%Y%m%d)+$$REVISION && cd .. && \
tar czf $$PREFIX.orig.tar.gz --exclude=autom4te.cache drm-snapshot && \
rm -rf drm-snapshot
commit 8b8803695b24d4cb4d041437a4709be06e59471b
Author: Kristian Høgsberg <krh@redhat.com>
Date: Wed Feb 4 12:17:13 2009 -0500
modetest: Add syntax to also specify a crtc when setting a mode.
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index f1c3bf3..9a82727 100644
--- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c
@@ -254,6 +254,7 @@ struct connector {
char mode_str[64];
struct drm_mode_modeinfo *mode;
drmModeEncoder *encoder;
+ int crtc;
};
static void
@@ -318,6 +319,9 @@ connector_find_mode(struct connector *c)
drmModeFreeEncoder(c->encoder);
}
+
+ if (c->crtc == -1)
+ c->crtc = c->encoder->crtc_id;
}
#ifdef HAVE_CAIRO
@@ -477,9 +481,14 @@ set_mode(struct connector *c, int count)
x = 0;
for (i = 0; i < count; i++) {
+ int crtc_id;
if (c[i].mode == NULL)
continue;
- ret = drmModeSetCrtc(fd, c[i].encoder->crtc_id, fb_id, x, 0,
+
+ printf("setting mode %s on connector %d, crtc %d\n",
+ c[i].mode_str, c[i].id, c[i].crtc);
+
+ ret = drmModeSetCrtc(fd, c[i].crtc, fb_id, x, 0,
&c[i].id, 1, c[i].mode);
x += c[i].mode->hdisplay;
@@ -503,6 +512,7 @@ void usage(char *name)
fprintf(stderr, "\t-m\tlist modes\n");
fprintf(stderr, "\t-f\tlist framebuffers\n");
fprintf(stderr, "\t-s <connector_id>:<mode>\tset a mode\n");
+ fprintf(stderr, "\t-s <connector_id>@<crtc_id>:<mode>\tset a mode\n");
fprintf(stderr, "\n\tDefault is to dump all info.\n");
exit(0);
}
@@ -538,13 +548,15 @@ int main(int argc, char **argv)
break;
case 's':
modeset = strdup(optarg);
+ con_args[count].crtc = -1;
if (sscanf(optarg, "%d:%64s",
&con_args[count].id,
- &con_args[count].mode_str) != 2)
+ &con_args[count].mode_str) != 2 &&
+ sscanf(optarg, "%d@%d:%64s",
+ &con_args[count].id,
+ &con_args[count].crtc,
+ &con_args[count].mode_str) != 3)
usage(argv[0]);
- printf("setting mode %s on connector %d\n",
- con_args[count].mode_str,
- con_args[count].id);
count++;
break;
default:
commit 225e7e274f49d5e01fa1ad3fbbb9f1499865fe67
Author: Ben Skeggs <skeggsb@gmail.com>
Date: Fri Jan 30 11:25:35 2009 +1000
nouveau: install libdrm_nouveau with libdrm
diff --git a/configure.ac b/configure.ac
index a65f79e..62d1a29 100644
--- a/configure.ac
+++ b/configure.ac
@@ -131,6 +131,8 @@ AC_OUTPUT([
Makefile
libdrm/Makefile
libdrm/intel/Makefile
+ libdrm/nouveau/Makefile
+ libdrm/nouveau/libdrm_nouveau.pc
shared-core/Makefile
tests/Makefile
tests/modeprint/Makefile
diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am
index a568aac..cba4586 100644
--- a/libdrm/Makefile.am
+++ b/libdrm/Makefile.am
@@ -18,7 +18,7 @@
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-SUBDIRS = . intel
+SUBDIRS = . intel nouveau
libdrm_la_LTLIBRARIES = libdrm.la
libdrm_ladir = $(libdir)
diff --git a/libdrm/nouveau/Makefile.am b/libdrm/nouveau/Makefile.am
new file mode 100644
index 0000000..80fb780
--- /dev/null
+++ b/libdrm/nouveau/Makefile.am
@@ -0,0 +1,40 @@
+AM_CFLAGS = \
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir)/libdrm \
+ -I$(top_srcdir)/libdrm/nouveau \
+ $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/shared-core
+
+libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+libdrm_nouveau_ladir = $(libdir)
+libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
+
+libdrm_nouveau_la_SOURCES = \
+ nouveau_device.c \
+ nouveau_channel.c \
+ nouveau_pushbuf.c \
+ nouveau_grobj.c \
+ nouveau_notifier.c \
+ nouveau_bo.c \
+ nouveau_resource.c \
+ nouveau_dma.c \
+ nouveau_fence.c
+
+libdrm_nouveaucommonincludedir = ${includedir}/nouveau
+libdrm_nouveaucommoninclude_HEADERS = \
+ nouveau_device.h \
+ nouveau_channel.h \
+ nouveau_grobj.h \
+ nouveau_notifier.h \
+ nouveau_pushbuf.h \
+ nouveau_bo.h \
+ nouveau_resource.h \
+ nouveau_class.h
+
+libdrm_nouveauincludedir = ${includedir}/drm
+libdrm_nouveauinclude_HEADERS = \
+ nouveau_drmif.h
+
+pkgconfigdir = @pkgconfigdir@
+pkgconfig_DATA = libdrm_nouveau.pc
diff --git a/libdrm/nouveau/libdrm_nouveau.pc.in b/libdrm/nouveau/libdrm_nouveau.pc.in
new file mode 100644
index 0000000..9e67a23
--- /dev/null
+++ b/libdrm/nouveau/libdrm_nouveau.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libdrm_nouveau
+Description: Userspace interface to nouveau kernel DRM services
+Version: 0.5
+Libs: -L${libdir} -ldrm_nouveau
+Cflags: -I${includedir} -I${includedir}/drm -I${includedir}/nouveau
diff --git a/libdrm/nouveau/nouveau_bo.c b/libdrm/nouveau/nouveau_bo.c
new file mode 100644
index 0000000..0ab426d
--- /dev/null
+++ b/libdrm/nouveau/nouveau_bo.c
@@ -0,0 +1,838 @@
+/*
+ * Copyright 2007 Nouveau Project
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <assert.h>
+
+#include <sys/mman.h>
+#include <sys/ioctl.h>
+
+#include "nouveau_private.h"
+
+int
+nouveau_bo_init(struct nouveau_device *dev)
+{
+ return 0;
+}
+
+void
+nouveau_bo_takedown(struct nouveau_device *dev)
+{
+}
+
+static int
+nouveau_bo_allocated(struct nouveau_bo_priv *nvbo)
+{
+ if (nvbo->sysmem || nvbo->handle || (nvbo->flags & NOUVEAU_BO_PIN))
+ return 1;
+ return 0;
+}
+
+static int
+nouveau_bo_ualloc(struct nouveau_bo_priv *nvbo)
+{
+ if (nvbo->user || nvbo->sysmem) {
+ assert(nvbo->sysmem);
+ return 0;
+ }
+
+ nvbo->sysmem = malloc(nvbo->size);
+ if (!nvbo->sysmem)
+ return -ENOMEM;
+
+ return 0;
+}
+
+static void
+nouveau_bo_ufree(struct nouveau_bo_priv *nvbo)
+{
+ if (nvbo->sysmem) {
+ if (!nvbo->user)
+ free(nvbo->sysmem);
+ nvbo->sysmem = NULL;
+ }
+}
+
+static void
+nouveau_bo_kfree_nomm(struct nouveau_bo_priv *nvbo)
+{
+ struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device);
+ struct drm_nouveau_mem_free req;
+
+ if (nvbo->map) {
+ drmUnmap(nvbo->map, nvbo->size);
+ nvbo->map = NULL;
+ }
+
+ req.offset = nvbo->offset;
+ if (nvbo->domain & NOUVEAU_BO_GART)
+ req.flags = NOUVEAU_MEM_AGP | NOUVEAU_MEM_PCI;
+ else
+ if (nvbo->domain & NOUVEAU_BO_VRAM)
+ req.flags = NOUVEAU_MEM_FB;
+ drmCommandWrite(nvdev->fd, DRM_NOUVEAU_MEM_FREE, &req, sizeof(req));
+
+ nvbo->handle = 0;
+}
+
+static void
+nouveau_bo_kfree(struct nouveau_bo_priv *nvbo)
+{
+ struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device);
+ struct drm_gem_close req;
+
+ if (!nvbo->handle)
+ return;
+
+ if (!nvdev->mm_enabled) {
+ nouveau_bo_kfree_nomm(nvbo);
+ return;
+ }
+
+ if (nvbo->map) {
+ munmap(nvbo->map, nvbo->size);
+ nvbo->map = NULL;
+ }
+
+ req.handle = nvbo->handle;
+ nvbo->handle = 0;
+ ioctl(nvdev->fd, DRM_IOCTL_GEM_CLOSE, &req);
+}
+
+static int
+nouveau_bo_kalloc_nomm(struct nouveau_bo_priv *nvbo)
+{
+ struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device);
+ struct drm_nouveau_mem_alloc req;
+ int ret;
+
+ if (nvbo->handle)
+ return 0;
+
+ if (!(nvbo->flags & (NOUVEAU_BO_VRAM|NOUVEAU_BO_GART)))
+ nvbo->flags |= (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM);
+
+ req.size = nvbo->size;
+ req.alignment = nvbo->align;
+ req.flags = 0;
+ if (nvbo->flags & NOUVEAU_BO_VRAM)
+ req.flags |= NOUVEAU_MEM_FB;
+ if (nvbo->flags & NOUVEAU_BO_GART)
+ req.flags |= (NOUVEAU_MEM_AGP | NOUVEAU_MEM_PCI);
+ if (nvbo->flags & NOUVEAU_BO_TILED) {
+ req.flags |= NOUVEAU_MEM_TILE;
+ if (nvbo->flags & NOUVEAU_BO_ZTILE)
+ req.flags |= NOUVEAU_MEM_TILE_ZETA;
+ }
+ req.flags |= NOUVEAU_MEM_MAPPED;
+
+ ret = drmCommandWriteRead(nvdev->fd, DRM_NOUVEAU_MEM_ALLOC,
+ &req, sizeof(req));
+ if (ret)
+ return ret;
+
+ nvbo->handle = req.map_handle;
+ nvbo->size = req.size;
+ nvbo->offset = req.offset;
+ if (req.flags & (NOUVEAU_MEM_AGP | NOUVEAU_MEM_PCI))
+ nvbo->domain = NOUVEAU_BO_GART;
+ else
+ if (req.flags & NOUVEAU_MEM_FB)
+ nvbo->domain = NOUVEAU_BO_VRAM;
+
+ return 0;
+}
+
+static int
+nouveau_bo_kalloc(struct nouveau_bo_priv *nvbo, struct nouveau_channel *chan)
+{
+ struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device);
+ struct drm_nouveau_gem_new req;
+ int ret;
+
+ if (nvbo->handle || (nvbo->flags & NOUVEAU_BO_PIN))
+ return 0;
+
+ if (!nvdev->mm_enabled)
+ return nouveau_bo_kalloc_nomm(nvbo);
+
+ req.channel_hint = chan ? chan->id : 0;
+
+ req.size = nvbo->size;
+ req.align = nvbo->align;
+
+ req.domain = 0;
+
+ if (nvbo->flags & NOUVEAU_BO_VRAM)
+ req.domain |= NOUVEAU_GEM_DOMAIN_VRAM;
+
+ if (nvbo->flags & NOUVEAU_BO_GART)
+ req.domain |= NOUVEAU_GEM_DOMAIN_GART;
+
+ if (nvbo->flags & NOUVEAU_BO_TILED) {
+ req.domain |= NOUVEAU_GEM_DOMAIN_TILE;
+ if (nvbo->flags & NOUVEAU_BO_ZTILE)
+ req.domain |= NOUVEAU_GEM_DOMAIN_TILE_ZETA;
+ }
+
+ if (!req.domain) {
+ req.domain |= (NOUVEAU_GEM_DOMAIN_VRAM |
+ NOUVEAU_GEM_DOMAIN_GART);
+ }
+
+ ret = drmCommandWriteRead(nvdev->fd, DRM_NOUVEAU_GEM_NEW,
+ &req, sizeof(req));
+ if (ret)
+ return ret;
+ nvbo->handle = nvbo->base.handle = req.handle;
+ nvbo->size = req.size;
+ nvbo->domain = req.domain;
+ nvbo->offset = req.offset;
+
+ return 0;
+}
+
+static int
+nouveau_bo_kmap_nomm(struct nouveau_bo_priv *nvbo)
+{
+ struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device);
+ int ret;
+
Reply to: