file i810.h was initially added on branch mga-1-0-0-branch.
[platform/upstream/libdrm.git] / linux / tdfx_context.c
index c8d6e50..1fd7331 100644 (file)
@@ -30,8 +30,6 @@
  * 
  */
 
-#include <linux/sched.h>
-
 #define __NO_VERSION__
 #include "drmP.h"
 #include "tdfx_drv.h"
@@ -107,19 +105,21 @@ int tdfx_resctx(struct inode *inode, struct file *filp, unsigned int cmd,
        int             i;
 
        DRM_DEBUG("%d\n", DRM_RESERVED_CONTEXTS);
-       copy_from_user_ret(&res, (drm_ctx_res_t *)arg, sizeof(res), -EFAULT);
+       if (copy_from_user(&res, (drm_ctx_res_t *)arg, sizeof(res)))
+               return -EFAULT;
        if (res.count >= DRM_RESERVED_CONTEXTS) {
                memset(&ctx, 0, sizeof(ctx));
                for (i = 0; i < DRM_RESERVED_CONTEXTS; i++) {
                        ctx.handle = i;
-                       copy_to_user_ret(&res.contexts[i],
+                       if (copy_to_user(&res.contexts[i],
                                         &i,
-                                        sizeof(i),
-                                        -EFAULT);
+                                        sizeof(i)))
+                               return -EFAULT;
                }
        }
        res.count = DRM_RESERVED_CONTEXTS;
-       copy_to_user_ret((drm_ctx_res_t *)arg, &res, sizeof(res), -EFAULT);
+       if (copy_to_user((drm_ctx_res_t *)arg, &res, sizeof(res)))
+               return -EFAULT;
        return 0;
 }
 
@@ -131,7 +131,8 @@ int tdfx_addctx(struct inode *inode, struct file *filp, unsigned int cmd,
        drm_device_t    *dev    = priv->dev;
        drm_ctx_t       ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t *)arg, sizeof(ctx), -EFAULT);
+       if (copy_from_user(&ctx, (drm_ctx_t *)arg, sizeof(ctx)))
+               return -EFAULT;
        if ((ctx.handle = tdfx_alloc_queue(dev)) == DRM_KERNEL_CONTEXT) {
                                /* Skip kernel's context and get a new one. */
                ctx.handle = tdfx_alloc_queue(dev);
@@ -143,7 +144,8 @@ int tdfx_addctx(struct inode *inode, struct file *filp, unsigned int cmd,
                return -ENOMEM;
        }
    
-       copy_to_user_ret((drm_ctx_t *)arg, &ctx, sizeof(ctx), -EFAULT);
+       if (copy_to_user((drm_ctx_t *)arg, &ctx, sizeof(ctx)))
+               return -EFAULT;
        return 0;
 }
 
@@ -152,7 +154,8 @@ int tdfx_modctx(struct inode *inode, struct file *filp, unsigned int cmd,
 {
        drm_ctx_t ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t*)arg, sizeof(ctx), -EFAULT);
+       if (copy_from_user(&ctx, (drm_ctx_t*)arg, sizeof(ctx)))
+               return -EFAULT;
        if (ctx.flags==_DRM_CONTEXT_PRESERVED)
                tdfx_res_ctx.handle=ctx.handle;
        return 0;
@@ -163,10 +166,12 @@ int tdfx_getctx(struct inode *inode, struct file *filp, unsigned int cmd,
 {
        drm_ctx_t ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t*)arg, sizeof(ctx), -EFAULT);
-       /* This is 0, because we don't hanlde any context flags */
+       if (copy_from_user(&ctx, (drm_ctx_t*)arg, sizeof(ctx)))
+               return -EFAULT;
+       /* This is 0, because we don't handle any context flags */
        ctx.flags = 0;
-       copy_to_user_ret((drm_ctx_t*)arg, &ctx, sizeof(ctx), -EFAULT);
+       if (copy_to_user((drm_ctx_t*)arg, &ctx, sizeof(ctx)))
+               return -EFAULT;
        return 0;
 }
 
@@ -177,7 +182,8 @@ int tdfx_switchctx(struct inode *inode, struct file *filp, unsigned int cmd,
        drm_device_t    *dev    = priv->dev;
        drm_ctx_t       ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t *)arg, sizeof(ctx), -EFAULT);
+       if (copy_from_user(&ctx, (drm_ctx_t *)arg, sizeof(ctx)))
+               return -EFAULT;
        DRM_DEBUG("%d\n", ctx.handle);
        return tdfx_context_switch(dev, dev->last_context, ctx.handle);
 }
@@ -189,7 +195,8 @@ int tdfx_newctx(struct inode *inode, struct file *filp, unsigned int cmd,
        drm_device_t    *dev    = priv->dev;
        drm_ctx_t       ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t *)arg, sizeof(ctx), -EFAULT);
+       if (copy_from_user(&ctx, (drm_ctx_t *)arg, sizeof(ctx)))
+               return -EFAULT;
        DRM_DEBUG("%d\n", ctx.handle);
        tdfx_context_switch_complete(dev, ctx.handle);
 
@@ -203,7 +210,8 @@ int tdfx_rmctx(struct inode *inode, struct file *filp, unsigned int cmd,
        drm_device_t    *dev    = priv->dev;
        drm_ctx_t       ctx;
 
-       copy_from_user_ret(&ctx, (drm_ctx_t *)arg, sizeof(ctx), -EFAULT);
+       if (copy_from_user(&ctx, (drm_ctx_t *)arg, sizeof(ctx)))
+               return -EFAULT;
        DRM_DEBUG("%d\n", ctx.handle);
        drm_ctxbitmap_free(dev, ctx.handle);