[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libdrm: Changes to 'debian-unstable'



 ChangeLog                       |   65 +++++++++++
 configure.ac                    |    2 
 debian/changelog                |    6 -
 debian/control                  |    2 
 debian/xsfbs/xsfbs.mk           |    4 
 debian/xsfbs/xsfbs.sh           |  229 ----------------------------------------
 libdrm/intel/intel_bufmgr_gem.c |   92 +++++-----------
 libdrm/intel/intel_chipset.h    |   10 +
 libdrm/radeon/radeon_cs_gem.c   |   12 +-
 libdrm/xf86drmMode.c            |    3 
 10 files changed, 118 insertions(+), 307 deletions(-)

New commits:
commit 268376961bf59079077c80cefe1c1cf3728b1800
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Sep 24 21:53:25 2009 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 6c06509..6073662 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-libdrm (2.4.14-1) UNRELEASED; urgency=low
+libdrm (2.4.14-1) unstable; urgency=low
 
   * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N.
   * New upstream release.
   * Bump Standards-Version to 3.8.3.
 
- -- Julien Cristau <jcristau@debian.org>  Sat, 05 Sep 2009 14:14:29 +0200
+ -- Julien Cristau <jcristau@debian.org>  Thu, 24 Sep 2009 21:53:09 +0200
 
 libdrm (2.4.13-1) unstable; urgency=low
 

commit d3f408c2ef67cd532b9790f0e1adb1b5f06ae1e6
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Sep 24 21:52:12 2009 +0200

    Bump Standards-Version to 3.8.3.

diff --git a/debian/changelog b/debian/changelog
index a394c8b..6c06509 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libdrm (2.4.14-1) UNRELEASED; urgency=low
 
   * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N.
   * New upstream release.
+  * Bump Standards-Version to 3.8.3.
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 05 Sep 2009 14:14:29 +0200
 
diff --git a/debian/control b/debian/control
index b128dbc..adb6f36 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
 Build-Depends: debhelper (>= 5.0.0), libx11-dev, dpkg-dev (>= 1.13.19), quilt (>= 0.40), automake, libtool, pkg-config, libpthread-stubs0-dev
-Standards-Version: 3.8.1
+Standards-Version: 3.8.3
 Section: libs
 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libdrm
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libdrm.git

commit a474dd48cc59fa71be9859def132e5363297f5e0
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Sep 24 21:03:54 2009 +0200

    Bump changelogs

diff --git a/ChangeLog b/ChangeLog
index 9932baa..a8c7b97 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,68 @@
+commit ac71f0849928f4b2fbb69c01304ac6f9df8916a1
+Author: Eric Anholt <eric@anholt.net>
+Date:   Mon Sep 21 15:29:58 2009 -0700
+
+    Bump to 2.4.14 for release.
+
+commit 51b89733c53458b6827f0db99eb46a20fa1c7020
+Author: Eric Anholt <eric@anholt.net>
+Date:   Sun Sep 6 23:17:14 2009 -0700
+
+    intel: Remove the max_entries stuff that complicated bo reuse.
+    
+    I thought I was going to do all sorts of crazy experiments with it.  I never
+    did, and it turned out the free-after-a-few-seconds plan is working out fine.
+
+commit 456a358b9ade5c90ff86b2322a79648c69cddcdc
+Author: Eric Anholt <eric@anholt.net>
+Date:   Sun Sep 6 23:02:21 2009 -0700
+
+    intel: Remove the old swrast flag for reducing cache flushing.
+    
+    It hasn't been doing anything effective since
+    52e5d24fae4af6f2f4a5304a516c8c5ab347a11b, and we pretty much don't bo_map
+    pinned buffers any more anyway.
+
+commit 0a24654129847cf5cd61b5e8fb54c8f9c7441c55
+Author: Keith Packard <keithp@keithp.com>
+Date:   Thu Sep 17 17:28:08 2009 -0700
+
+    drmModeFreeConnector: free encoders and properties
+    
+    These were leaking.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cdd325b59a17a614b90fc2f8b388175e6d79e3cf
+Author: Dave Airlie <airlied@linux.ie>
+Date:   Tue Sep 15 07:29:02 2009 +1000
+
+    radeon: fix 32/64 bit issue with sign extension
+    
+    Not sure what intptr_t was up to here.
+    
+    Reported and tested by: Kevin DeKorte
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 67e4172394a88d4922fb8d9c7c3d96ce7e02c5a6
+Author: Zhenyu Wang <zhenyuw@linux.intel.com>
+Date:   Mon Sep 7 16:17:04 2009 +0800
+
+    libdrm_intel: include B43 chipset check
+    
+    Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
+
+commit 121b9648f846d900e67818869974ee82046e9b25
+Author: Zhenyu Wang <zhenyuw@linux.intel.com>
+Date:   Fri Sep 4 09:24:23 2009 +0800
+
+    libdrm_intel: add new pci ids
+    
+    New ids for G41, Clarkdale and Arrandale.
+    Make sure we don't need to count fence also on new chips.
+    
+    Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
+
 commit 73b59c894380995a2889b98e79acadd2da0bb237
 Author: Eric Anholt <eric@anholt.net>
 Date:   Fri Aug 28 15:20:22 2009 -0700
diff --git a/debian/changelog b/debian/changelog
index 42352d6..a394c8b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
-libdrm (2.4.13-2) UNRELEASED; urgency=low
+libdrm (2.4.14-1) UNRELEASED; urgency=low
 
   * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N.
+  * New upstream release.
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 05 Sep 2009 14:14:29 +0200
 

commit ac71f0849928f4b2fbb69c01304ac6f9df8916a1
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Sep 21 15:29:58 2009 -0700

    Bump to 2.4.14 for release.

diff --git a/configure.ac b/configure.ac
index 425417e..d707052 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,7 @@
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 AC_PREREQ(2.60)
-AC_INIT([libdrm], 2.4.13, [dri-devel@lists.sourceforge.net], libdrm)
+AC_INIT([libdrm], 2.4.14, [dri-devel@lists.sourceforge.net], libdrm)
 AC_USE_SYSTEM_EXTENSIONS
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2])

commit 51b89733c53458b6827f0db99eb46a20fa1c7020
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Sep 6 23:17:14 2009 -0700

    intel: Remove the max_entries stuff that complicated bo reuse.
    
    I thought I was going to do all sorts of crazy experiments with it.  I never
    did, and it turned out the free-after-a-few-seconds plan is working out fine.

diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c
index 84836a8..78297e0 100644
--- a/libdrm/intel/intel_bufmgr_gem.c
+++ b/libdrm/intel/intel_bufmgr_gem.c
@@ -69,15 +69,6 @@ typedef struct _drm_intel_bo_gem drm_intel_bo_gem;
 
 struct drm_intel_gem_bo_bucket {
    drmMMListHead head;
-
-   /**
-    * Limit on the number of entries in this bucket.
-    *
-    * 0 means that this caching at this bucket size is disabled.
-    * -1 means that there is no limit to caching at this size.
-    */
-   int max_entries;
-   int num_entries;
    unsigned long size;
 };
 
@@ -105,6 +96,7 @@ typedef struct _drm_intel_bufmgr_gem {
     uint64_t gtt_size;
     int available_fences;
     int pci_device;
+    char bo_reuse;
 } drm_intel_bufmgr_gem;
 
 struct _drm_intel_bo_gem {
@@ -342,7 +334,7 @@ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr, const char *name,
     /* If we don't have caching at this size, don't actually round the
      * allocation up.
      */
-    if (bucket == NULL || bucket->max_entries == 0) {
+    if (bucket == NULL) {
 	bo_size = size;
 	if (bo_size < page_size)
 	    bo_size = page_size;
@@ -352,7 +344,7 @@ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr, const char *name,
 
     pthread_mutex_lock(&bufmgr_gem->lock);
     /* Get a buffer out of the cache if available */
-    if (bucket != NULL && bucket->num_entries > 0) {
+    if (bucket != NULL && !DRMLISTEMPTY(&bucket->head)) {
 	if (for_render) {
 	    /* Allocate new render-target BOs from the tail (MRU)
 	     * of the list, as it will likely be hot in the GPU cache
@@ -360,7 +352,6 @@ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr, const char *name,
 	     */
 	    bo_gem = DRMLISTENTRY(drm_intel_bo_gem, bucket->head.prev, head);
 	    DRMLISTDEL(&bo_gem->head);
-	    bucket->num_entries--;
 	    alloc_from_cache = 1;
 	} else {
 	    /* For non-render-target BOs (where we're probably going to map it
@@ -374,7 +365,6 @@ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr, const char *name,
 	    if (!drm_intel_gem_bo_busy(&bo_gem->bo)) {
 		alloc_from_cache = 1;
 		DRMLISTDEL(&bo_gem->head);
-		bucket->num_entries--;
 	    }
 	}
     }
@@ -553,7 +543,6 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
 		break;
 
 	    DRMLISTDEL(&bo_gem->head);
-	    bucket->num_entries--;
 
 	    drm_intel_gem_bo_free(&bo_gem->bo);
 	}
@@ -587,11 +576,7 @@ drm_intel_gem_bo_unreference_locked(drm_intel_bo *bo)
 	bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo->size);
 	/* Put the buffer into our internal cache for reuse if we can. */
 	tiling_mode = I915_TILING_NONE;
-	if (bo_gem->reusable &&
-	    bucket != NULL &&
-	    (bucket->max_entries == -1 ||
-	     (bucket->max_entries > 0 &&
-	      bucket->num_entries < bucket->max_entries)) &&
+	if (bufmgr_gem->bo_reuse && bo_gem->reusable && bucket != NULL &&
 	    drm_intel_gem_bo_set_tiling(bo, &tiling_mode, 0) == 0)
 	{
 	    struct timespec time;
@@ -606,7 +591,6 @@ drm_intel_gem_bo_unreference_locked(drm_intel_bo *bo)
 	    bo_gem->reloc_count = 0;
 
 	    DRMLISTADDTAIL(&bo_gem->head, &bucket->head);
-	    bucket->num_entries++;
 
 	    drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time.tv_sec);
 	} else {
@@ -931,7 +915,6 @@ drm_intel_bufmgr_gem_destroy(drm_intel_bufmgr *bufmgr)
 	while (!DRMLISTEMPTY(&bucket->head)) {
 	    bo_gem = DRMLISTENTRY(drm_intel_bo_gem, bucket->head.next, head);
 	    DRMLISTDEL(&bo_gem->head);
-	    bucket->num_entries--;
 
 	    drm_intel_gem_bo_free(&bo_gem->bo);
 	}
@@ -1225,11 +1208,8 @@ void
 drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr)
 {
     drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr;
-    int i;
 
-    for (i = 0; i < DRM_INTEL_GEM_BO_BUCKETS; i++) {
-	bufmgr_gem->cache_bucket[i].max_entries = -1;
-    }
+    bufmgr_gem->bo_reuse = 1;
 }
 
 /**

commit 456a358b9ade5c90ff86b2322a79648c69cddcdc
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Sep 6 23:02:21 2009 -0700

    intel: Remove the old swrast flag for reducing cache flushing.
    
    It hasn't been doing anything effective since
    52e5d24fae4af6f2f4a5304a516c8c5ab347a11b, and we pretty much don't bo_map
    pinned buffers any more anyway.

diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c
index baa0ee6..84836a8 100644
--- a/libdrm/intel/intel_bufmgr_gem.c
+++ b/libdrm/intel/intel_bufmgr_gem.c
@@ -127,13 +127,6 @@ struct _drm_intel_bo_gem {
     int validate_index;
 
     /**
-     * Boolean whether we've started swrast
-     * Set when the buffer has been mapped
-     * Cleared when the buffer is unmapped
-     */
-    int swrast;
-
-    /**
      * Current tiling mode
      */
     uint32_t tiling_mode;
@@ -663,30 +656,26 @@ drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
 	    return ret;
 	}
 	bo_gem->mem_virtual = (void *)(uintptr_t)mmap_arg.addr_ptr;
-	bo_gem->swrast = 0;
     }
     DBG("bo_map: %d (%s) -> %p\n", bo_gem->gem_handle, bo_gem->name,
 	bo_gem->mem_virtual);
     bo->virtual = bo_gem->mem_virtual;
 
-    if (bo_gem->global_name != 0 || !bo_gem->swrast) {
-	set_domain.handle = bo_gem->gem_handle;
-	set_domain.read_domains = I915_GEM_DOMAIN_CPU;
-	if (write_enable)
-	    set_domain.write_domain = I915_GEM_DOMAIN_CPU;
-	else
-	    set_domain.write_domain = 0;
-	do {
-	    ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN,
-			&set_domain);
-	} while (ret == -1 && errno == EINTR);
-	if (ret != 0) {
-	    fprintf (stderr, "%s:%d: Error setting swrast %d: %s\n",
-		     __FILE__, __LINE__, bo_gem->gem_handle, strerror (errno));
-	    pthread_mutex_unlock(&bufmgr_gem->lock);
-	    return ret;
-	}
-	bo_gem->swrast = 1;
+    set_domain.handle = bo_gem->gem_handle;
+    set_domain.read_domains = I915_GEM_DOMAIN_CPU;
+    if (write_enable)
+	set_domain.write_domain = I915_GEM_DOMAIN_CPU;
+    else
+	set_domain.write_domain = 0;
+    do {
+	ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN,
+		    &set_domain);
+    } while (ret == -1 && errno == EINTR);
+    if (ret != 0) {
+	fprintf (stderr, "%s:%d: Error setting to CPU domain %d: %s\n",
+		 __FILE__, __LINE__, bo_gem->gem_handle, strerror (errno));
+	pthread_mutex_unlock(&bufmgr_gem->lock);
+	return ret;
     }
 
     pthread_mutex_unlock(&bufmgr_gem->lock);
@@ -797,14 +786,16 @@ drm_intel_gem_bo_unmap(drm_intel_bo *bo)
     assert(bo_gem->mem_virtual != NULL);
 
     pthread_mutex_lock(&bufmgr_gem->lock);
-    if (bo_gem->swrast) {
-	sw_finish.handle = bo_gem->gem_handle;
-	do {
-	    ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SW_FINISH,
-			&sw_finish);
-	} while (ret == -1 && errno == EINTR);
-	bo_gem->swrast = 0;
-    }
+
+    /* Cause a flush to happen if the buffer's pinned for scanout, so the
+     * results show up in a timely manner.
+     */
+    sw_finish.handle = bo_gem->gem_handle;
+    do {
+	ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SW_FINISH,
+		    &sw_finish);
+    } while (ret == -1 && errno == EINTR);
+
     bo->virtual = NULL;
     pthread_mutex_unlock(&bufmgr_gem->lock);
     return 0;
@@ -1100,9 +1091,6 @@ drm_intel_gem_bo_exec(drm_intel_bo *bo, int used,
 	drm_intel_bo *bo = bufmgr_gem->exec_bos[i];
 	drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo;
 
-	/* Need to call swrast on next bo_map */
-	bo_gem->swrast = 0;
-
 	/* Disconnect the buffer from the validate list */
 	bo_gem->validate_index = -1;
 	drm_intel_gem_bo_unreference_locked(bo);

commit 0a24654129847cf5cd61b5e8fb54c8f9c7441c55
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 17:28:08 2009 -0700

    drmModeFreeConnector: free encoders and properties
    
    These were leaking.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c
index ea11207..88b4fe3 100644
--- a/libdrm/xf86drmMode.c
+++ b/libdrm/xf86drmMode.c
@@ -116,6 +116,9 @@ void drmModeFreeConnector(drmModeConnectorPtr ptr)
 	if (!ptr)
 		return;
 
+	drmFree(ptr->encoders);
+	drmFree(ptr->prop_values);
+	drmFree(ptr->props);
 	drmFree(ptr->modes);
 	drmFree(ptr);
 

commit cdd325b59a17a614b90fc2f8b388175e6d79e3cf
Author: Dave Airlie <airlied@linux.ie>
Date:   Tue Sep 15 07:29:02 2009 +1000

    radeon: fix 32/64 bit issue with sign extension
    
    Not sure what intptr_t was up to here.
    
    Reported and tested by: Kevin DeKorte
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/libdrm/radeon/radeon_cs_gem.c b/libdrm/radeon/radeon_cs_gem.c
index a0db53b..e42ec48 100644
--- a/libdrm/radeon/radeon_cs_gem.c
+++ b/libdrm/radeon/radeon_cs_gem.c
@@ -100,10 +100,10 @@ static struct radeon_cs *cs_gem_create(struct radeon_cs_manager *csm,
     }
     csg->chunks[0].chunk_id = RADEON_CHUNK_ID_IB;
     csg->chunks[0].length_dw = 0;
-    csg->chunks[0].chunk_data = (uint64_t)(intptr_t)csg->base.packets;
+    csg->chunks[0].chunk_data = (uint64_t)(uintptr_t)csg->base.packets;
     csg->chunks[1].chunk_id = RADEON_CHUNK_ID_RELOCS;
     csg->chunks[1].length_dw = 0;
-    csg->chunks[1].chunk_data = (uint64_t)(intptr_t)csg->relocs;
+    csg->chunks[1].chunk_data = (uint64_t)(uintptr_t)csg->relocs;
     return (struct radeon_cs*)csg;
 }
 
@@ -184,7 +184,7 @@ static int cs_gem_write_reloc(struct radeon_cs *cs,
         }
         cs->relocs = csg->relocs = tmp;
         csg->nrelocs += 1;
-        csg->chunks[1].chunk_data = (uint64_t)(intptr_t)csg->relocs;
+        csg->chunks[1].chunk_data = (uint64_t)(uintptr_t)csg->relocs;
     }
     csg->relocs_bo[csg->base.crelocs] = bo;
     idx = (csg->base.crelocs++) * RELOC_SIZE;
@@ -269,11 +269,11 @@ static int cs_gem_emit(struct radeon_cs *cs)
 
     csg->chunks[0].length_dw = cs->cdw;
 
-    chunk_array[0] = (uint64_t)(intptr_t)&csg->chunks[0];
-    chunk_array[1] = (uint64_t)(intptr_t)&csg->chunks[1];
+    chunk_array[0] = (uint64_t)(uintptr_t)&csg->chunks[0];
+    chunk_array[1] = (uint64_t)(uintptr_t)&csg->chunks[1];
 
     csg->cs.num_chunks = 2;
-    csg->cs.chunks = (uint64_t)(intptr_t)chunk_array;
+    csg->cs.chunks = (uint64_t)(uintptr_t)chunk_array;
 
     r = drmCommandWriteRead(cs->csm->fd, DRM_RADEON_CS,
                             &csg->cs, sizeof(struct drm_radeon_cs));

commit 67e4172394a88d4922fb8d9c7c3d96ce7e02c5a6
Author: Zhenyu Wang <zhenyuw@linux.intel.com>
Date:   Mon Sep 7 16:17:04 2009 +0800

    libdrm_intel: include B43 chipset check
    
    Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>

diff --git a/libdrm/intel/intel_chipset.h b/libdrm/intel/intel_chipset.h
index 26bc585..688476a 100644
--- a/libdrm/intel/intel_chipset.h
+++ b/libdrm/intel/intel_chipset.h
@@ -50,6 +50,7 @@
                        (dev)->pci_device == 0x2E12 || \
                        (dev)->pci_device == 0x2E22 || \
                        (dev)->pci_device == 0x2E32 || \
+                       (dev)->pci_device == 0x2E42 || \
                        (dev)->pci_device == 0x0042 || \
                        (dev)->pci_device == 0x0046)
 
@@ -59,7 +60,9 @@
 
 #define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \
                      (dev)->pci_device == 0x2E12 || \
-                     (dev)->pci_device == 0x2E22)
+                     (dev)->pci_device == 0x2E22 || \
+                     (dev)->pci_device == 0x2E32 || \
+                     (dev)->pci_device == 0x2E42)
 
 #define IS_G33(dev)    ((dev)->pci_device == 0x29C2 ||  \
                         (dev)->pci_device == 0x29B2 ||  \

commit 121b9648f846d900e67818869974ee82046e9b25
Author: Zhenyu Wang <zhenyuw@linux.intel.com>
Date:   Fri Sep 4 09:24:23 2009 +0800

    libdrm_intel: add new pci ids
    
    New ids for G41, Clarkdale and Arrandale.
    Make sure we don't need to count fence also on new chips.
    
    Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>

diff --git a/libdrm/intel/intel_chipset.h b/libdrm/intel/intel_chipset.h
index 0b3af02..26bc585 100644
--- a/libdrm/intel/intel_chipset.h
+++ b/libdrm/intel/intel_chipset.h
@@ -48,7 +48,10 @@
                        (dev)->pci_device == 0x2A42 || \
                        (dev)->pci_device == 0x2E02 || \
                        (dev)->pci_device == 0x2E12 || \
-                       (dev)->pci_device == 0x2E22)
+                       (dev)->pci_device == 0x2E22 || \
+                       (dev)->pci_device == 0x2E32 || \
+                       (dev)->pci_device == 0x0042 || \
+                       (dev)->pci_device == 0x0046)
 
 #define IS_I965GM(dev) ((dev)->pci_device == 0x2A02)
 

commit 5693792171d885769e58dcccc053c08b11acd12a
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:53:36 2009 +0200

    xsfbs.mk: no need for shlibs.local

diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index f0f8953..1f86848 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -265,10 +265,6 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir
 	#                                    debian/*.prerm
 	>$@
 
-# Generate the shlibs.local file.
-debian/shlibs.local:
-	cat debian/*.shlibs >$@
-
 SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null)
 VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null)
 INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null)

commit 1f858adff1ce2687cf542dd9b69b81137412f8a4
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:47:09 2009 +0200

    xsfbs.sh: remove unused reject_whitespace function

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index b3f4bbe..45acd59 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -93,22 +93,6 @@ reject_nondigits () {
   done
 }
 
-reject_whitespace () {
-  # syntax: reject_whitespace [ operand ]
-  #
-  # scan operand (typically a shell variable whose value cannot be trusted) for
-  # whitespace characters and barf if any are found
-  if [ -n "$1" ]; then
-    # does the operand contain any whitespace?
-    if expr "$1" : "[[:space:]]" > /dev/null 2>&1; then
-      # can't use die(), because I want to avoid forward references
-      echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_whitespace() encountered" \
-           "possibly malicious garbage \"$1\"" >&2
-      exit $SHELL_LIB_THROWN_ERROR
-    fi
-  fi
-}
-
 reject_unlikely_path_chars () {
   # syntax: reject_unlikely_path_chars [ operand ... ]
   #

commit 0dd71e12416aa7dc60ed68af8127e04609b125f4
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:23:53 2009 +0200

    xsfbs.sh: remove unused find_culprits function

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 7dbb196..b3f4bbe 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -199,53 +199,6 @@ usage_error () {
   exit $SHELL_LIB_USAGE_ERROR
 }
 
-find_culprits () {
-  local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \
-    msg
-
-  reject_whitespace "$1"
-  message "Searching for overlapping packages..."
-  dpkg_info_dir=/var/lib/dpkg/info
-  if [ -d $dpkg_info_dir ]; then
-    if [ "$(echo $dpkg_info_dir/*.list)" != "$dpkg_info_dir/*.list" ]; then
-      possible_culprits=$(ls -1 $dpkg_info_dir/*.list | egrep -v \
-        "(xbase-clients|x11-common|xfs|xlibs)")
-      if [ -n "$possible_culprits" ]; then
-        smoking_guns=$(grep -l "$1" $possible_culprits || true)
-        if [ -n "$smoking_guns" ]; then
-          bad_packages=$(printf "\\n")
-          for f in $smoking_guns; do
-            # too bad you can't nest parameter expansion voodoo
-            p=${f%*.list}      # strip off the trailing ".list"
-            package=${p##*/}   # strip off the directories
-            bad_packages=$(printf "%s\n%s" "$bad_packages" "$package")
-          done
-          msg=$(cat <<EOF
-The following packages appear to have file overlaps with the X.Org packages;
-these packages are either very old, or in violation of Debian Policy.  Try
-upgrading each of these packages to the latest available version if possible:
-for example, with the command "apt-get install".  If no newer version of a
-package is available, you will have to remove it; for example, with the command
-"apt-get remove".  If even the latest available version of the package has
-this file overlap, please file a bug against that package with the Debian Bug
-Tracking System.  You may want to refer the package maintainer to section 12.8
-of the Debian Policy manual.
-EOF
-)
-          message "$msg"
-          message "The overlapping packages are: $bad_packages"
-        else
-          message "no overlaps found."
-        fi
-      fi
-    else
-      message "cannot search; no matches for $dpkg_info_dir/*.list."
-    fi
-  else
-    message "cannot search; $dpkg_info_dir does not exist."
-  fi
-}
-
 font_update () {
   # run $UPDATECMDS in $FONTDIRS
 

commit b6c6eceec66066ebac16c85cc75bfa8a4f6cf58a
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:23:06 2009 +0200

    xsfbs.sh: remove unused maplink function

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index f869274..7dbb196 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -199,37 +199,6 @@ usage_error () {
   exit $SHELL_LIB_USAGE_ERROR
 }
 
-
-maplink () {
-  # returns what symlink should point to; i.e., what the "sane" answer is
-  # Keep this in sync with the debian/*.links files.
-  # This is only needed for symlinks to directories.
-  #
-  # XXX: Most of these look wrong in the X11R7 world and need to be fixed.
-  # If we've stopped using this function, fixing it might enable us to re-enable
-  # it again and catch more errors.
-  case "$1" in
-    /etc/X11/xkb/compiled) echo /var/lib/xkb ;;
-    /etc/X11/xkb/xkbcomp) echo /usr/X11R6/bin/xkbcomp ;;
-    /usr/X11R6/lib/X11/app-defaults) echo /etc/X11/app-defaults ;;
-    /usr/X11R6/lib/X11/fs) echo /etc/X11/fs ;;
-    /usr/X11R6/lib/X11/lbxproxy) echo /etc/X11/lbxproxy ;;
-    /usr/X11R6/lib/X11/proxymngr) echo /etc/X11/proxymngr ;;
-    /usr/X11R6/lib/X11/rstart) echo /etc/X11/rstart ;;
-    /usr/X11R6/lib/X11/twm) echo /etc/X11/twm ;;
-    /usr/X11R6/lib/X11/xdm) echo /etc/X11/xdm ;;
-    /usr/X11R6/lib/X11/xinit) echo /etc/X11/xinit ;;
-    /usr/X11R6/lib/X11/xkb) echo /etc/X11/xkb ;;
-    /usr/X11R6/lib/X11/xserver) echo /etc/X11/xserver ;;
-    /usr/X11R6/lib/X11/xsm) echo /etc/X11/xsm ;;
-    /usr/bin/X11) echo ../X11R6/bin ;;
-    /usr/bin/rstartd) echo ../X11R6/bin/rstartd ;;
-    /usr/include/X11) echo ../X11R6/include/X11 ;;
-    /usr/lib/X11) echo ../X11R6/lib/X11 ;;
-    *) internal_error "maplink() called with unknown path \"$1\"" ;;
-  esac
-}
-
 find_culprits () {
   local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \
     msg

commit 8eb3d6a5ce9964876e48ea56048f1a5135ef4f28
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:21:34 2009 +0200

    xsfbs.sh: remove unused analyze_path

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 4461b1a..f869274 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -230,32 +230,6 @@ maplink () {
   esac
 }
 
-analyze_path () {
-  # given a supplied set of pathnames, break each one up by directory and do an
-  # ls -dl on each component, cumulatively; i.e.
-  # analyze_path /usr/X11R6/bin -> ls -dl /usr /usr/X11R6 /usr/X11R6/bin
-  # Thanks to Randolph Chung for this clever hack.
-
-  local f g
-
-  while [ -n "$1" ]; do
-    reject_whitespace "$1"
-    g=
-    message "Analyzing $1:"
-    for f in $(echo "$1" | tr / \  ); do
-      if [ -e /$g$f ]; then
-        ls -dl /$g$f /$g$f.dpkg-* 2> /dev/null || true
-        g=$g$f/
-      else
-        message "/$g$f: nonexistent; directory contents of /$g:"
-        ls -l /$g
-        break
-      fi
-    done
-    shift
-  done
-}
-
 find_culprits () {
   local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \
     msg

commit 1d0081bdf60944d8ef0935a531dfbcc5f01739c5
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Aug 26 18:20:11 2009 +0200

    xsfbs.sh: remove unused check_symlinks_and_{bomb,warn}

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 781826f..4461b1a 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -303,115 +303,6 @@ EOF
   fi
 }
 
-check_symlink () {
-  # syntax: check_symlink symlink
-  #
-  # See if specified symlink points where it is supposed to.  Return 0 if it
-  # does, and 1 if it does not.
-  #
-  # Primarily used by check_symlinks_and_warn() and check_symlinks_and_bomb().
-
-  local symlink
-
-  # validate arguments
-  if [ $# -ne 1 ]; then
-    usage_error "check_symlink() called with wrong number of arguments;" \
-                "expected 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  symlink="$1"
-
-  if [ "$(maplink "$symlink")" = "$(readlink "$symlink")" ]; then
-    return 0
-  else
-    return 1
-  fi
-}
-
-check_symlinks_and_warn () {
-  # syntax: check_symlinks_and_warn symlink ...
-  #
-  # For each argument, check for symlink sanity, and warn if it isn't sane.
-  #
-  # Call this function from a preinst script in the event $1 is "upgrade" or
-  # "install".
-
-  local errmsg symlink
-
-  # validate arguments
-  if [ $# -lt 1 ]; then
-    usage_error "check_symlinks_and_warn() called with wrong number of" \
-                "arguments; expected at least 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  while [ -n "$1" ]; do
-    symlink="$1"
-    if [ -L "$symlink" ]; then
-      if ! check_symlink "$symlink"; then
-        observe "$symlink symbolic link points to wrong location" \
-                "$(readlink "$symlink"); removing"
-        rm "$symlink"
-      fi
-    elif [ -e "$symlink" ]; then
-      errmsg="$symlink exists and is not a symbolic link; this package cannot"
-      errmsg="$errmsg be installed until this"
-      if [ -f "$symlink" ]; then
-        errmsg="$errmsg file"
-      elif [ -d "$symlink" ]; then
-        errmsg="$errmsg directory"
-      else
-        errmsg="$errmsg thing"
-      fi
-      errmsg="$errmsg is removed"
-      die "$errmsg"
-    fi
-    shift
-  done
-}
-
-check_symlinks_and_bomb () {
-  # syntax: check_symlinks_and_bomb symlink ...
-  #
-  # For each argument, check for symlink sanity, and bomb if it isn't sane.
-  #
-  # Call this function from a postinst script.
-
-  local problem symlink
-
-  # validate arguments
-  if [ $# -lt 1 ]; then
-    usage_error "check_symlinks_and_bomb() called with wrong number of"
-                "arguments; expected at least 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  while [ -n "$1" ]; do
-    problem=
-    symlink="$1"
-    if [ -L "$symlink" ]; then
-      if ! check_symlink "$symlink"; then
-        problem=yes
-        warn "$symlink symbolic link points to wrong location" \
-             "$(readlink "$symlink")"
-      fi
-    elif [ -e "$symlink" ]; then
-      problem=yes
-      warn "$symlink is not a symbolic link"
-    else
-      problem=yes
-      warn "$symlink symbolic link does not exist"
-    fi
-    if [ -n "$problem" ]; then
-      analyze_path "$symlink" "$(readlink "$symlink")"
-      find_culprits "$symlink"
-      die "bad symbolic links on system"
-    fi
-    shift
-  done
-}
-
 font_update () {
   # run $UPDATECMDS in $FONTDIRS
 


Reply to: