Beispiel #1
0
/* Doesn't need the hardware lock.
 */
int i830_irq_wait(struct drm_device *dev, void *data,
		  struct drm_file *file_priv)
{
	drm_i830_private_t *dev_priv = dev->dev_private;
	drm_i830_irq_wait_t *irqwait = data; 

	if (!dev_priv) {
		DRM_ERROR("%s called with no initialization\n", __FUNCTION__);
		return -EINVAL;
	}

	return i830_wait_irq(dev, irqwait->irq_seq);
}
Beispiel #2
0
/* Doesn't need the hardware lock.
 */
int i830_irq_wait( struct inode *inode, struct file *filp, unsigned int cmd,
		   unsigned long arg )
{
	drm_file_t	  *priv	    = filp->private_data;
	drm_device_t	  *dev	    = priv->head->dev;
	drm_i830_private_t *dev_priv = dev->dev_private;
	drm_i830_irq_wait_t irqwait;

	if ( !dev_priv ) {
		DRM_ERROR( "%s called with no initialization\n", __FUNCTION__ );
		return -EINVAL;
	}

	if (copy_from_user( &irqwait, (drm_i830_irq_wait_t __user *)arg, 
			    sizeof(irqwait) ))
		return -EFAULT;

	return i830_wait_irq( dev, irqwait.irq_seq );
}