blob: f613f54d522fe610e9b2b1a245335177d84fab58 [file] [log] [blame]
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02001#ifndef _VBUTIL_
2#define _VBUTIL_
Peter Huewefb44d9a2015-07-14 00:44:09 +02003static inline void xgifb_reg_set(unsigned long port, u8 index, u8 data)
4{
5 outb(index, port);
6 outb(data, port + 1);
7}
8
9static inline u8 xgifb_reg_get(unsigned long port, u8 index)
10{
11 outb(index, port);
12 return inb(port + 1);
13}
14
15static inline void xgifb_reg_and_or(unsigned long port, u8 index,
16 unsigned data_and, unsigned data_or)
17{
18 u8 temp;
19
20 temp = xgifb_reg_get(port, index);
Shivani Bhardwajd1e9aef2015-10-02 02:57:03 +053021 temp = (u8) ((temp & data_and) | data_or);
Peter Huewefb44d9a2015-07-14 00:44:09 +020022 xgifb_reg_set(port, index, temp);
23}
24
25static inline void xgifb_reg_and(unsigned long port, u8 index, unsigned data_and)
26{
27 u8 temp;
28
29 temp = xgifb_reg_get(port, index);
Shivani Bhardwajd1e9aef2015-10-02 02:57:03 +053030 temp = (u8) (temp & data_and);
Peter Huewefb44d9a2015-07-14 00:44:09 +020031 xgifb_reg_set(port, index, temp);
32}
33
34static inline void xgifb_reg_or(unsigned long port, u8 index, unsigned data_or)
35{
36 u8 temp;
37
38 temp = xgifb_reg_get(port, index);
39 temp |= data_or;
40 xgifb_reg_set(port, index, temp);
41}
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020042#endif
43