annotate libdha/sysdep/pci_linux.c @ 7927:b1767137b278

added chanegs since pre9
author arpi
date Sat, 26 Oct 2002 16:25:32 +0000
parents 6d544beb655e
children d09c74452323
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
7837
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
35 #if defined(__powerpc__) && defined(__linux__)
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
36 /* should be fixed? */
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
37 #else
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 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
39 return(errno);
7837
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
40 #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
41 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
42 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
43
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
44 static __inline__ int disable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
45 {
4474
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
46 #ifdef CONFIG_DHAHELPER
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
47 if (dhahelper_initialized == 1)
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
48 close(dhahelper_fd);
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
49 else
05ac3586db02 added support for dhahelper
alex
parents: 4174
diff changeset
50 #endif
7837
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
51 #if defined(__powerpc__) && defined(__linux__)
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
52 /* should be fixed? */
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
53 #else
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
54 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
55 return(errno);
7837
6d544beb655e libdha on linux powerpc support by Colin Leroy <colin@colino.net>
alex
parents: 6613
diff changeset
56 #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
57 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
58 }