From fd2bb3714632911a027485b393686cab4c46d50f Mon Sep 17 00:00:00 2001 From: nakasima Date: Mon, 28 May 2007 02:38:40 +0000 Subject: [PATCH] add macros for wram abc. git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@89 4ee2a332-4b2b-5046-8439-1ba90f034370 --- include/twl/mi/wram_abc.h | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/include/twl/mi/wram_abc.h b/include/twl/mi/wram_abc.h index 985fa7a..7fa1792 100644 --- a/include/twl/mi/wram_abc.h +++ b/include/twl/mi/wram_abc.h @@ -177,20 +177,33 @@ MIImageWramC; #define REG_WRAM_C_MAP_PACK( start, end, img_size ) REG_WRAM_MAP_PACK( C, (start), (end), (img_size) ) #define REG_WRAM_MAP_PACK( abc, start, end, img_size ) \ ( \ - (((((start) - HW_WRAM_AREA) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_START_SHIFT) & REG_MI_WRAM_##abc##_MAP_START_MASK) \ - | (((((end) - HW_WRAM_AREA) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_END_SHIFT) & REG_MI_WRAM_##abc##_MAP_END_MASK) \ + REG_WRAM_MAP_CONV_ADDR( abc, START, (start) ) \ + | REG_WRAM_MAP_CONV_ADDR( abc, END, (end) ) \ | (img_size) \ ) +#define REG_WRAM_A_MAP_CONV_ADDR( border, addr ) REG_WRAM_MAP_CONV_ADDR( A, border, (addr) ) +#define REG_WRAM_B_MAP_CONV_ADDR( border, addr ) REG_WRAM_MAP_CONV_ADDR( B, border, (addr) ) +#define REG_WRAM_C_MAP_CONV_ADDR( border, addr ) REG_WRAM_MAP_CONV_ADDR( C, border, (addr) ) +#define REG_WRAM_MAP_CONV_ADDR( abc, border, addr ) \ +( \ + (((((addr) - HW_WRAM_AREA) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_##border##_SHIFT) & REG_MI_WRAM_##abc##_MAP_##border##_MASK) \ +) #define REG_WRAM_A_MAP_OFS_PACK( start_ofs, end_ofs ) REG_WRAM_MAP_OFS_PACK( A, (start_ofs), (end_ofs) ) #define REG_WRAM_B_MAP_OFS_PACK( start_ofs, end_ofs ) REG_WRAM_MAP_OFS_PACK( B, (start_ofs), (end_ofs) ) #define REG_WRAM_C_MAP_OFS_PACK( start_ofs, end_ofs ) REG_WRAM_MAP_OFS_PACK( C, (start_ofs), (end_ofs) ) #define REG_WRAM_MAP_OFS_PACK( abc, start_ofs, end_ofs ) \ ( \ - ((((start_ofs) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_START_SHIFT) & REG_MI_WRAM_##abc##_MAP_START_MASK) \ - | ((((end_ofs) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_END_SHIFT) & REG_MI_WRAM_##abc##_MAP_END_MASK) \ + REG_WRAM_MAP_CONV_OFS( abc, START, (start_ofs) ) \ + | REG_WRAM_MAP_CONV_OFS( abc, END, (end_ofs) ) \ +) +#define REG_WRAM_A_MAP_CONV_OFS( border, ofs ) REG_WRAM_MAP_CONV_OFS( A, border, (ofs) ) +#define REG_WRAM_B_MAP_CONV_OFS( border, ofs ) REG_WRAM_MAP_CONV_OFS( B, border, (ofs) ) +#define REG_WRAM_C_MAP_CONV_OFS( border, ofs ) REG_WRAM_MAP_CONV_OFS( C, border, (ofs) ) +#define REG_WRAM_MAP_CONV_OFS( abc, border, ofs ) \ +( \ + ((((ofs) / MI_WRAM_##abc##_BLOCK_SIZE) << REG_MI_WRAM_##abc##_MAP_##border##_SHIFT) & REG_MI_WRAM_##abc##_MAP_##border##_MASK) \ ) - #ifdef __cplusplus } /* extern "C" */