Mercurial > mplayer.hg
annotate libdha/libdha.h @ 18306:f10ade0e0c3e
sync with 1.248
author | luran |
---|---|
date | Thu, 27 Apr 2006 07:37:10 +0000 |
parents | f6d2772efca3 |
children |
rev | line source |
---|---|
3973 | 1 /* |
2 libgha.h - Library for direct hardware access | |
3 Copyrights: | |
4 1996/10/27 - Robin Cutshaw (robin@xfree86.org) | |
5 XFree86 3.3.3 implementation | |
6 1999 - Øyvind Aabling. | |
7 Modified for GATOS/win/gfxdump. | |
8 2002 - library implementation by Nick Kurshev | |
9 | |
10 supported O/S's: SVR4, UnixWare, SCO, Solaris, | |
11 FreeBSD, NetBSD, 386BSD, BSDI BSD/386, | |
12 Linux, Mach/386, ISC | |
13 DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd) | |
14 Licence: GPL | |
15 */ | |
16 #ifndef LIBDHA_H | |
17 #define LIBDHA_H | |
18 | |
19 #ifdef __cplusplus | |
20 extern "C" { | |
21 #endif | |
22 | |
23 #define MAX_DEV_PER_VENDOR_CFG1 64 | |
24 #define MAX_PCI_DEVICES_PER_BUS 32 | |
25 #define MAX_PCI_DEVICES 64 | |
26 #define PCI_MULTIFUNC_DEV 0x80 | |
9767
f6d2772efca3
Ignore disabled cards. (Jon Burgess <jburgess@uklinux.net>)
ranma
parents:
5702
diff
changeset
|
27 #define PCI_COMMAND_IO 0x1 /* Enable response to I/O space */ |
3973 | 28 |
29 typedef struct pciinfo_s | |
30 { | |
4192 | 31 int bus,card,func; /* PCI/AGP bus:card:func */ |
9767
f6d2772efca3
Ignore disabled cards. (Jon Burgess <jburgess@uklinux.net>)
ranma
parents:
5702
diff
changeset
|
32 unsigned short command; /* Device control register */ |
4192 | 33 unsigned short vendor,device; /* Card vendor+device ID */ |
34 unsigned base0,base1,base2,baserom; /* Memory and I/O base addresses */ | |
4277 | 35 // unsigned base0_limit, base1_limit, base2_limit, baserom_limit; |
3973 | 36 }pciinfo_t; |
37 | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
3995
diff
changeset
|
38 /* needed for mga_vid */ |
4277 | 39 extern int pci_config_read(unsigned char bus, unsigned char dev, unsigned char func, |
40 unsigned char cmd, int len, unsigned long *val); | |
3973 | 41 /* Fill array pci_list which must have size MAX_PCI_DEVICES |
42 and return 0 if sucessful */ | |
43 extern int pci_scan(pciinfo_t *pci_list,unsigned *num_card); | |
44 | |
45 | |
4192 | 46 /* Enables/disables accessing to IO space from application side. |
47 Should return 0 if o'k or errno on error. */ | |
48 extern int enable_app_io( void ); | |
49 extern int disable_app_io( void ); | |
3973 | 50 |
3995 | 51 extern unsigned char INPORT8(unsigned idx); |
52 extern unsigned short INPORT16(unsigned idx); | |
53 extern unsigned INPORT32(unsigned idx); | |
54 #define INPORT(idx) INPORT32(idx) | |
55 extern void OUTPORT8(unsigned idx,unsigned char val); | |
56 extern void OUTPORT16(unsigned idx,unsigned short val); | |
57 extern void OUTPORT32(unsigned idx,unsigned val); | |
58 #define OUTPORT(idx,val) OUTPORT32(idx,val) | |
3973 | 59 |
5702 | 60 extern void * map_phys_mem(unsigned long base, unsigned long size); |
61 extern void unmap_phys_mem(void *ptr, unsigned long size); | |
3973 | 62 |
4476 | 63 /* These are the region types */ |
64 #define MTRR_TYPE_UNCACHABLE 0 | |
65 #define MTRR_TYPE_WRCOMB 1 | |
66 #define MTRR_TYPE_WRTHROUGH 4 | |
67 #define MTRR_TYPE_WRPROT 5 | |
68 #define MTRR_TYPE_WRBACK 6 | |
69 extern int mtrr_set_type(unsigned base,unsigned size,int type); | |
70 | |
3973 | 71 #ifdef __cplusplus |
72 } | |
73 #endif | |
74 | |
5702 | 75 #endif |