annotate vidix/sysdep/pci_386bsd.c @ 22996:2a60af5e78a7

skip MMX code in rgb32to16 if the size of the input is smaller than the size of the units the MMX code processes
author ivo
date Wed, 18 Apr 2007 09:26:22 +0000
parents a9e111b88c4a
children 9c4ad35fabc5
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 #include <sys/file.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
8 #include <machine/console.h>
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
9 #ifndef GCCUSESGAS
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
10 #define GCCUSESGAS
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
11 #endif
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
12
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
13 static int io_fd;
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
14
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
15 static __inline__ int enable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
16 {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
17 io_fd = -1 ;
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
18 if ((io_fd = open("/dev/console", O_RDWR, 0)) < 0) {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
19 perror("/dev/console");
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
20 return(errno);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
21 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
22 if (ioctl(io_fd, KDENABIO, 0) < 0) {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
23 perror("ioctl(KDENABIO)");
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
24 return(errno);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
25 }
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
26 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
27 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
28
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
29 static __inline__ int disable_os_io(void)
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
30 {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
31 if (ioctl(io_fd, KDDISABIO, 0) < 0) {
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
32 perror("ioctl(KDDISABIO)");
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
33 close(io_fd);
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
34 return(errno);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
35 }
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
36 close(io_fd);
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
37 return(0);
4164
2e3262002acb Improved readability and new stuffs
nick
parents:
diff changeset
38 }