(file) Return to xf86pciBus.h CVS log (file) (dir) Up to [XFree86 CVS] / xc / programs / Xserver / hw / xfree86 / common

 1 tsi   3.8 /* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86pciBus.h,v 3.7 2002/06/28 20:47:02 herrb Exp $ */
 2 robin 3.2 
 3 eich  3.1 #ifndef _XF86_PCI_BUS_H
 4           #define _XF86_PCI_BUS_H
 5           
 6           #define PCITAG_SPECIAL pciTag(0xFF,0xFF,0xFF)
 7           
 8           typedef struct {
 9 tsi   3.8     CARD32 command;
10               CARD32 base[6];
11               CARD32 biosBase;
12 eich  3.1 } pciSave, *pciSavePtr;
13           
14           typedef void (*SetBitsProcPtr)(PCITAG, int, CARD32, CARD32);
15 eich  3.3 typedef void (*WriteProcPtr)(PCITAG, int, CARD32);
16 eich  3.1 
17           typedef struct {
18               PCITAG tag;
19 eich  3.3     WriteProcPtr func;
20               CARD32 ctrl;
21 eich  3.1 } pciArg;
22           
23 herrb 3.7 typedef struct {
24 tsi   3.8     int busnum;
25               int devnum;
26               int funcnum;
27 eich  3.1     pciArg arg;
28               xf86AccessRec ioAccess;
29               xf86AccessRec io_memAccess;
30               xf86AccessRec memAccess;
31               pciSave save;
32               pciSave restore;
33               Bool ctrl;
34           } pciAccRec, *pciAccPtr;
35           
36 eich  3.6 typedef union {
37 tsi   3.8     CARD16 control;
38 eich  3.6 } pciBridgesSave, *pciBridgesSavePtr;
39 eich  3.1 
40 eich  3.5 typedef struct pciBusRec {
41               int brbus, brdev, brfunc;	/* ID of the bridge to this bus */
42               int primary, secondary, subordinate;
43 tsi   3.8     int subclass;		/* bridge type */
44 eich  3.5     int interface;
45 tsi   3.8     resPtr preferred_io;	/* I/O range */
46               resPtr preferred_mem;	/* non-prefetchable memory range */
47               resPtr preferred_pmem;	/* prefetchable memory range */
48               resPtr io;			/* for subtractive PCI-PCI bridges */
49               resPtr mem;
50               resPtr pmem;
51               int brcontrol;		/* bridge_control byte */
52 eich  3.5     struct pciBusRec *next;
53           } PciBusRec, *PciBusPtr;
54           
55 eich  3.1 void xf86PciProbe(void);
56           void ValidatePci(void);
57           resList GetImplicitPciResources(int entityIndex);
58           void initPciState(void);
59           void initPciBusState(void);
60           void DisablePciAccess(void);
61           void DisablePciBusAccess(void);
62           void PciStateEnter(void);
63           void PciBusStateEnter(void);
64           void PciStateLeave(void);
65           void PciBusStateLeave(void);
66           resPtr ResourceBrokerInitPci(resPtr *osRes);
67 eich  3.3 void pciConvertRange2Host(int entityIndex, resRange *pRange);
68           void isaConvertRange2Host(resRange *pRange);
69 eich  3.1 
70           extern pciAccPtr * xf86PciAccInfo;
71           
72           #endif /* _XF86_PCI_BUS_H */

Powered by
ViewCVS 0.9.2