summaryrefslogtreecommitdiff
path: root/Source/DirectFB/gfxdrivers/cle266/mmio.h
blob: 757445a8cd7a8659cfadac1643d036dc45e48b1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
   Copyright (c) 2003 Andreas Robinson, All rights reserved.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.
*/

#ifndef _VIA_MMIO_H
#define _VIA_MMIO_H

#define TRACE_ENTER() printf("Entering %s\n", __PRETTY_FUNCTION__)
#define TRACE_LEAVE() printf("Leaving %s\n", __PRETTY_FUNCTION__)

#ifdef KERNEL

#define VIA_OUT(hwregs, reg, val) *(volatile u32 *)((hwregs) + (reg)) = (val)
#define VIA_IN(hwregs, reg)       *(volatile u32 *)((hwregs) + (reg))
#define VGA_OUT8(hwregs, reg, val) *(volatile u8 *)((hwregs) + (reg) + 0x8000) = (val)
#define VGA_IN8(hwregs, reg)       *(volatile u8 *)((hwregs) + (reg) + 0x8000)
#define RS16(val)               ((u16)((s16)(val)))
#define RS12(val)               (((u16)((s16)(val))) & 0xfff)


#else // !KERNEL

#define VIA_OUT(hwregs, reg, val)   *(volatile u32 *)((hwregs) + (reg)) = (val)
#define VIA_IN(hwregs, reg)         *(volatile u32 *)((hwregs) + (reg))
#define VGA_OUT8(hwregs, reg, val)  *(volatile u8 *)((hwregs) + (reg) + 0x8000) = (val)
#define VGA_IN8(hwregs, reg)        *(volatile u8 *)((hwregs) + (reg) + 0x8000)

#define RS16(val)               ((u16)((s16)(val)))
#define RS12(val)               (((u16)((s16)(val))) & 0xfff)

#endif // KERNEL

#define VIDEO_OUT(hwregs, reg, val) VIA_OUT((hwregs)+0x200, reg, val)
#define VIDEO_IN(hwregs, reg)       VIA_IN((hwregs)+0x200, reg)

#define MAXLOOP                 0xffffff

#endif /* _VIA_MMIO_H */