tdfx_vars.h revision 61912
1/* tdfx_vars.h -- constants and structs used in the tdfx driver 2 Copyright (C) 2000 by Coleman Kane <cokane@pohl.ececs.uc.edu> 3*/ 4#ifndef TDFX_VARS_H 5#define TDFX_VARS_H 6 7#include <sys/memrange.h> 8 9#define CDEV_MAJOR 107 10#define PCI_DEVICE_ALLIANCE_AT3D 0x643d1142 11#define PCI_DEVICE_3DFX_VOODOO1 0x0000121a 12#define PCI_DEVICE_3DFX_VOODOO2 0x0002121a 13#define PCI_DEVICE_3DFX_BANSHEE 0x0003121a 14#define PCI_DEVICE_3DFX_VOODOO3 0x0005121a 15 16#define PCI_VENDOR_ID_FREEBSD 0x0 17#define PCI_DEVICE_ID_FREEBSD 0x2 18#define PCI_COMMAND_FREEBSD 0x4 19#define PCI_REVISION_ID_FREEBSD 0x8 20#define PCI_BASE_ADDRESS_0_FREEBSD 0x10 21#define SST1_PCI_SPECIAL1_FREEBSD 0x40 22#define SST1_PCI_SPECIAL2_FREEBSD 0x44 23#define SST1_PCI_SPECIAL3_FREEBSD 0x48 24#define SST1_PCI_SPECIAL4_FREEBSD 0x54 25 26#define VGA_INPUT_STATUS_1C 0x3DA 27#define VGA_MISC_OUTPUT_READ 0x3cc 28#define VGA_MISC_OUTPUT_WRITE 0x3c2 29#define SC_INDEX 0x3c4 30#define SC_DATA 0x3c5 31 32#define PCI_MAP_REG_START 0x10 33#define UNIT(m) (m & 0xf) 34 35/* IOCTL Calls */ 36#define TDFX_IOC_TYPE_PIO 0 37#define TDFX_IOC_TYPE_QUERY '3' 38#define TDFX_IOC_QRY_BOARDS 2 39#define TDFX_IOC_QRY_FETCH 3 40#define TDFX_IOC_QRY_UPDATE 4 41#include <sys/param.h> 42#include <sys/bus_private.h> 43#include <sys/bus.h> 44#include <sys/cdefs.h> 45 46struct tdfx_softc { 47 int cardno; 48 vm_offset_t addr; 49 struct resource *memrange, *piorange; 50 int memrid, piorid; 51 long range; 52 int vendor; 53 int type; 54 int addr0; 55 unsigned char bus; 56 unsigned char dv; 57 struct file *curFile; 58 device_t dev; 59 struct mem_range_desc mrdesc; 60 int busy; 61}; 62 63struct tdfx_pio_data { 64 short port; 65 short size; 66 int device; 67 void *value; 68}; 69 70#endif /* TDFX_VARS_H */ 71