]>
Commit | Line | Data |
---|---|---|
4cd96e4c | 1 | --- XFree86-4.2.1/xc42/programs/Xserver/hw/xfree86/drivers/i740/i740.h Fri May 4 15:05:39 2001 |
2 | +++ XFree86-4.2.1/xc/programs/Xserver/hw/xfree86/drivers/i740/i740.h Fri Jan 25 16:56:02 2002 | |
3 | @@ -56,12 +56,13 @@ | |
4 | ||
5 | typedef struct _I740Rec *I740Ptr; | |
6 | ||
7 | -typedef void (*I740WriteIndexedByteFunc)(I740Ptr pI740, int addr, | |
8 | +typedef void (*I740WriteIndexedByteFunc)(I740Ptr pI740, IOADDRESS addr, | |
9 | unsigned char index, char value); | |
10 | -typedef char (*I740ReadIndexedByteFunc)(I740Ptr pI740, int addr, | |
11 | +typedef char (*I740ReadIndexedByteFunc)(I740Ptr pI740, IOADDRESS addr, | |
12 | unsigned char index); | |
13 | -typedef void (*I740WriteByteFunc)(I740Ptr pI740, int addr, unsigned char value); | |
14 | -typedef char (*I740ReadByteFunc)(I740Ptr pI740, int addr); | |
15 | +typedef void (*I740WriteByteFunc)(I740Ptr pI740, IOADDRESS addr, | |
16 | + unsigned char value); | |
17 | +typedef char (*I740ReadByteFunc)(I740Ptr pI740, IOADDRESS addr); | |
18 | ||
19 | typedef struct { | |
20 | unsigned char DisplayControl; | |
21 | @@ -114,6 +115,7 @@ | |
22 | I740WriteByteFunc writeStandard; | |
23 | I740ReadByteFunc readStandard; | |
24 | OptionInfoPtr Options; | |
25 | + IOADDRESS ioBase; | |
26 | } I740Rec; | |
27 | ||
28 | #define I740PTR(p) ((I740Ptr)((p)->driverPrivate)) | |
29 | --- XFree86-4.2.1/xc42/programs/Xserver/hw/xfree86/drivers/i740/i740_accel.c Sat Mar 3 17:26:12 2001 | |
30 | +++ XFree86-4.2.1/xc/programs/Xserver/hw/xfree86/drivers/i740/i740_accel.c Fri Jan 25 16:56:02 2002 | |
31 | @@ -192,6 +192,7 @@ | |
32 | ||
33 | static void | |
34 | I740SyncPIO(ScrnInfoPtr pScrn) { | |
35 | + I740Ptr pI740 = I740PTR(pScrn); | |
36 | WAIT_ENGINE_IDLE_PIO(); | |
37 | } | |
38 | ||
39 | --- XFree86-4.2.1/xc42/programs/Xserver/hw/xfree86/drivers/i740/i740_driver.c Fri Jan 4 16:22:31 2002 | |
40 | +++ XFree86-4.2.1/xc/programs/Xserver/hw/xfree86/drivers/i740/i740_driver.c Fri Jan 25 16:56:02 2002 | |
41 | @@ -501,6 +501,8 @@ | |
42 | ||
43 | /* Allocate a vgaHWRec */ | |
44 | if (!vgaHWGetHWRec(pScrn)) return FALSE; | |
45 | + hwp = VGAHWPTR(pScrn); | |
46 | + pI740->ioBase = hwp->PIOOffset; | |
47 | ||
48 | pI740->PciInfo = xf86GetPciInfoForEntity(pI740->pEnt->index); | |
49 | pI740->PciTag = pciTag(pI740->PciInfo->bus, pI740->PciInfo->device, | |
50 | @@ -571,7 +573,6 @@ | |
51 | /* We use a programmable clock */ | |
52 | pScrn->progClock = TRUE; | |
53 | ||
54 | - hwp = VGAHWPTR(pScrn); | |
55 | pI740->cpp = pScrn->bitsPerPixel/8; | |
56 | ||
57 | /* We have to use PIO to probe, because we haven't mappend yet */ | |
58 | @@ -1736,11 +1737,6 @@ | |
59 | static Bool | |
60 | I740SaveScreen(ScreenPtr pScreen, int mode) | |
61 | { | |
62 | -#if 0 | |
63 | - Bool unblack = xf86IsUnblank(mode); | |
64 | - if (unblack) outw(SRX, 0x0300); | |
65 | - else outw(SRX, 0x0100); | |
66 | -#endif | |
67 | return vgaHWSaveScreen(pScreen, mode); | |
68 | } | |
69 | ||
70 | --- XFree86-4.2.1/xc42/programs/Xserver/hw/xfree86/drivers/i740/i740_io.c Tue Feb 22 23:47:14 2000 | |
71 | +++ XFree86-4.2.1/xc/programs/Xserver/hw/xfree86/drivers/i740/i740_io.c Fri Jan 25 16:56:03 2002 | |
72 | @@ -39,53 +39,76 @@ | |
73 | ||
74 | #include "i740.h" | |
75 | ||
76 | -static void I740WriteControlPIO(I740Ptr pI740, int addr, unsigned char index, char val) { | |
77 | +static void | |
78 | +I740WriteControlPIO(I740Ptr pI740, IOADDRESS addr, | |
79 | + unsigned char index, char val) | |
80 | +{ | |
81 | + addr += pI740->ioBase; | |
82 | outb(addr, index); | |
83 | outb(addr+1, val); | |
84 | } | |
85 | ||
86 | -static char I740ReadControlPIO(I740Ptr pI740, int addr, unsigned char index) { | |
87 | +static char | |
88 | +I740ReadControlPIO(I740Ptr pI740, IOADDRESS addr, unsigned char index) | |
89 | +{ | |
90 | + addr += pI740->ioBase; | |
91 | outb(addr, index); | |
92 | return inb(addr+1); | |
93 | } | |
94 | ||
95 | -static void I740WriteStandardPIO(I740Ptr pI740, int addr, unsigned char val) { | |
96 | - outb(addr, val); | |
97 | +static void | |
98 | +I740WriteStandardPIO(I740Ptr pI740, IOADDRESS addr, unsigned char val) | |
99 | +{ | |
100 | + outb(pI740->ioBase + addr, val); | |
101 | } | |
102 | ||
103 | -static char I740ReadStandardPIO(I740Ptr pI740, int addr) { | |
104 | - return inb(addr); | |
105 | +static char | |
106 | +I740ReadStandardPIO(I740Ptr pI740, IOADDRESS addr) | |
107 | +{ | |
108 | + return inb(pI740->ioBase + addr); | |
109 | } | |
110 | ||
111 | -void I740SetPIOAccess(I740Ptr pI740) { | |
112 | +void | |
113 | +I740SetPIOAccess(I740Ptr pI740) | |
114 | +{ | |
115 | pI740->writeControl=I740WriteControlPIO; | |
116 | pI740->readControl=I740ReadControlPIO; | |
117 | pI740->writeStandard=I740WriteStandardPIO; | |
118 | pI740->readStandard=I740ReadStandardPIO; | |
119 | } | |
120 | ||
121 | -static void I740WriteControlMMIO(I740Ptr pI740, int addr, unsigned char index, char val) { | |
122 | +static void | |
123 | +I740WriteControlMMIO(I740Ptr pI740, IOADDRESS addr, | |
124 | + unsigned char index, char val) | |
125 | +{ | |
126 | moutb(addr, index); | |
127 | moutb(addr+1, val); | |
128 | } | |
129 | ||
130 | -static char I740ReadControlMMIO(I740Ptr pI740, int addr, unsigned char index) { | |
131 | +static char | |
132 | +I740ReadControlMMIO(I740Ptr pI740, IOADDRESS addr, unsigned char index) | |
133 | +{ | |
134 | moutb(addr, index); | |
135 | return minb(addr+1); | |
136 | } | |
137 | ||
138 | -static void I740WriteStandardMMIO(I740Ptr pI740, int addr, unsigned char val) { | |
139 | +static void | |
140 | +I740WriteStandardMMIO(I740Ptr pI740, IOADDRESS addr, unsigned char val) | |
141 | +{ | |
142 | moutb(addr, val); | |
143 | } | |
144 | ||
145 | -static char I740ReadStandardMMIO(I740Ptr pI740, int addr) { | |
146 | +static char | |
147 | +I740ReadStandardMMIO(I740Ptr pI740, IOADDRESS addr) | |
148 | +{ | |
149 | return minb(addr); | |
150 | } | |
151 | ||
152 | -void I740SetMMIOAccess(I740Ptr pI740) { | |
153 | +void | |
154 | +I740SetMMIOAccess(I740Ptr pI740) | |
155 | +{ | |
156 | pI740->writeControl=I740WriteControlMMIO; | |
157 | pI740->readControl=I740ReadControlMMIO; | |
158 | pI740->writeStandard=I740WriteStandardMMIO; | |
159 | pI740->readStandard=I740ReadStandardMMIO; | |
160 | } | |
161 | - | |
162 | --- XFree86-4.2.1/xc42/programs/Xserver/hw/xfree86/drivers/i740/i740_macros.h Tue Feb 22 23:47:14 2000 | |
163 | +++ XFree86-4.2.1/xc/programs/Xserver/hw/xfree86/drivers/i740/i740_macros.h Fri Jan 25 16:56:03 2002 | |
164 | @@ -34,9 +34,9 @@ | |
165 | */ | |
166 | ||
167 | #define WAIT_ENGINE_IDLE_PIO() { \ | |
168 | - outb(XRX, BITBLT_CNTL); \ | |
169 | - while (inb(XRX+1) & BITBLT_STATUS) \ | |
170 | - outb(XRX, BITBLT_CNTL); \ | |
171 | + outb(pI740->ioBase + XRX, BITBLT_CNTL); \ | |
172 | + while (inb(pI740->ioBase + XRX + 1) & BITBLT_STATUS) \ | |
173 | + outb(pI740->ioBase + XRX, BITBLT_CNTL); \ | |
174 | } | |
175 | ||
176 | #define WAIT_ENGINE_IDLE_MMIO() { \ |