Modify Thomas's radeon driver to fit our build structure.
Still needs woork to properly enable logging and extra settings. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6983 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
Copyright (c) 2002, Thomas Kurschel
|
||||
|
||||
|
||||
Part of Radeon driver
|
||||
|
||||
Macros for easier memory mapped I/O access
|
||||
*/
|
||||
|
||||
#ifndef _MMIO_H
|
||||
#define _MMIO_H
|
||||
|
||||
// read 8-bit register
|
||||
#define INREG8( regs, addr ) (*(regs + (addr)))
|
||||
// write 8-bit register
|
||||
#define OUTREG8( regs, addr, val ) do { *(regs + (addr)) = (val); } while( 0 )
|
||||
// read 32-bit register
|
||||
#define INREG( regs, addr ) (*((vuint32 *)(regs + (addr))))
|
||||
// write 32-bit register
|
||||
#define OUTREG( regs, addr, val ) do { *(vuint32 *)(regs + (addr)) = (val); } while( 0 )
|
||||
// write partial 32-bit register, keeping bits "mask"
|
||||
#define OUTREGP( regs, addr, val, mask ) \
|
||||
do { \
|
||||
uint32 tmp = INREG( (regs), (addr) ); \
|
||||
tmp &= (mask); \
|
||||
tmp |= (val); \
|
||||
OUTREG( (regs), (addr), tmp ); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user