vb_util.c revision 58839b0194a44dfb9ab16fc097ef1f1f91f06b32
1#include "vb_def.h" 2#include "vgatypes.h" 3#include "vb_struct.h" 4 5#include "XGIfb.h" 6#include <asm/io.h> 7#include <linux/types.h> 8 9#include "vb_util.h" 10 11void xgifb_reg_set(unsigned long port, unsigned short index, 12 unsigned short data) 13{ 14 outb(index, port); 15 outb(data, port + 1); 16} 17 18unsigned char xgifb_reg_get(unsigned long port, unsigned short index) 19{ 20 unsigned char data; 21 22 outb(index, port); 23 data = inb(port + 1); 24 return data; 25} 26 27void XGINew_SetRegANDOR(unsigned long Port, unsigned short Index, 28 unsigned short DataAND, unsigned short DataOR) 29{ 30 unsigned short temp; 31 32 temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ 33 temp = (temp & (DataAND)) | DataOR; 34 xgifb_reg_set(Port, Index, temp); 35} 36 37void XGINew_SetRegAND(unsigned long Port, unsigned short Index, 38 unsigned short DataAND) 39{ 40 unsigned short temp; 41 42 temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ 43 temp &= DataAND; 44 xgifb_reg_set(Port, Index, temp); 45} 46 47void XGINew_SetRegOR(unsigned long Port, unsigned short Index, 48 unsigned short DataOR) 49{ 50 unsigned short temp; 51 52 temp = xgifb_reg_get(Port, Index); /* XGINew_Part1Port index 02 */ 53 temp |= DataOR; 54 xgifb_reg_set(Port, Index, temp); 55} 56