blob: 2f29a135a211d32404e1e4a9d1a00b8e22d1ecd3 [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
//////
/// don't edit! auto-generated by docc: MTR.h
////////////////////////////////////////////////////////////
#ifndef MTR_h
#define MTR_h (){}
#include "ctypes.h"
#pragma pack(1)
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}
#define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0)
#define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
#define _bCLRMASK_(b) (~_bSETMASK_(b))
#define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb))
#define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
#define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)
#endif
//////
///
/// $INTERFACE streamCtl biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// ###
/// * The base address of the frame
/// ###
/// %unsigned 32 baseAddr 0x0
/// @ 0x00004 (P)
/// ###
/// * The width of the frame
/// ###
/// %unsigned 16 width 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00008 (P)
/// ###
/// * The stride of the DDR image. That is the distance between on pixel and the pixel directly below it.
/// ###
/// %unsigned 16 stride 0x0
/// %% 16 # Stuffing bits...
/// @ 0x0000C (P)
/// ###
/// * The height of the frame
/// ###
/// %unsigned 16 height 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00010 (P)
/// ###
/// * The intended value quantization parameters
/// ###
/// %unsigned 8 qp 0x0
/// %% 24 # Stuffing bits...
/// @ 0x00014 (P)
/// ###
/// * The target compression ratio
/// * Note that the MTR only supports bandwidth compression, but not memory footprint compression. We may support an optional hard compression ratio cap so we can reduce memory footprint as well.
/// ###
/// %unsigned 8 compressRatio 0x0
/// %% 24 # Stuffing bits...
/// @ 0x00018 (P)
/// ###
/// * Compression scheme
/// * Note: Scheme C not supported in our current application
/// ###
/// %unsigned 3 scheme 0x0
/// : A 0x0
/// : B 0x1
/// : C 0x2
/// : D 0x3
/// : E 0x4
/// %% 29 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 28B, bits: 99b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_streamCtl
#define h_streamCtl (){}
#define BA_streamCtl_baseAddr 0x0000
#define B16streamCtl_baseAddr 0x0000
#define LSb32streamCtl_baseAddr 0
#define LSb16streamCtl_baseAddr 0
#define bstreamCtl_baseAddr 32
#define MSK32streamCtl_baseAddr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_streamCtl_width 0x0004
#define B16streamCtl_width 0x0004
#define LSb32streamCtl_width 0
#define LSb16streamCtl_width 0
#define bstreamCtl_width 16
#define MSK32streamCtl_width 0x0000FFFF
///////////////////////////////////////////////////////////
#define BA_streamCtl_stride 0x0008
#define B16streamCtl_stride 0x0008
#define LSb32streamCtl_stride 0
#define LSb16streamCtl_stride 0
#define bstreamCtl_stride 16
#define MSK32streamCtl_stride 0x0000FFFF
///////////////////////////////////////////////////////////
#define BA_streamCtl_height 0x000C
#define B16streamCtl_height 0x000C
#define LSb32streamCtl_height 0
#define LSb16streamCtl_height 0
#define bstreamCtl_height 16
#define MSK32streamCtl_height 0x0000FFFF
///////////////////////////////////////////////////////////
#define BA_streamCtl_qp 0x0010
#define B16streamCtl_qp 0x0010
#define LSb32streamCtl_qp 0
#define LSb16streamCtl_qp 0
#define bstreamCtl_qp 8
#define MSK32streamCtl_qp 0x000000FF
///////////////////////////////////////////////////////////
#define BA_streamCtl_compressRatio 0x0014
#define B16streamCtl_compressRatio 0x0014
#define LSb32streamCtl_compressRatio 0
#define LSb16streamCtl_compressRatio 0
#define bstreamCtl_compressRatio 8
#define MSK32streamCtl_compressRatio 0x000000FF
///////////////////////////////////////////////////////////
#define BA_streamCtl_scheme 0x0018
#define B16streamCtl_scheme 0x0018
#define LSb32streamCtl_scheme 0
#define LSb16streamCtl_scheme 0
#define bstreamCtl_scheme 3
#define MSK32streamCtl_scheme 0x00000007
#define streamCtl_scheme_A 0x0
#define streamCtl_scheme_B 0x1
#define streamCtl_scheme_C 0x2
#define streamCtl_scheme_D 0x3
#define streamCtl_scheme_E 0x4
///////////////////////////////////////////////////////////
typedef struct SIE_streamCtl {
///////////////////////////////////////////////////////////
#define GET32streamCtl_baseAddr(r32) _BFGET_(r32,31, 0)
#define SET32streamCtl_baseAddr(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_baseAddr : 32;
///////////////////////////////////////////////////////////
#define GET32streamCtl_width(r32) _BFGET_(r32,15, 0)
#define SET32streamCtl_width(r32,v) _BFSET_(r32,15, 0,v)
#define GET16streamCtl_width(r16) _BFGET_(r16,15, 0)
#define SET16streamCtl_width(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_width : 16;
UNSG32 RSVDx4_b16 : 16;
///////////////////////////////////////////////////////////
#define GET32streamCtl_stride(r32) _BFGET_(r32,15, 0)
#define SET32streamCtl_stride(r32,v) _BFSET_(r32,15, 0,v)
#define GET16streamCtl_stride(r16) _BFGET_(r16,15, 0)
#define SET16streamCtl_stride(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_stride : 16;
UNSG32 RSVDx8_b16 : 16;
///////////////////////////////////////////////////////////
#define GET32streamCtl_height(r32) _BFGET_(r32,15, 0)
#define SET32streamCtl_height(r32,v) _BFSET_(r32,15, 0,v)
#define GET16streamCtl_height(r16) _BFGET_(r16,15, 0)
#define SET16streamCtl_height(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_height : 16;
UNSG32 RSVDxC_b16 : 16;
///////////////////////////////////////////////////////////
#define GET32streamCtl_qp(r32) _BFGET_(r32, 7, 0)
#define SET32streamCtl_qp(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16streamCtl_qp(r16) _BFGET_(r16, 7, 0)
#define SET16streamCtl_qp(r16,v) _BFSET_(r16, 7, 0,v)
UNSG32 u_qp : 8;
UNSG32 RSVDx10_b8 : 24;
///////////////////////////////////////////////////////////
#define GET32streamCtl_compressRatio(r32) _BFGET_(r32, 7, 0)
#define SET32streamCtl_compressRatio(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16streamCtl_compressRatio(r16) _BFGET_(r16, 7, 0)
#define SET16streamCtl_compressRatio(r16,v) _BFSET_(r16, 7, 0,v)
UNSG32 u_compressRatio : 8;
UNSG32 RSVDx14_b8 : 24;
///////////////////////////////////////////////////////////
#define GET32streamCtl_scheme(r32) _BFGET_(r32, 2, 0)
#define SET32streamCtl_scheme(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16streamCtl_scheme(r16) _BFGET_(r16, 2, 0)
#define SET16streamCtl_scheme(r16,v) _BFSET_(r16, 2, 0,v)
UNSG32 u_scheme : 3;
UNSG32 RSVDx18_b3 : 29;
///////////////////////////////////////////////////////////
} SIE_streamCtl;
///////////////////////////////////////////////////////////
SIGN32 streamCtl_drvrd(SIE_streamCtl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 streamCtl_drvwr(SIE_streamCtl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void streamCtl_reset(SIE_streamCtl *p);
SIGN32 streamCtl_cmp (SIE_streamCtl *p, SIE_streamCtl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define streamCtl_check(p,pie,pfx,hLOG) streamCtl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define streamCtl_print(p, pfx,hLOG) streamCtl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: streamCtl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE zOrderCtl biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 baseAddr (P)
/// ###
/// * The base address of the Z-order rectangle
/// ###
/// %unsigned 32 val 0x0
/// ###
/// * Must be 128-byte (AXI burst x16) aligned. Lower 7-bits will be ignored.
/// ###
/// @ 0x00004 width (P)
/// ###
/// * The width of the Z-order rectangle
/// ###
/// %unsigned 13 val 0x0
/// ###
/// * Max supported width is 2048 pixels for 32-bit pixels, 4096 for 16-bit pixels, and 8192 for 8-bit pixels.
/// ###
/// %% 19 # Stuffing bits...
/// @ 0x00008 stride (P)
/// ###
/// * The stride of the DDR image. That is the distance between one pixel and the pixel directly below it.
/// ###
/// %unsigned 16 val 0x0
/// ###
/// * Must be 128-byte (AXI burst x16) aligned. Lower 7-bits will be ignored. Max supported stride is 16k pixels for 32-bit pixels, 32k pixels for 16-bit pixels, and 64k for 8-bit pixels.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0000C height (P)
/// ###
/// * The height of the Z-order rectangle
/// ###
/// %unsigned 11 val 0x0
/// ###
/// * Max supported height is 2048 pixels.
/// ###
/// %% 21 # Stuffing bits...
/// @ 0x00010 active (P)
/// ###
/// * Bit indicating whether the current rectangle filtering is active
/// ###
/// %unsigned 1 val 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00014 visible (P)
/// ###
/// * Bit indicating whether the current region is visible
/// ###
/// %unsigned 1 val 0x0
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 24B, bits: 74b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_zOrderCtl
#define h_zOrderCtl (){}
#define RA_zOrderCtl_baseAddr 0x0000
#define BA_zOrderCtl_baseAddr_val 0x0000
#define B16zOrderCtl_baseAddr_val 0x0000
#define LSb32zOrderCtl_baseAddr_val 0
#define LSb16zOrderCtl_baseAddr_val 0
#define bzOrderCtl_baseAddr_val 32
#define MSK32zOrderCtl_baseAddr_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_zOrderCtl_width 0x0004
#define BA_zOrderCtl_width_val 0x0004
#define B16zOrderCtl_width_val 0x0004
#define LSb32zOrderCtl_width_val 0
#define LSb16zOrderCtl_width_val 0
#define bzOrderCtl_width_val 13
#define MSK32zOrderCtl_width_val 0x00001FFF
///////////////////////////////////////////////////////////
#define RA_zOrderCtl_stride 0x0008
#define BA_zOrderCtl_stride_val 0x0008
#define B16zOrderCtl_stride_val 0x0008
#define LSb32zOrderCtl_stride_val 0
#define LSb16zOrderCtl_stride_val 0
#define bzOrderCtl_stride_val 16
#define MSK32zOrderCtl_stride_val 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_zOrderCtl_height 0x000C
#define BA_zOrderCtl_height_val 0x000C
#define B16zOrderCtl_height_val 0x000C
#define LSb32zOrderCtl_height_val 0
#define LSb16zOrderCtl_height_val 0
#define bzOrderCtl_height_val 11
#define MSK32zOrderCtl_height_val 0x000007FF
///////////////////////////////////////////////////////////
#define RA_zOrderCtl_active 0x0010
#define BA_zOrderCtl_active_val 0x0010
#define B16zOrderCtl_active_val 0x0010
#define LSb32zOrderCtl_active_val 0
#define LSb16zOrderCtl_active_val 0
#define bzOrderCtl_active_val 1
#define MSK32zOrderCtl_active_val 0x00000001
///////////////////////////////////////////////////////////
#define RA_zOrderCtl_visible 0x0014
#define BA_zOrderCtl_visible_val 0x0014
#define B16zOrderCtl_visible_val 0x0014
#define LSb32zOrderCtl_visible_val 0
#define LSb16zOrderCtl_visible_val 0
#define bzOrderCtl_visible_val 1
#define MSK32zOrderCtl_visible_val 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_zOrderCtl {
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_baseAddr_val(r32) _BFGET_(r32,31, 0)
#define SET32zOrderCtl_baseAddr_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32zOrderCtl_baseAddr {\
UNSG32 ubaseAddr_val : 32;\
}
union { UNSG32 u32zOrderCtl_baseAddr;
struct w32zOrderCtl_baseAddr;
};
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_width_val(r32) _BFGET_(r32,12, 0)
#define SET32zOrderCtl_width_val(r32,v) _BFSET_(r32,12, 0,v)
#define GET16zOrderCtl_width_val(r16) _BFGET_(r16,12, 0)
#define SET16zOrderCtl_width_val(r16,v) _BFSET_(r16,12, 0,v)
#define w32zOrderCtl_width {\
UNSG32 uwidth_val : 13;\
UNSG32 RSVDx4_b13 : 19;\
}
union { UNSG32 u32zOrderCtl_width;
struct w32zOrderCtl_width;
};
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_stride_val(r32) _BFGET_(r32,15, 0)
#define SET32zOrderCtl_stride_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16zOrderCtl_stride_val(r16) _BFGET_(r16,15, 0)
#define SET16zOrderCtl_stride_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32zOrderCtl_stride {\
UNSG32 ustride_val : 16;\
UNSG32 RSVDx8_b16 : 16;\
}
union { UNSG32 u32zOrderCtl_stride;
struct w32zOrderCtl_stride;
};
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_height_val(r32) _BFGET_(r32,10, 0)
#define SET32zOrderCtl_height_val(r32,v) _BFSET_(r32,10, 0,v)
#define GET16zOrderCtl_height_val(r16) _BFGET_(r16,10, 0)
#define SET16zOrderCtl_height_val(r16,v) _BFSET_(r16,10, 0,v)
#define w32zOrderCtl_height {\
UNSG32 uheight_val : 11;\
UNSG32 RSVDxC_b11 : 21;\
}
union { UNSG32 u32zOrderCtl_height;
struct w32zOrderCtl_height;
};
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_active_val(r32) _BFGET_(r32, 0, 0)
#define SET32zOrderCtl_active_val(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16zOrderCtl_active_val(r16) _BFGET_(r16, 0, 0)
#define SET16zOrderCtl_active_val(r16,v) _BFSET_(r16, 0, 0,v)
#define w32zOrderCtl_active {\
UNSG32 uactive_val : 1;\
UNSG32 RSVDx10_b1 : 31;\
}
union { UNSG32 u32zOrderCtl_active;
struct w32zOrderCtl_active;
};
///////////////////////////////////////////////////////////
#define GET32zOrderCtl_visible_val(r32) _BFGET_(r32, 0, 0)
#define SET32zOrderCtl_visible_val(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16zOrderCtl_visible_val(r16) _BFGET_(r16, 0, 0)
#define SET16zOrderCtl_visible_val(r16,v) _BFSET_(r16, 0, 0,v)
#define w32zOrderCtl_visible {\
UNSG32 uvisible_val : 1;\
UNSG32 RSVDx14_b1 : 31;\
}
union { UNSG32 u32zOrderCtl_visible;
struct w32zOrderCtl_visible;
};
///////////////////////////////////////////////////////////
} SIE_zOrderCtl;
typedef union T32zOrderCtl_baseAddr
{ UNSG32 u32;
struct w32zOrderCtl_baseAddr;
} T32zOrderCtl_baseAddr;
typedef union T32zOrderCtl_width
{ UNSG32 u32;
struct w32zOrderCtl_width;
} T32zOrderCtl_width;
typedef union T32zOrderCtl_stride
{ UNSG32 u32;
struct w32zOrderCtl_stride;
} T32zOrderCtl_stride;
typedef union T32zOrderCtl_height
{ UNSG32 u32;
struct w32zOrderCtl_height;
} T32zOrderCtl_height;
typedef union T32zOrderCtl_active
{ UNSG32 u32;
struct w32zOrderCtl_active;
} T32zOrderCtl_active;
typedef union T32zOrderCtl_visible
{ UNSG32 u32;
struct w32zOrderCtl_visible;
} T32zOrderCtl_visible;
///////////////////////////////////////////////////////////
typedef union TzOrderCtl_baseAddr
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_baseAddr;
};
} TzOrderCtl_baseAddr;
typedef union TzOrderCtl_width
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_width;
};
} TzOrderCtl_width;
typedef union TzOrderCtl_stride
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_stride;
};
} TzOrderCtl_stride;
typedef union TzOrderCtl_height
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_height;
};
} TzOrderCtl_height;
typedef union TzOrderCtl_active
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_active;
};
} TzOrderCtl_active;
typedef union TzOrderCtl_visible
{ UNSG32 u32[1];
struct {
struct w32zOrderCtl_visible;
};
} TzOrderCtl_visible;
///////////////////////////////////////////////////////////
SIGN32 zOrderCtl_drvrd(SIE_zOrderCtl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 zOrderCtl_drvwr(SIE_zOrderCtl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void zOrderCtl_reset(SIE_zOrderCtl *p);
SIGN32 zOrderCtl_cmp (SIE_zOrderCtl *p, SIE_zOrderCtl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define zOrderCtl_check(p,pie,pfx,hLOG) zOrderCtl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define zOrderCtl_print(p, pfx,hLOG) zOrderCtl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: zOrderCtl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE mtr biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 zOrderCtl (P)
/// # 0x00000 zOAry
/// $zOrderCtl zOAry REG [4]
/// ###
/// * 4 rectangles are defined
/// ###
/// @ 0x00060 zOActive (P)
/// ###
/// * Bit indicating whether Z-order filtering is active
/// ###
/// %unsigned 1 val 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00064 zOBypLength (P)
/// ###
/// * Specifies the upper limit of the transaction burst length that will always be bypassed
/// ###
/// %unsigned 4 val 0x3
/// ###
/// * Transactions of burst length < bypLength will be bypassed.
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 104B, bits: 301b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_mtr
#define h_mtr (){}
#define RA_mtr_zOrderCtl 0x0000
#define RA_mtr_zOAry 0x0000
///////////////////////////////////////////////////////////
#define RA_mtr_zOActive 0x0060
#define BA_mtr_zOActive_val 0x0060
#define B16mtr_zOActive_val 0x0060
#define LSb32mtr_zOActive_val 0
#define LSb16mtr_zOActive_val 0
#define bmtr_zOActive_val 1
#define MSK32mtr_zOActive_val 0x00000001
///////////////////////////////////////////////////////////
#define RA_mtr_zOBypLength 0x0064
#define BA_mtr_zOBypLength_val 0x0064
#define B16mtr_zOBypLength_val 0x0064
#define LSb32mtr_zOBypLength_val 0
#define LSb16mtr_zOBypLength_val 0
#define bmtr_zOBypLength_val 4
#define MSK32mtr_zOBypLength_val 0x0000000F
///////////////////////////////////////////////////////////
typedef struct SIE_mtr {
///////////////////////////////////////////////////////////
SIE_zOrderCtl ie_zOAry[4];
///////////////////////////////////////////////////////////
#define GET32mtr_zOActive_val(r32) _BFGET_(r32, 0, 0)
#define SET32mtr_zOActive_val(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16mtr_zOActive_val(r16) _BFGET_(r16, 0, 0)
#define SET16mtr_zOActive_val(r16,v) _BFSET_(r16, 0, 0,v)
#define w32mtr_zOActive {\
UNSG32 uzOActive_val : 1;\
UNSG32 RSVDx60_b1 : 31;\
}
union { UNSG32 u32mtr_zOActive;
struct w32mtr_zOActive;
};
///////////////////////////////////////////////////////////
#define GET32mtr_zOBypLength_val(r32) _BFGET_(r32, 3, 0)
#define SET32mtr_zOBypLength_val(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16mtr_zOBypLength_val(r16) _BFGET_(r16, 3, 0)
#define SET16mtr_zOBypLength_val(r16,v) _BFSET_(r16, 3, 0,v)
#define w32mtr_zOBypLength {\
UNSG32 uzOBypLength_val : 4;\
UNSG32 RSVDx64_b4 : 28;\
}
union { UNSG32 u32mtr_zOBypLength;
struct w32mtr_zOBypLength;
};
///////////////////////////////////////////////////////////
} SIE_mtr;
typedef union T32mtr_zOActive
{ UNSG32 u32;
struct w32mtr_zOActive;
} T32mtr_zOActive;
typedef union T32mtr_zOBypLength
{ UNSG32 u32;
struct w32mtr_zOBypLength;
} T32mtr_zOBypLength;
///////////////////////////////////////////////////////////
typedef union Tmtr_zOActive
{ UNSG32 u32[1];
struct {
struct w32mtr_zOActive;
};
} Tmtr_zOActive;
typedef union Tmtr_zOBypLength
{ UNSG32 u32[1];
struct {
struct w32mtr_zOBypLength;
};
} Tmtr_zOBypLength;
///////////////////////////////////////////////////////////
SIGN32 mtr_drvrd(SIE_mtr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 mtr_drvwr(SIE_mtr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void mtr_reset(SIE_mtr *p);
SIGN32 mtr_cmp (SIE_mtr *p, SIE_mtr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define mtr_check(p,pie,pfx,hLOG) mtr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define mtr_print(p, pfx,hLOG) mtr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: mtr
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: MTR.h
////////////////////////////////////////////////////////////