diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-03-17 07:44:08 (GMT) |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-03-17 07:44:08 (GMT) |
commit | 1d2a1959fe534279cf37aba20b08c24c20840e52 (patch) | |
tree | 67c0b9aa7fe22a44bf0b4af88947799203eb8f67 /drivers/staging/xgifb/vb_util.c | |
parent | 5a79ce76e9bb8f4b2cd8106ee36d15ee05013bcf (diff) | |
parent | 054cfaacf88865bff1dd58d305443d5d6c068a08 (diff) | |
download | linux-1d2a1959fe534279cf37aba20b08c24c20840e52.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-latest
Diffstat (limited to 'drivers/staging/xgifb/vb_util.c')
-rw-r--r-- | drivers/staging/xgifb/vb_util.c | 124 |
1 files changed, 20 insertions, 104 deletions
diff --git a/drivers/staging/xgifb/vb_util.c b/drivers/staging/xgifb/vb_util.c index 65b3954..a97e44f 100644 --- a/drivers/staging/xgifb/vb_util.c +++ b/drivers/staging/xgifb/vb_util.c @@ -6,131 +6,47 @@ #include <asm/io.h> #include <linux/types.h> -void XGINew_SetReg1(unsigned long, unsigned short, unsigned short); -void XGINew_SetReg2(unsigned long, unsigned short, unsigned short); -void XGINew_SetReg3(unsigned long, unsigned short); -void XGINew_SetReg4(unsigned long, unsigned long); -unsigned char XGINew_GetReg1(unsigned long, unsigned short); -unsigned char XGINew_GetReg2(unsigned long); -unsigned long XGINew_GetReg3(unsigned long); -void XGINew_ClearDAC(unsigned char *); -void XGINew_SetRegANDOR(unsigned long Port, unsigned short Index, - unsigned short DataAND, unsigned short DataOR); -void XGINew_SetRegOR(unsigned long Port, unsigned short Index, - unsigned short DataOR); -void XGINew_SetRegAND(unsigned long Port, unsigned short Index, - unsigned short DataAND); +#include "vb_util.h" -/* --------------------------------------------------------------------- */ -/* Function : XGINew_SetReg1 */ -/* Input : */ -/* Output : */ -/* Description : SR CRTC GR */ -/* --------------------------------------------------------------------- */ -void XGINew_SetReg1(unsigned long port, unsigned short index, - unsigned short data) +void xgifb_reg_set(unsigned long port, u8 index, u8 data) { outb(index, port); outb(data, port + 1); } -/* --------------------------------------------------------------------- */ -/* Function : XGINew_SetReg2 */ -/* Input : */ -/* Output : */ -/* Description : AR( 3C0 ) */ -/* --------------------------------------------------------------------- */ -/* -void XGINew_SetReg2(unsigned long port, unsigned short index, unsigned short data) +u8 xgifb_reg_get(unsigned long port, u8 index) { - InPortByte((P unsigned char)port + 0x3da - 0x3c0) ; - OutPortByte(XGINew_P3c0, index); - OutPortByte(XGINew_P3c0, data); - OutPortByte(XGINew_P3c0, 0x20); -} -*/ - -void XGINew_SetReg3(unsigned long port, unsigned short data) -{ - outb(data, port); -} - -void XGINew_SetReg4(unsigned long port, unsigned long data) -{ - outl(data, port); -} - -unsigned char XGINew_GetReg1(unsigned long port, unsigned short index) -{ - unsigned char data; + u8 data; outb(index, port); data = inb(port + 1); return data; } -unsigned char XGINew_GetReg2(unsigned long port) +void xgifb_reg_and_or(unsigned long port, u8 index, + unsigned data_and, unsigned data_or) { - unsigned char data; - - data = inb(port); + u8 temp; - return data; + temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */ + temp = (temp & data_and) | data_or; + xgifb_reg_set(port, index, temp); } -unsigned long XGINew_GetReg3(unsigned long port) +void xgifb_reg_and(unsigned long port, u8 index, unsigned data_and) { - unsigned long data; - - data = inl(port); + u8 temp; - return data; + temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */ + temp &= data_and; + xgifb_reg_set(port, index, temp); } -void XGINew_SetRegANDOR(unsigned long Port, unsigned short Index, - unsigned short DataAND, unsigned short DataOR) +void xgifb_reg_or(unsigned long port, u8 index, unsigned data_or) { - unsigned short temp; - - temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ - temp = (temp & (DataAND)) | DataOR; - XGINew_SetReg1(Port, Index, temp); -} + u8 temp; -void XGINew_SetRegAND(unsigned long Port, unsigned short Index, - unsigned short DataAND) -{ - unsigned short temp; - - temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ - temp &= DataAND; - XGINew_SetReg1(Port, Index, temp); -} - -void XGINew_SetRegOR(unsigned long Port, unsigned short Index, - unsigned short DataOR) -{ - unsigned short temp; - - temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ - temp |= DataOR; - XGINew_SetReg1(Port, Index, temp); -} - -#if 0 -void NewDelaySeconds(int seconds) -{ - int i; - - for (i = 0; i < seconds; i++) { - - } -} - -void Newdebugcode(unsigned char code) -{ - /* OutPortByte(0x80, code); */ - /* OutPortByte(0x300, code); */ - /* NewDelaySeconds(0x3); */ + temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */ + temp |= data_or; + xgifb_reg_set(port, index, temp); } -#endif |