tc_wmb
tc_wmb();
*(volatile uint32_t *)((p) + (i)) = (v); tc_wmb(); \
*(volatile uint32_t *)((p) + (i)) = (v); tc_wmb(); \
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
#define WRITE_MB() tc_wmb()
*(volatile uint32_t *)((p) + (i)) = (v); tc_wmb(); \
#define WRITE_MB() tc_wmb()
*((uint32_t *)asic + TGA_REG_SISR) = sisr = 0x00000001; tc_wmb();
REG(vdac, bt_reg) = 0x40; /* CMD0 */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* CMD1 */ tc_wmb();
REG(vdac, bt_reg) = 0xc0; /* CMD2 */ tc_wmb();
REG(vdac, bt_reg) = 0xff; /* PRM */ tc_wmb();
REG(vdac, bt_reg) = 0; /* 205 */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* PBM */ tc_wmb();
REG(vdac, bt_reg) = 0; /* 207 */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* ORM */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* OBM */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* ILV */ tc_wmb();
REG(vdac, bt_reg) = 0x0; /* TEST */ tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_reg) = 0x0; tc_wmb();
REG(vdac, bt_cmap) = p[0]; tc_wmb();
REG(vdac, bt_cmap) = p[1]; tc_wmb();
REG(vdac, bt_cmap) = p[2]; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0; tc_wmb();
REG(vdac, bt_reg) = 0; tc_wmb();
REG(vdac, bt_reg) = 0; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0xff; tc_wmb();
REG(vdac, bt_reg) = 0x40; tc_wmb(); /* CMD 0 */
REG(vdac, bt_reg) = 0x48; tc_wmb(); /* CMD 1 */
REG(vdac, bt_reg) = 0xc0; tc_wmb(); /* CMD 2 */
REG(vdac, bt_reg) = 0; tc_wmb(); /* !? 204 !? */
REG(vdac, bt_reg) = 0xff; tc_wmb(); /* plane 0:7 */
REG(vdac, bt_reg) = 0xff; tc_wmb(); /* plane 8:15 */
REG(vdac, bt_reg) = 0xff; tc_wmb(); /* plane 16:23 */
REG(vdac, bt_reg) = 0xff; tc_wmb(); /* plane 24:27 */
REG(vdac, bt_reg) = 0x00; tc_wmb(); /* blink 0:7 */
REG(vdac, bt_reg) = 0x00; tc_wmb(); /* blink 8:15 */
REG(vdac, bt_reg) = 0x00; tc_wmb(); /* blink 16:23 */
REG(vdac, bt_reg) = 0x00; tc_wmb(); /* blink 24:27 */
REG(vdac, bt_reg) = 0x00; tc_wmb();
tc_wmb(); \
tc_wmb();
REG(hw, bt_reg) = x; tc_wmb();
REG(hw, bt_reg) = x >> 8; tc_wmb();
REG(hw, bt_reg) = y; tc_wmb();
REG(hw, bt_reg) = y >> 8; tc_wmb();
tc_wmb();
REG(hw, bt_reg) = cp[1]; tc_wmb();
REG(hw, bt_reg) = cp[3]; tc_wmb();
REG(hw, bt_reg) = cp[5]; tc_wmb();
REG(hw, bt_reg) = cp[0]; tc_wmb();
REG(hw, bt_reg) = cp[2]; tc_wmb();
REG(hw, bt_reg) = cp[4]; tc_wmb();
REG(hw, bt_reg) = 0; tc_wmb();
REG(hw, bt_reg) = 0; tc_wmb();
REG(hw, bt_reg) = shuffle[u]; tc_wmb();
REG(hw, bt_reg) = shuffle[u]; tc_wmb();
REG(hw, bt_reg) = 0; tc_wmb();
REG(hw, bt_reg) = 0; tc_wmb();
REG(hw, bt_cmap) = cm->r[index]; tc_wmb();
REG(hw, bt_cmap) = cm->g[index]; tc_wmb();
REG(hw, bt_cmap) = cm->b[index]; tc_wmb();
tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[1]); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[3]); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[5]); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[0]); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[2]); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(cp[4]); tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb(); \
tc_wmb();
tc_wmb();
tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(x); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE1(x); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE0(y); tc_wmb();
REG(vdac, bt_reg) = DUPBYTE1(y); tc_wmb();
REG(vdac, bt_reg) = 0x00c0c0c0; tc_wmb();
REG(vdac, bt_reg) = 0x00000000; tc_wmb();
REG(vdac, bt_reg) = 0x00c2c2c2; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
REG(vdac, bt_reg) = 0x00000000; tc_wmb();
REG(vdac, bt_reg) = 0x00000000; tc_wmb();
REG(vdac, bt_reg) = 0x00000000; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
REG(vdac, bt_reg) = 0x00ffffff; tc_wmb();
tc_wmb();
*(volatile uint32_t *)((p) + (i)) = (v); tc_wmb(); \
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();
tc_wmb();