root/drivers/gpu/drm/nouveau/nouveau_ioc32.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. nouveau_compat_ioctl

   1 /**
   2  * \file mga_ioc32.c
   3  *
   4  * 32-bit ioctl compatibility routines for the MGA DRM.
   5  *
   6  * \author Dave Airlie <airlied@linux.ie> with code from patches by Egbert Eich
   7  *
   8  *
   9  * Copyright (C) Paul Mackerras 2005
  10  * Copyright (C) Egbert Eich 2003,2004
  11  * Copyright (C) Dave Airlie 2005
  12  * All Rights Reserved.
  13  *
  14  * Permission is hereby granted, free of charge, to any person obtaining a
  15  * copy of this software and associated documentation files (the "Software"),
  16  * to deal in the Software without restriction, including without limitation
  17  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  18  * and/or sell copies of the Software, and to permit persons to whom the
  19  * Software is furnished to do so, subject to the following conditions:
  20  *
  21  * The above copyright notice and this permission notice (including the next
  22  * paragraph) shall be included in all copies or substantial portions of the
  23  * Software.
  24  *
  25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  26  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  27  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  28  * THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  29  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  30  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  31  * IN THE SOFTWARE.
  32  */
  33 
  34 #include <linux/compat.h>
  35 
  36 #include <drm/drm.h>
  37 #include <drm/drm_ioctl.h>
  38 
  39 #include "nouveau_ioctl.h"
  40 
  41 /**
  42  * Called whenever a 32-bit process running under a 64-bit kernel
  43  * performs an ioctl on /dev/dri/card<n>.
  44  *
  45  * \param filp file pointer.
  46  * \param cmd command.
  47  * \param arg user argument.
  48  * \return zero on success or negative number on failure.
  49  */
  50 long nouveau_compat_ioctl(struct file *filp, unsigned int cmd,
  51                          unsigned long arg)
  52 {
  53         unsigned int nr = DRM_IOCTL_NR(cmd);
  54         drm_ioctl_compat_t *fn = NULL;
  55         int ret;
  56 
  57         if (nr < DRM_COMMAND_BASE)
  58                 return drm_compat_ioctl(filp, cmd, arg);
  59 
  60 #if 0
  61         if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(mga_compat_ioctls))
  62                 fn = nouveau_compat_ioctls[nr - DRM_COMMAND_BASE];
  63 #endif
  64         if (fn != NULL)
  65                 ret = (*fn)(filp, cmd, arg);
  66         else
  67                 ret = nouveau_drm_ioctl(filp, cmd, arg);
  68 
  69         return ret;
  70 }

/* [<][>][^][v][top][bottom][index][help] */