annotate libdha/sysdep/pci_linux.c @ 7161:13bc391fc19c

mp_msg'ized
author alex
date Fri, 30 Aug 2002 11:20:51 +0000
parents 5cf616a755ac
children 6d544beb655e
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
6613
5cf616a755ac Linux for Sparc fix by Adam Di Carlo <adam at onshore-devel.com>
alex
parents: 4474
diff changeset
10 #ifndef __sparc__
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
11 #include <sys/io.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
12 #endif
6613
5cf616a755ac Linux for Sparc fix by Adam Di Carlo <adam at onshore-devel.com>
alex
parents: 4474
diff changeset
13 #endif
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
14
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
15 #include "config.h"
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
16
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
17 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
18 #include <fcntl.h>
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
19 int dhahelper_initialized = 0;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
20 int dhahelper_fd = 0;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
21 #endif
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
22
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
23 static __inline__ int enable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
24 {
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
25 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
26 dhahelper_fd = open("/dev/dhahelper", O_RDWR);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
27 if (dhahelper_fd > 0)
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
28 {
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
29 dhahelper_initialized = 1;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
30 return(0);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
31 }
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
32 dhahelper_initialized = -1;
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
33 #endif
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
34
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
35 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
36 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
37 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
38 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
39
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
40 static __inline__ int disable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
41 {
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
42 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
43 if (dhahelper_initialized == 1)
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
44 close(dhahelper_fd);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
45 else
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
46 #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
47 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
48 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
49 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
50 }