The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/drm/tdfx_drv.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* tdfx_drv.c -- tdfx driver -*- linux-c -*-
    2  * Created: Thu Oct  7 10:38:32 1999 by faith@precisioninsight.com
    3  *
    4  * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
    5  * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
    6  * All Rights Reserved.
    7  *
    8  * Permission is hereby granted, free of charge, to any person obtaining a
    9  * copy of this software and associated documentation files (the "Software"),
   10  * to deal in the Software without restriction, including without limitation
   11  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
   12  * and/or sell copies of the Software, and to permit persons to whom the
   13  * Software is furnished to do so, subject to the following conditions:
   14  *
   15  * The above copyright notice and this permission notice (including the next
   16  * paragraph) shall be included in all copies or substantial portions of the
   17  * Software.
   18  *
   19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
   22  * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
   23  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
   24  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   25  * DEALINGS IN THE SOFTWARE.
   26  *
   27  * Authors:
   28  *    Rickard E. (Rik) Faith <faith@valinux.com>
   29  *    Daryll Strauss <daryll@valinux.com>
   30  *    Gareth Hughes <gareth@valinux.com>
   31  *
   32  * $FreeBSD: releng/5.0/sys/dev/drm/tdfx_drv.c 95607 2002-04-28 04:58:40Z anholt $
   33  */
   34 
   35 #ifdef __linux__
   36 #include <linux/config.h>
   37 #endif /* __linux__ */
   38 
   39 #ifdef __FreeBSD__
   40 #include <sys/types.h>
   41 #include <sys/bus.h>
   42 #include <pci/pcivar.h>
   43 #endif /* __FreeBSD__ */
   44 
   45 #include "dev/drm/tdfx.h"
   46 #include "dev/drm/drmP.h"
   47 
   48 #define DRIVER_AUTHOR           "VA Linux Systems Inc."
   49 
   50 #define DRIVER_NAME             "tdfx"
   51 #define DRIVER_DESC             "3dfx Banshee/Voodoo3+"
   52 #define DRIVER_DATE             "20010216"
   53 
   54 #define DRIVER_MAJOR            1
   55 #define DRIVER_MINOR            0
   56 #define DRIVER_PATCHLEVEL       0
   57 
   58 #ifndef PCI_VENDOR_ID_3DFX
   59 #define PCI_VENDOR_ID_3DFX 0x121A
   60 #endif
   61 #ifndef PCI_DEVICE_ID_3DFX_VOODOO5
   62 #define PCI_DEVICE_ID_3DFX_VOODOO5 0x0009
   63 #endif
   64 #ifndef PCI_DEVICE_ID_3DFX_VOODOO4
   65 #define PCI_DEVICE_ID_3DFX_VOODOO4 0x0007
   66 #endif
   67 #ifndef PCI_DEVICE_ID_3DFX_VOODOO3_3000 /* Voodoo3 3000 */
   68 #define PCI_DEVICE_ID_3DFX_VOODOO3_3000 0x0005
   69 #endif
   70 #ifndef PCI_DEVICE_ID_3DFX_VOODOO3_2000 /* Voodoo3 3000 */
   71 #define PCI_DEVICE_ID_3DFX_VOODOO3_2000 0x0004
   72 #endif
   73 #ifndef PCI_DEVICE_ID_3DFX_BANSHEE
   74 #define PCI_DEVICE_ID_3DFX_BANSHEE 0x0003
   75 #endif
   76 
   77 #ifdef __FreeBSD__
   78 /* List acquired from xc/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
   79  * Please report to eanholt@gladstone.uoregon.edu if your chip isn't
   80  * represented in the list or if the information is incorrect.
   81  */
   82 drm_chipinfo_t DRM(devicelist)[] = {
   83         {0x121a, 0x0003, 1, "3dfx Voodoo Banshee"},
   84         {0x121a, 0x0004, 1, "3dfx Voodoo3 2000"},
   85         {0x121a, 0x0005, 1, "3dfx Voodoo3 3000"},
   86         {0x121a, 0x0007, 1, "3dfx Voodoo4"},
   87         {0x121a, 0x0009, 1, "3dfx Voodoo5"},
   88         {0, 0, 0, NULL}
   89 };
   90 #endif /* __FreeBSD__ */
   91 
   92 #ifdef __linux__
   93 /* For now, we'll only support multihead on Linux */
   94 /* Uncomment this, and fixup drm_count_cards */
   95 static drm_pci_list_t DRM(idlist)[] = {
   96         { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_BANSHEE },
   97         { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_VOODOO3_2000 },
   98         { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_VOODOO3_3000 },
   99         { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_VOODOO4 },
  100         { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_VOODOO5 },
  101         { 0, 0 }
  102 };
  103 
  104 #define DRIVER_CARD_LIST DRM(idlist)
  105 #endif /* __linux__ */
  106 
  107 #include "dev/drm/drm_auth.h"
  108 #include "dev/drm/drm_bufs.h"
  109 #include "dev/drm/drm_context.h"
  110 #include "dev/drm/drm_dma.h"
  111 #include "dev/drm/drm_drawable.h"
  112 #include "dev/drm/drm_drv.h"
  113 
  114 #ifdef __linux__
  115 #ifndef MODULE
  116 /* DRM(options) is called by the kernel to parse command-line options
  117  * passed via the boot-loader (e.g., LILO).  It calls the insmod option
  118  * routine, drm_parse_drm.
  119  */
  120 
  121 /* JH- We have to hand expand the string ourselves because of the cpp.  If
  122  * anyone can think of a way that we can fit into the __setup macro without
  123  * changing it, then please send the solution my way.
  124  */
  125 static int __init tdfx_options( char *str )
  126 {
  127         DRM(parse_options)( str );
  128         return 1;
  129 }
  130 
  131 __setup( DRIVER_NAME "=", tdfx_options );
  132 #endif
  133 #endif /* __linux__ */
  134 
  135 #include "dev/drm/drm_fops.h"
  136 #include "dev/drm/drm_init.h"
  137 #include "dev/drm/drm_ioctl.h"
  138 #include "dev/drm/drm_lock.h"
  139 #include "dev/drm/drm_memory.h"
  140 #ifdef __linux__
  141 #include "dev/drm/drm_proc.h"
  142 #endif /* __linux__ */
  143 #include "dev/drm/drm_vm.h"
  144 #ifdef __linux__
  145 #include "dev/drm/drm_stub.h"
  146 #endif /* __linux__ */
  147 #ifdef __FreeBSD__
  148 #include "dev/drm/drm_sysctl.h"
  149 
  150 DRIVER_MODULE(tdfx, pci, tdfx_driver, tdfx_devclass, 0, 0);
  151 #endif /* __FreeBSD__ */

Cache object: 11d4d960be62e762bdb0730662fab49e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.