annotate libdha/sysdep/pci_linux.c @ 5162:3cc3a36e3d0d

xp added
author jaf
date Sun, 17 Mar 2002 15:03:25 +0000
parents 05ac3586db02
children 5cf616a755ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
1 /*
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
2 This file is based on:
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
3 $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
4 Modified for readability by Nick Kurshev
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
5 */
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
6 #include <errno.h>
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
7 #ifdef __i386__
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
8 #include <sys/perm.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
9 #else
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
10 #include <sys/io.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
11 #endif
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
12
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
13 #include "config.h"
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
14
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
15 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
16 #include <fcntl.h>
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
17 int dhahelper_initialized = 0;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
18 int dhahelper_fd = 0;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
19 #endif
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
20
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
21 static __inline__ int enable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
22 {
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
23 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
24 dhahelper_fd = open("/dev/dhahelper", O_RDWR);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
25 if (dhahelper_fd > 0)
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
26 {
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
27 dhahelper_initialized = 1;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
28 return(0);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
29 }
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
30 dhahelper_initialized = -1;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
31 #endif
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
32
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
33 if (iopl(3) != 0)
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
34 return(errno);
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
35 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
36 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
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: 4164
diff changeset
38 static __inline__ int disable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
39 {
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
40 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
41 if (dhahelper_initialized == 1)
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
42 close(dhahelper_fd);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
43 else
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
44 #endif
4174
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
45 if (iopl(0) != 0)
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
46 return(errno);
4cfb6b9a6da3 api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents: 4164
diff changeset
47 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
48 }