diff options
Diffstat (limited to 'bsd')
| -rw-r--r-- | bsd/drm_dma.h | 1 | ||||
| -rw-r--r-- | bsd/drm_os_freebsd.h | 17 | 
2 files changed, 15 insertions, 3 deletions
| diff --git a/bsd/drm_dma.h b/bsd/drm_dma.h index 25d7eb6e..4593a712 100644 --- a/bsd/drm_dma.h +++ b/bsd/drm_dma.h @@ -597,7 +597,6 @@ int DRM(control)( DRM_IOCTL_ARGS )  }  #if __HAVE_VBL_IRQ -  int DRM(wait_vblank)( DRM_IOCTL_ARGS )  {  	DRM_DEVICE; diff --git a/bsd/drm_os_freebsd.h b/bsd/drm_os_freebsd.h index 70ca60a6..a0ec9e3c 100644 --- a/bsd/drm_os_freebsd.h +++ b/bsd/drm_os_freebsd.h @@ -139,6 +139,21 @@ do {								\  	}							\  } while (0) +#define DRM_HZ hz + +#define DRM_WAIT_ON( ret, queue, timeout, condition )			\ +do {									\ +	if (condition)							\ +		break;							\ +	ret = tsleep( &(queue), PZERO | PCATCH, "rdnirq", (timeout) );	\ +	if ( (ret == EWOULDBLOCK) || (ret == EINTR) )			\ +		return DRM_ERR(EBUSY);					\ +} while (1) + +#define DRM_WAKEUP( queue ) wakeup( queue ) +#define DRM_WAKEUP_INT( queue ) wakeup( queue ) +#define DRM_INIT_WAITQUEUE( queue )  do {} while (0) +  #define DRM_COPY_TO_USER_IOCTL(user, kern, size)	\  	if ( IOCPARM_LEN(cmd) != size)			\  		return EINVAL;				\ @@ -173,8 +188,6 @@ do {									\     	__asm __volatile("" : : : "memory");				\  } while (0) -#define DRM_WAKEUP(w) wakeup(w) -#define DRM_WAKEUP_INT(w) wakeup(w)  #define PAGE_ALIGN(addr) round_page(addr) | 
