xserver: Branch 'master'

George Sapountzis gsap7 at kemper.freedesktop.org
Mon Nov 13 01:56:48 EET 2006


 configure.ac                          |    2 
 hw/xfree86/dri/dri.c                  |    6 
 hw/xfree86/os-support/xf86drmCompat.h |  258 ----------------------------------
 hw/xfree86/os-support/xf86mm.h        |  210 ---------------------------
 include/libdrm-config.h.in            |   10 -
 5 files changed, 4 insertions(+), 482 deletions(-)

New commits:
diff-tree 5bfe7f4dfc6ab51b6790d74faf11574385234423 (from acb5ff4c73ac4d52201d7c421f488e2ead5c8b9c)
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Mon Nov 13 01:54:32 2006 +0200

    DRI: call drmSetServerInfo() before drmOpen().
    
    Also, remove some libdrm remnants.

diff --git a/configure.ac b/configure.ac
index 0977ee3..103b087 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,8 +49,6 @@ dnl xwin-config.h covers the XWin DDX.
 AC_CONFIG_HEADERS(include/xwin-config.h)
 dnl kdrive-config.h covers the kdrive DDX
 AC_CONFIG_HEADERS(include/kdrive-config.h)
-dnl libdrm now needs 64-bit file offsets
-AC_CONFIG_HEADERS(include/libdrm-config.h)
 
 AC_PROG_CC
 AM_PROG_AS
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index fbb24e4..a49c632 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -84,6 +84,8 @@ static RESTYPE DRIDrawablePrivResType;
 static RESTYPE DRIContextPrivResType;
 static void    DRIDestroyDummyContext(ScreenPtr pScreen, Bool hasCtxPriv);
 
+static drmServerInfo DRIDRMServerInfo;
+
 				/* Wrapper just like xf86DrvMsg, but
 				   without the verbosity level checking.
 				   This will make it easy to turn off some
@@ -174,6 +176,8 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfo
     else
 	openbusid = NULL;
 
+    drmSetServerInfo(&DRIDRMServerInfo);
+
     /* Note that drmOpen will try to load the kernel module, if needed. */
     fd = drmOpen(pDRIInfo->drmDriverName, openbusid);
     if (fd < 0) {
@@ -622,8 +626,6 @@ DRIExtensionInit(void)
 	    return FALSE;
     }
 
-    drmSetServerInfo(&DRIDRMServerInfo);
-
     RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
 
     return TRUE;
diff --git a/hw/xfree86/os-support/xf86drmCompat.h b/hw/xfree86/os-support/xf86drmCompat.h
deleted file mode 100644
index 8ac6ee4..0000000
--- a/hw/xfree86/os-support/xf86drmCompat.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/* xf86drmCompat.h -- OS-independent header for old device specific DRM user-level
- *                    library interface
- *
- * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
- * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- *
- * 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 (including the next
- * paragraph) 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
- * PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
- *
- * Authors:
- *   Gareth Hughes <gareth at valinux.com>
- *   Kevin E. Martin <martin at valinux.com>
- *   Keith Whitwell <keith at tungstengraphics.com>
- *
- * Backwards compatability modules broken out by:
- *   Jens Owen <jens at tungstengraphics.com>
- *
- *
- */
-
-#ifndef _XF86DRI_COMPAT_H_
-#define _XF86DRI_COMPAT_H_
-
-/* WARNING: Do not change, or add, anything to this file.  It is only provided
- * for binary backwards compatability with the old driver specific DRM 
- * extensions used before XFree86 4.3.
- */
-
-#ifndef __user
-#define __user
-#endif
-
-/* I810 */
-
-typedef struct {
-   unsigned int start; 
-   unsigned int end; 
-   unsigned int size;
-   unsigned int mmio_offset;
-   unsigned int buffers_offset;
-   int sarea_off;
-
-   unsigned int front_offset;
-   unsigned int back_offset;
-   unsigned int depth_offset;
-   unsigned int overlay_offset;
-   unsigned int overlay_physical;
-   unsigned int w;
-   unsigned int h;
-   unsigned int pitch;
-   unsigned int pitch_bits;
-} drmCompatI810Init;
-
-extern Bool drmI810CleanupDma(int driSubFD);
-extern Bool drmI810InitDma(int driSubFD, drmCompatI810Init *info );
-
-/* Mga */
-
-typedef struct {
-   unsigned long sarea_priv_offset;
-   int chipset;
-   int sgram;
-   unsigned int maccess;
-   unsigned int fb_cpp;
-   unsigned int front_offset, front_pitch;
-   unsigned int back_offset, back_pitch;
-   unsigned int depth_cpp;
-   unsigned int depth_offset, depth_pitch;
-   unsigned int texture_offset[2];
-   unsigned int texture_size[2];
-   unsigned long fb_offset;
-   unsigned long mmio_offset;
-   unsigned long status_offset;
-   unsigned long warp_offset;
-   unsigned long primary_offset;
-   unsigned long buffers_offset;
-} drmCompatMGAInit;
-
-extern int drmMGAInitDMA( int fd, drmCompatMGAInit *info );
-extern int drmMGACleanupDMA( int fd );
-extern int drmMGAFlushDMA( int fd, drmLockFlags flags );
-extern int drmMGAEngineReset( int fd );
-extern int drmMGAFullScreen( int fd, int enable );
-extern int drmMGASwapBuffers( int fd );
-extern int drmMGAClear( int fd, unsigned int flags,
-			unsigned int clear_color, unsigned int clear_depth,
-			unsigned int color_mask, unsigned int depth_mask );
-extern int drmMGAFlushVertexBuffer( int fd, int indx, int used, int discard );
-extern int drmMGAFlushIndices( int fd, int indx,
-			       int start, int end, int discard );
-extern int drmMGATextureLoad( int fd, int indx,
-			      unsigned int dstorg, unsigned int length );
-extern int drmMGAAgpBlit( int fd, unsigned int planemask,
-			  unsigned int src, int src_pitch,
-			  unsigned int dst, int dst_pitch,
-			  int delta_sx, int delta_sy,
-			  int delta_dx, int delta_dy,
-			  int height, int ydir );
-
-/* R128 */
-
-typedef struct {
-   unsigned long sarea_priv_offset;
-   int is_pci;
-   int cce_mode;
-   int cce_secure;
-   int ring_size;
-   int usec_timeout;
-   unsigned int fb_bpp;
-   unsigned int front_offset, front_pitch;
-   unsigned int back_offset, back_pitch;
-   unsigned int depth_bpp;
-   unsigned int depth_offset, depth_pitch;
-   unsigned int span_offset;
-   unsigned long fb_offset;
-   unsigned long mmio_offset;
-   unsigned long ring_offset;
-   unsigned long ring_rptr_offset;
-   unsigned long buffers_offset;
-   unsigned long agp_textures_offset;
-} drmCompatR128Init;
-
-extern int drmR128InitCCE( int fd, drmCompatR128Init *info );
-extern int drmR128CleanupCCE( int fd );
-extern int drmR128StartCCE( int fd );
-extern int drmR128StopCCE( int fd );
-extern int drmR128ResetCCE( int fd );
-extern int drmR128WaitForIdleCCE( int fd );
-extern int drmR128EngineReset( int fd );
-extern int drmR128FullScreen( int fd, int enable );
-extern int drmR128SwapBuffers( int fd );
-extern int drmR128Clear( int fd, unsigned int flags,
-			 unsigned int clear_color, unsigned int clear_depth,
-			 unsigned int color_mask, unsigned int depth_mask );
-extern int drmR128FlushVertexBuffer( int fd, int prim, int indx,
-				     int count, int discard );
-extern int drmR128FlushIndices( int fd, int prim, int indx,
-				int start, int end, int discard );
-extern int drmR128TextureBlit( int fd, int indx,
-			       int offset, int pitch, int format,
-			       int x, int y, int width, int height );
-extern int drmR128WriteDepthSpan( int fd, int n, int x, int y,
-				  const unsigned int depth[],
-				  const unsigned char mask[] );
-extern int drmR128WriteDepthPixels( int fd, int n,
-				    const int x[], const int y[],
-				    const unsigned int depth[],
-				    const unsigned char mask[] );
-extern int drmR128ReadDepthSpan( int fd, int n, int x, int y );
-extern int drmR128ReadDepthPixels( int fd, int n,
-				   const int x[], const int y[] );
-extern int drmR128PolygonStipple( int fd, unsigned int *mask );
-extern int drmR128FlushIndirectBuffer( int fd, int indx,
-				       int start, int end, int discard );
-
-/* Radeon */
-
-typedef struct {
-   unsigned long sarea_priv_offset;
-   int is_pci;
-   int cp_mode;
-   int agp_size;
-   int ring_size;
-   int usec_timeout;
-
-   unsigned int fb_bpp;
-   unsigned int front_offset, front_pitch;
-   unsigned int back_offset, back_pitch;
-   unsigned int depth_bpp;
-   unsigned int depth_offset, depth_pitch;
-
-   unsigned long fb_offset;
-   unsigned long mmio_offset;
-   unsigned long ring_offset;
-   unsigned long ring_rptr_offset;
-   unsigned long buffers_offset;
-   unsigned long agp_textures_offset;
-} drmCompatRadeonInit;
-
-typedef struct {
-   unsigned int x;
-   unsigned int y;
-   unsigned int width;
-   unsigned int height;
-   void *data;
-} drmCompatRadeonTexImage;
-
-extern int drmRadeonInitCP( int fd, drmCompatRadeonInit *info );
-extern int drmRadeonCleanupCP( int fd );
-extern int drmRadeonStartCP( int fd );
-extern int drmRadeonStopCP( int fd );
-extern int drmRadeonResetCP( int fd );
-extern int drmRadeonWaitForIdleCP( int fd );
-extern int drmRadeonEngineReset( int fd );
-extern int drmRadeonFullScreen( int fd, int enable );
-extern int drmRadeonSwapBuffers( int fd );
-extern int drmRadeonClear( int fd, unsigned int flags,
-			   unsigned int clear_color, unsigned int clear_depth,
-			   unsigned int color_mask, unsigned int stencil,
-			   void *boxes, int nbox );
-extern int drmRadeonFlushVertexBuffer( int fd, int prim, int indx,
-				       int count, int discard );
-extern int drmRadeonFlushIndices( int fd, int prim, int indx,
-				  int start, int end, int discard );
-extern int drmRadeonLoadTexture( int fd, int offset, int pitch, int format,
-				 int width, int height,
-				 drmCompatRadeonTexImage *image );
-extern int drmRadeonPolygonStipple( int fd, unsigned int *mask );
-extern int drmRadeonFlushIndirectBuffer( int fd, int indx,
-					 int start, int end, int discard );
-
-/* SiS */
-extern Bool drmSiSAgpInit(int driSubFD, int offset, int size);
-
-/* I830 */
-typedef struct {
-   unsigned int start;
-   unsigned int end;
-   unsigned int size;
-   unsigned int mmio_offset;
-   unsigned int buffers_offset;
-   int sarea_off;
-   unsigned int front_offset;
-   unsigned int back_offset;
-   unsigned int depth_offset;
-   unsigned int w;
-   unsigned int h;
-   unsigned int pitch;
-   unsigned int pitch_bits;
-   unsigned int cpp;
-} drmCompatI830Init;
-
-extern Bool drmI830CleanupDma(int driSubFD);
-extern Bool drmI830InitDma(int driSubFD, drmCompatI830Init *info );
-
-#endif
-
-/* WARNING: Do not change, or add, anything to this file.  It is only provided
- * for binary backwards compatability with the old driver specific DRM 
- * extensions used before XFree86 4.3.
- */
diff --git a/hw/xfree86/os-support/xf86mm.h b/hw/xfree86/os-support/xf86mm.h
deleted file mode 100644
index e1a4e3e..0000000
--- a/hw/xfree86/os-support/xf86mm.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/**************************************************************************
- * 
- * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND. USA.
- * All Rights Reserved.
- * 
- * 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, sub license, 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 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS 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.
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * 
- **************************************************************************/
-
-#ifndef _XF86MM_H_
-#define _XF86MM_H_
-#include <stddef.h>
-#include "drm.h"
-
-/*
- * Note on multithreaded applications using this interface.
- * Libdrm is not threadsafe, so common buffer, TTM, and fence objects need to
- * be protected using an external mutex.
- *
- * Note: Don't protect the following functions, as it may lead to deadlocks:
- * drmBOUnmap(), drmFenceBuffers().
- * The kernel is synchronizing and refcounting buffer maps. 
- * User space only needs to refcount object usage within the same application.
- */
-
-
-/*
- * List macros heavily inspired by the Linux kernel
- * list handling. No list looping yet.
- */
-
-typedef struct _drmMMListHead
-{
-    struct _drmMMListHead *prev;
-    struct _drmMMListHead *next;
-} drmMMListHead;
-
-#define DRMINITLISTHEAD(__item)		       \
-  do{					       \
-    (__item)->prev = (__item);		       \
-    (__item)->next = (__item);		       \
-  } while (0)
-
-#define DRMLISTADD(__item, __list)			\
-  do {						\
-    (__item)->prev = (__list);			\
-    (__item)->next = (__list)->next;		\
-    (__list)->next->prev = (__item);		\
-    (__list)->next = (__item);			\
-  } while (0)
-
-#define DRMLISTADDTAIL(__item, __list)		\
-  do {						\
-    (__item)->next = (__list);			\
-    (__item)->prev = (__list)->prev;		\
-    (__list)->prev->next = (__item);		\
-    (__list)->prev = (__item);			\
-  } while(0)
-
-#define DRMLISTDEL(__item)			\
-  do {						\
-    (__item)->prev->next = (__item)->next;	\
-    (__item)->next->prev = (__item)->prev;	\
-  } while(0)
-
-#define DRMLISTDELINIT(__item)			\
-  do {						\
-    (__item)->prev->next = (__item)->next;	\
-    (__item)->next->prev = (__item)->prev;	\
-    (__item)->next = (__item);			\
-    (__item)->prev = (__item);			\
-  } while(0)
-
-#define DRMLISTENTRY(__type, __item, __field)   \
-    ((__type *)(((char *) (__item)) - offsetof(__type, __field)))
-
-typedef struct _drmFence{
-        unsigned handle;
-        int class;
-        unsigned type; 
-        unsigned flags;
-        unsigned signaled;
-        unsigned pad[4]; /* for future expansion */
-} drmFence;
-
-typedef struct _drmBO{
-    drm_bo_type_t type;
-    unsigned handle;
-    drm_u64_t mapHandle;
-    unsigned flags;
-    unsigned mask;
-    unsigned mapFlags;
-    unsigned long size;
-    unsigned long offset;
-    unsigned long start;
-    unsigned replyFlags;
-    unsigned fenceFlags;
-    unsigned pageAlignment;
-    void *virtual;
-    void *mapVirtual;
-    int mapCount;
-    unsigned pad[8];     /* for future expansion */
-} drmBO;
-
-
-typedef struct _drmBONode {
-    drmMMListHead head;
-    drmBO *buf;
-    drm_bo_arg_t bo_arg;
-    unsigned long arg0;
-    unsigned long arg1;
-} drmBONode;
-
-typedef struct _drmBOList {
-    unsigned numTarget;
-    unsigned numCurrent;
-    unsigned numOnList;
-    drmMMListHead list;
-    drmMMListHead free;
-} drmBOList;
-
-/* Fencing */
-
-extern int drmFenceCreate(int fd, unsigned flags, int class,
-			  unsigned type, 
-			  drmFence *fence);
-extern int drmFenceDestroy(int fd, const drmFence *fence);
-extern int drmFenceReference(int fd, unsigned handle, drmFence *fence);
-extern int drmFenceUnreference(int fd, const drmFence *fence);
-extern int drmFenceFlush(int fd, drmFence *fence, unsigned flush_type);
-extern int drmFenceSignaled(int fd, drmFence *fence, 
-			    unsigned fenceType, int *signaled);
-extern int drmFenceWait(int fd, unsigned flags, drmFence *fence, 
-			unsigned flush_type);
-extern int drmFenceEmit(int fd, unsigned flags, drmFence *fence, 
-			unsigned emit_type);
-extern int drmFenceBuffers(int fd, unsigned flags, drmFence *fence);
-extern int drmFenceUpdate(int fd, drmFence *fence);
-
-
-/*
- * Buffer object list functions.
- */
-
-extern void drmBOFreeList(drmBOList *list);
-extern int drmBOResetList(drmBOList *list);
-extern void *drmBOListIterator(drmBOList *list);
-extern void *drmBOListNext(drmBOList *list, void *iterator);
-extern drmBO *drmBOListBuf(void *iterator);
-extern int drmBOCreateList(int numTarget, drmBOList *list);
-
-/*
- * Buffer object functions.
- */
-
-extern int drmBOCreate(int fd, unsigned long start, unsigned long size,
-		       unsigned pageAlignment,void *user_buffer, 
-		       drm_bo_type_t type, unsigned mask,
-		       unsigned hint, drmBO *buf);
-extern int drmBODestroy(int fd, drmBO *buf);
-extern int drmBOReference(int fd, unsigned handle, drmBO *buf);
-extern int drmBOUnReference(int fd, drmBO *buf);
-extern int drmBOMap(int fd, drmBO *buf, unsigned mapFlags, unsigned mapHint,
-		    void **address);
-extern int drmBOUnmap(int fd, drmBO *buf);
-extern int drmBOValidate(int fd, drmBO *buf, unsigned flags, unsigned mask, 
-			 unsigned hint);
-extern int drmBOFence(int fd, drmBO *buf, unsigned flags, unsigned fenceHandle);
-extern int drmBOInfo(int fd, drmBO *buf);
-extern int drmBOBusy(int fd, drmBO *buf, int *busy);
-
-
-extern int drmAddValidateItem(drmBOList *list, drmBO *buf, unsigned flags, 
-		       unsigned mask,
-		       int *newItem);
-extern int drmBOValidateList(int fd, drmBOList *list);
-extern int drmBOFenceList(int fd, drmBOList *list, unsigned fenceHandle);
-extern int drmBOWaitIdle(int fd, drmBO *buf, unsigned hint);
-
-/*
- * Initialization functions.
- */
-
-extern int drmMMInit(int fd, unsigned long pOffset, unsigned long pSize,
-		     unsigned memType);
-extern int drmMMTakedown(int fd, unsigned memType);
-extern int drmMMLock(int fd, unsigned memType);
-extern int drmMMUnlock(int fd, unsigned memType);
-
-
-#endif
diff --git a/include/libdrm-config.h.in b/include/libdrm-config.h.in
deleted file mode 100644
index 286004b..0000000
--- a/include/libdrm-config.h.in
+++ /dev/null
@@ -1,10 +0,0 @@
-/* 
- * libdrm-config.h.in: not at all generated.
- */
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-



More information about the xorg-commit mailing list