apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 1 | #ifndef _VBUTIL_ |
| 2 | #define _VBUTIL_ |
Peter Huewe | fb44d9a | 2015-07-14 00:44:09 +0200 | [diff] [blame] | 3 | static inline void xgifb_reg_set(unsigned long port, u8 index, u8 data) |
| 4 | { |
| 5 | outb(index, port); |
| 6 | outb(data, port + 1); |
| 7 | } |
| 8 | |
| 9 | static inline u8 xgifb_reg_get(unsigned long port, u8 index) |
| 10 | { |
| 11 | outb(index, port); |
| 12 | return inb(port + 1); |
| 13 | } |
| 14 | |
| 15 | static 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 Bhardwaj | d1e9aef | 2015-10-02 02:57:03 +0530 | [diff] [blame] | 21 | temp = (u8) ((temp & data_and) | data_or); |
Peter Huewe | fb44d9a | 2015-07-14 00:44:09 +0200 | [diff] [blame] | 22 | xgifb_reg_set(port, index, temp); |
| 23 | } |
| 24 | |
| 25 | static 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 Bhardwaj | d1e9aef | 2015-10-02 02:57:03 +0530 | [diff] [blame] | 30 | temp = (u8) (temp & data_and); |
Peter Huewe | fb44d9a | 2015-07-14 00:44:09 +0200 | [diff] [blame] | 31 | xgifb_reg_set(port, index, temp); |
| 32 | } |
| 33 | |
| 34 | static 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.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 42 | #endif |
| 43 | |