Commit | Line | Data |
---|---|---|
d7636e0b | 1 | #include "vb_def.h" |
2 | #include "vgatypes.h" | |
3 | #include "vb_struct.h" | |
4 | ||
d7636e0b | 5 | #include "XGIfb.h" |
6 | #include <asm/io.h> | |
7 | #include <linux/types.h> | |
d7636e0b | 8 | |
0998e1db | 9 | #include "vb_util.h" |
d7636e0b | 10 | |
8104e329 | 11 | void xgifb_reg_set(unsigned long port, unsigned short index, |
602f2c96 | 12 | unsigned short data) |
d7636e0b | 13 | { |
1e59f711 BP |
14 | outb(index, port); |
15 | outb(data, port + 1); | |
d7636e0b | 16 | } |
17 | ||
58839b01 | 18 | unsigned char xgifb_reg_get(unsigned long port, unsigned short index) |
d7636e0b | 19 | { |
602f2c96 | 20 | unsigned char data; |
d7636e0b | 21 | |
602f2c96 PS |
22 | outb(index, port); |
23 | data = inb(port + 1); | |
24 | return data; | |
d7636e0b | 25 | } |
26 | ||
ec9e5d3e | 27 | void xgifb_reg_and_or(unsigned long Port, unsigned short Index, |
602f2c96 | 28 | unsigned short DataAND, unsigned short DataOR) |
d7636e0b | 29 | { |
602f2c96 | 30 | unsigned short temp; |
d7636e0b | 31 | |
58839b01 | 32 | temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ |
602f2c96 | 33 | temp = (temp & (DataAND)) | DataOR; |
8104e329 | 34 | xgifb_reg_set(Port, Index, temp); |
d7636e0b | 35 | } |
36 | ||
dc50556b | 37 | void xgifb_reg_and(unsigned long Port, unsigned short Index, |
602f2c96 | 38 | unsigned short DataAND) |
d7636e0b | 39 | { |
602f2c96 | 40 | unsigned short temp; |
d7636e0b | 41 | |
58839b01 | 42 | temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ |
602f2c96 | 43 | temp &= DataAND; |
8104e329 | 44 | xgifb_reg_set(Port, Index, temp); |
d7636e0b | 45 | } |
46 | ||
b9bf6e4e | 47 | void xgifb_reg_or(unsigned long Port, unsigned short Index, |
602f2c96 | 48 | unsigned short DataOR) |
d7636e0b | 49 | { |
602f2c96 | 50 | unsigned short temp; |
d7636e0b | 51 | |
58839b01 | 52 | temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ |
602f2c96 | 53 | temp |= DataOR; |
8104e329 | 54 | xgifb_reg_set(Port, Index, temp); |
d7636e0b | 55 | } |