Mercurial > mplayer.hg
annotate vidix/sysdep/pci_arm32.c @ 32676:db882cd69776
Do not #define _WIN32 on the command line for Cygwin.
Newer Cygwin versions no longer do this and hopefully we should be able
to survive without this hack as well. This change necessitates adapting
two #ifdefs in the MPlayer codebase. It is committed untested as I do
not have access to a Cygwin system.
author | diego |
---|---|
date | Thu, 06 Jan 2011 12:42:59 +0000 |
parents | 0f1b5b68af32 |
children |
rev | line source |
---|---|
4164 | 1 /* |
2 This file is based on: | |
3 $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $ | |
4 Modified for readability by Nick Kurshev | |
5 */ | |
6 | |
7 static int pci_config_type( void ) | |
8 { | |
9 unsigned long tmplong1, tmplong2; | |
10 unsigned char tmp1, tmp2; | |
11 int retval; | |
12 retval = 0; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
22900
diff
changeset
|
13 |
4164 | 14 outb(PCI_MODE2_ENABLE_REG, 0x00); |
15 outb(PCI_MODE2_FORWARD_REG, 0x00); | |
16 tmp1 = inb(PCI_MODE2_ENABLE_REG); | |
17 tmp2 = inb(PCI_MODE2_FORWARD_REG); | |
18 if ((tmp1 == 0x00) && (tmp2 == 0x00)) { | |
19 retval = 2; | |
20 /*printf("PCI says configuration type 2\n");*/ | |
21 } else { | |
22 tmplong1 = inl(PCI_MODE1_ADDRESS_REG); | |
23 outl(PCI_MODE1_ADDRESS_REG, PCI_EN); | |
24 tmplong2 = inl(PCI_MODE1_ADDRESS_REG); | |
25 outl(PCI_MODE1_ADDRESS_REG, tmplong1); | |
26 if (tmplong2 == PCI_EN) { | |
27 retval = 1; | |
28 /*printf("PCI says configuration type 1\n");*/ | |
29 } else { | |
30 /*printf("No PCI !\n");*/ | |
31 disable_os_io(); | |
32 /*exit(1);*/ | |
33 retval = 0xFFFF; | |
34 } | |
35 } | |
36 return retval; | |
37 } | |
38 | |
39 static int pci_get_vendor( | |
40 unsigned char bus, | |
41 unsigned char dev, | |
42 int func) | |
43 { | |
44 unsigned long config_cmd; | |
45 config_cmd = PCI_EN | (bus<<16) | (dev<<11) | (func<<8); | |
46 outl(PCI_MODE1_ADDRESS_REG, config_cmd); | |
47 return inl(PCI_MODE1_DATA_REG); | |
48 } | |
49 | |
50 static long pci_config_read_long( | |
51 unsigned char bus, | |
52 unsigned char dev, | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
22900
diff
changeset
|
53 int func, |
4164 | 54 unsigned cmd) |
55 { | |
56 unsigned long config_cmd; | |
57 config_cmd = PCI_EN | (bus<<16) | (dev<<11) | (func<<8); | |
58 outl(PCI_MODE1_ADDRESS_REG, config_cmd | cmd); | |
59 return inl(PCI_MODE1_DATA_REG); | |
60 } |