diff options
Diffstat (limited to 'bsd')
| -rw-r--r-- | bsd/drmP.h | 44 | ||||
| -rw-r--r-- | bsd/drm_context.h | 8 | ||||
| -rw-r--r-- | bsd/drm_drv.h | 53 | ||||
| -rw-r--r-- | bsd/drm_ioctl.h | 9 | ||||
| -rw-r--r-- | bsd/drm_lock.h | 32 | ||||
| -rw-r--r-- | bsd/drm_os_freebsd.h | 6 | ||||
| -rw-r--r-- | bsd/drm_os_netbsd.h | 2 | 
7 files changed, 6 insertions, 148 deletions
@@ -80,12 +80,8 @@ typedef struct drm_file drm_file_t;  #define DRM_HASH_SIZE	      16 /* Size of key hash table		  */  #define DRM_KERNEL_CONTEXT    0	 /* Change drm_resctx if changed	  */  #define DRM_RESERVED_CONTEXTS 1	 /* Change drm_resctx if changed	  */ -#define DRM_LOOPING_LIMIT     5000000 -#define DRM_BSZ		      1024 /* Buffer size for /dev/drm? output	  */ -#define DRM_LOCK_SLICE	      1	/* Time slice for lock, in jiffies	  */  #define DRM_FLAG_DEBUG	  0x01 -#define DRM_FLAG_NOCTX	  0x02  #define DRM_MEM_DMA	   0  #define DRM_MEM_SAREA	   1 @@ -110,12 +106,6 @@ typedef struct drm_file drm_file_t;  #define DRM_MAX_CTXBITMAP (PAGE_SIZE * 8) -				/* Backward compatibility section */ -				/* _PAGE_WT changed to _PAGE_PWT in 2.2.6 */ -#ifndef _PAGE_PWT -#define _PAGE_PWT _PAGE_WT -#endif -  				/* Mapping helper macros */  #define DRM_IOREMAP(map)						\  	(map)->handle = DRM(ioremap)( dev, map ) @@ -143,11 +133,6 @@ typedef struct drm_file drm_file_t;  } while(0) -typedef struct drm_pci_list { -	u16 vendor; -	u16 device; -} drm_pci_list_t; -  typedef struct drm_ioctl_desc {  	int		     (*func)(DRM_IOCTL_ARGS);  	int		     auth_needed; @@ -271,22 +256,6 @@ typedef struct drm_lock_data {  } drm_lock_data_t;  typedef struct drm_device_dma { -#if 0 -				/* Performance Counters */ -	atomic_t	  total_prio;	/* Total DRM_DMA_PRIORITY	   */ -	atomic_t	  total_bytes;	/* Total bytes DMA'd		   */ -	atomic_t	  total_dmas;	/* Total DMA buffers dispatched	   */ - -	atomic_t	  total_missed_dma;  /* Missed drm_do_dma	    */ -	atomic_t	  total_missed_lock; /* Missed lock in drm_do_dma   */ -	atomic_t	  total_missed_free; /* Missed drm_free_this_buffer */ -	atomic_t	  total_missed_sched;/* Missed drm_dma_schedule	    */ - -	atomic_t	  total_tried;	/* Tried next_buffer		    */ -	atomic_t	  total_hit;	/* Sent next_buffer		    */ -	atomic_t	  total_lost;	/* Lost interrupt		    */ -#endif -  	drm_buf_entry_t	  bufs[DRM_MAX_ORDER+1];  	int		  buf_count;  	drm_buf_t	  **buflist;	/* Vector of pointers info bufs	   */ @@ -337,11 +306,6 @@ typedef struct drm_sg_mem {  	dma_addr_t	*busaddr;  } drm_sg_mem_t; -typedef struct drm_sigdata { -	int           context; -	drm_hw_lock_t *lock; -} drm_sigdata_t; -  typedef struct drm_local_map {  	unsigned long	offset;	 /* Physical address (0 for SAREA)*/  	unsigned long	size;	 /* Physical size (bytes)	    */ @@ -380,11 +344,8 @@ struct drm_device {  	device_t	  device;	/* Device instance from newbus     */  #endif  	dev_t		  devnode;	/* Device number for mknod	   */ -	char		  *devname;	/* For /proc/interrupts		   */ -	int		  blocked;	/* Blocked due to VC switch?	   */  	int		  flags;	/* Flags to open(2)		   */ -	int		  writable;	/* Opened with FWRITE		   */  				/* Locks */  	DRM_SPINTYPE	  count_lock;	/* For inuse, open_count, buf_use  */ @@ -444,7 +405,7 @@ struct drm_device {  #if __HAVE_VBL_IRQ     	wait_queue_head_t vbl_queue;	/* vbl wait channel */     	atomic_t          vbl_received; -#if 0 /* vbl signals are untested, ntested */ +#if 0 /* vbl signals are untested */  	struct drm_vbl_sig_list vbl_sig_list;  	DRM_SPINTYPE      vbl_lock;  #endif @@ -465,8 +426,6 @@ struct drm_device {  	drm_sg_mem_t      *sg;  /* Scatter gather memory */  	atomic_t          *ctx_bitmap;  	void		  *dev_private; -	drm_sigdata_t     sigdata; /* For block_all_signals */ -	sigset_t          sigmask;  };  extern int	     DRM(flags); @@ -522,7 +481,6 @@ extern int	     DRM(flush_unblock)(drm_device_t *dev, int context,  					drm_lock_flags_t flags);  extern int	     DRM(flush_block_and_flush)(drm_device_t *dev, int context,  						drm_lock_flags_t flags); -extern int           DRM(notifier)(void *priv);  				/* Buffer management support (drm_bufs.h) */  extern int	     DRM(order)( unsigned long size ); diff --git a/bsd/drm_context.h b/bsd/drm_context.h index 7761e9b8..c7823ac1 100644 --- a/bsd/drm_context.h +++ b/bsd/drm_context.h @@ -218,10 +218,6 @@ int DRM(context_switch)( drm_device_t *dev, int old, int new )                  return 0;          } -        if ( DRM(flags) & DRM_FLAG_NOCTX ) { -                DRM(context_switch_complete)( dev, new ); -        } -          return 0;  } @@ -391,10 +387,6 @@ int DRM(context_switch)(drm_device_t *dev, int old, int new)  		return DRM_ERR(EINVAL);  	} -	if (DRM(flags) & DRM_FLAG_NOCTX) { -		DRM(context_switch_complete)(dev, new); -	} -  	atomic_dec(&q->use_count);  	return 0; diff --git a/bsd/drm_drv.h b/bsd/drm_drv.h index e2c32dab..8f08da46 100644 --- a/bsd/drm_drv.h +++ b/bsd/drm_drv.h @@ -86,12 +86,6 @@  #ifndef __HAVE_SG  #define __HAVE_SG			0  #endif -#ifndef __HAVE_KERNEL_CTX_SWITCH -#define __HAVE_KERNEL_CTX_SWITCH	0 -#endif -#ifndef PCI_ANY_ID -#define PCI_ANY_ID	~0 -#endif  #ifndef DRIVER_PREINIT  #define DRIVER_PREINIT() @@ -120,13 +114,6 @@  #ifndef DRIVER_FOPS  #endif -/* - * The default number of instances (minor numbers) to initialize. - */ -#ifndef DRIVER_NUM_CARDS -#define DRIVER_NUM_CARDS 1 -#endif -  #if 1 && DRM_DEBUG_CODE  int DRM(flags) = DRM_FLAG_DEBUG;  #else @@ -556,12 +543,6 @@ static int DRM(takedown)( drm_device_t *dev )  	DRM_LOCK;  	callout_stop( &dev->timer ); -	if ( dev->devname ) { -		DRM(free)( dev->devname, strlen( dev->devname ) + 1, -			   DRM_MEM_DRIVER ); -		dev->devname = NULL; -	} -  	if ( dev->unique ) {  		DRM(free)( dev->unique, strlen( dev->unique ) + 1,  			   DRM_MEM_DRIVER ); @@ -1020,10 +1001,9 @@ int DRM(close)(dev_t kdev, int flags, int fmt, DRM_STRUCTPROC *p)  	device_unbusy(dev->device);  #endif  	if ( !--dev->open_count ) { -		if ( atomic_read( &dev->ioctl_count ) || dev->blocked ) { -			DRM_ERROR( "Device busy: %ld %d\n", -				(unsigned long)atomic_read( &dev->ioctl_count ), -				   dev->blocked ); +		if (atomic_read(&dev->ioctl_count)) { +			DRM_ERROR("Device busy: %ld\n", +			    (unsigned long)atomic_read( &dev->ioctl_count ));  			DRM_SPINUNLOCK( &dev->count_lock );  			return DRM_ERR(EBUSY);  		} @@ -1180,6 +1160,7 @@ int DRM(lock)( DRM_IOCTL_ARGS )  #endif          if ( !ret ) { +		/* FIXME: Add signal blocking here */  #if __HAVE_DMA_READY                  if ( lock.flags & _DRM_LOCK_READY ) { @@ -1191,12 +1172,6 @@ int DRM(lock)( DRM_IOCTL_ARGS )  			DRIVER_DMA_QUIESCENT();  		}  #endif -#if __HAVE_KERNEL_CTX_SWITCH -		if ( dev->last_context != lock.context ) { -			DRM(context_switch)(dev, dev->last_context, -					    lock.context); -		} -#endif          }          DRM_DEBUG( "%d %s\n", lock.context, ret ? "interrupted" : "has lock" ); @@ -1220,25 +1195,6 @@ int DRM(unlock)( DRM_IOCTL_ARGS )  	atomic_inc( &dev->counts[_DRM_STAT_UNLOCKS] ); -#if __HAVE_KERNEL_CTX_SWITCH -	/* We no longer really hold it, but if we are the next -	 * agent to request it then we should just be able to -	 * take it immediately and not eat the ioctl. -	 */ -	dev->lock.pid = 0; -	{ -		__volatile__ unsigned int *plock = &dev->lock.hw_lock->lock; -		unsigned int old, new, prev, ctx; - -		ctx = lock.context; -		do { -			old  = *plock; -			new  = ctx; -			prev = cmpxchg(plock, old, new); -		} while (prev != old); -	} -	wake_up_interruptible(&dev->lock.lock_queue); -#else  	DRM(lock_transfer)( dev, &dev->lock.hw_lock->lock,  			    DRM_KERNEL_CONTEXT );  #if __HAVE_DMA_SCHEDULE @@ -1253,7 +1209,6 @@ int DRM(unlock)( DRM_IOCTL_ARGS )  			DRM_ERROR( "\n" );  		}  	} -#endif /* !__HAVE_KERNEL_CTX_SWITCH */  	return 0;  } diff --git a/bsd/drm_ioctl.h b/bsd/drm_ioctl.h index 270b2bb5..bf0083d9 100644 --- a/bsd/drm_ioctl.h +++ b/bsd/drm_ioctl.h @@ -121,15 +121,6 @@ int DRM(setunique)( DRM_IOCTL_ARGS )  	dev->unique[dev->unique_len] = '\0'; -	dev->devname = DRM(alloc)(strlen(dev->name) + strlen(dev->unique) + 2, -				  DRM_MEM_DRIVER); -	if(!dev->devname) { -		DRM(free)(dev->devname, sizeof(*dev->devname), DRM_MEM_DRIVER); -		return DRM_ERR(ENOMEM); -	} -	sprintf(dev->devname, "%s@%s", dev->name, dev->unique); - -  	return 0;  } diff --git a/bsd/drm_lock.h b/bsd/drm_lock.h index 3bab78ef..a859b178 100644 --- a/bsd/drm_lock.h +++ b/bsd/drm_lock.h @@ -202,35 +202,3 @@ int DRM(finish)( DRM_IOCTL_ARGS )  	DRM(flush_unblock)(dev, lock.context, lock.flags);  	return ret;  } - -/* If we get here, it means that the process has called DRM_IOCTL_LOCK -   without calling DRM_IOCTL_UNLOCK. - -   If the lock is not held, then let the signal proceed as usual. - -   If the lock is held, then set the contended flag and keep the signal -   blocked. - - -   Return 1 if the signal should be delivered normally. -   Return 0 if the signal should be blocked.  */ - -int DRM(notifier)(void *priv) -{ -	drm_sigdata_t *s = (drm_sigdata_t *)priv; -	unsigned int  old, new; - -				/* Allow signal delivery if lock isn't held */ -	if (!_DRM_LOCK_IS_HELD(s->lock->lock) -	    || _DRM_LOCKING_CONTEXT(s->lock->lock) != s->context) return 1; - -				/* Otherwise, set flag to force call to -                                   drmUnlock */ -	do { -		old  = s->lock->lock; -		new  = old | _DRM_LOCK_CONT; -	} while (!atomic_cmpset_int(&s->lock->lock, old, new)); - -	return 0; -} - diff --git a/bsd/drm_os_freebsd.h b/bsd/drm_os_freebsd.h index 4168fce1..41cd0804 100644 --- a/bsd/drm_os_freebsd.h +++ b/bsd/drm_os_freebsd.h @@ -218,7 +218,7 @@ while (!condition) {							\  #endif  #define malloctype DRM(M_DRM) -/* The macros confliced in the MALLOC_DEFINE */ +/* The macros conflicted in the MALLOC_DEFINE */  MALLOC_DECLARE(malloctype);  #undef malloctype @@ -317,10 +317,8 @@ find_first_zero_bit(volatile void *p, int max)   * exist.   */  #if (__FreeBSD_version < 500002 && __FreeBSD_version > 500000) || __FreeBSD_version < 420000 -/* FIXME: again, what's the exact date? */  #define MODULE_VERSION(a,b)		struct __hack  #define MODULE_DEPEND(a,b,c,d,e)	struct __hack -  #endif  /* Redefinitions to make templating easy */ @@ -346,8 +344,6 @@ find_first_zero_bit(volatile void *p, int max)  #define DRM_DEBUG(fmt, arg...)		 do { } while (0)  #endif -#define DRM_PROC_LIMIT (PAGE_SIZE-80) -  #if (__FreeBSD_version >= 500000) || ((__FreeBSD_version < 500000) && (__FreeBSD_version >= 410002))  #define DRM_SYSCTL_HANDLER_ARGS	(SYSCTL_HANDLER_ARGS)  #else diff --git a/bsd/drm_os_netbsd.h b/bsd/drm_os_netbsd.h index 172d036f..7a6f9821 100644 --- a/bsd/drm_os_netbsd.h +++ b/bsd/drm_os_netbsd.h @@ -306,8 +306,6 @@ do { \  #define DRM_DEBUG(fmt, arg...)		 do { } while (0)  #endif -#define DRM_PROC_LIMIT (PAGE_SIZE-80) -  #define DRM_SYSCTL_PRINT(fmt, arg...)		\    snprintf(buf, sizeof(buf), fmt, ##arg);	\    error = SYSCTL_OUT(req, buf, strlen(buf));	\  | 
