Lines Matching refs:regs
440 #define __ONE_REG(i, regs) \
442 if (i < ARRAY_SIZE(regs) && regs[i].reg > 0) { \
443 __assert_eq(regs[0].reg + i, regs[i].reg); \
444 if (regs[i].bo) { \
445 uint64_t v = regs[i].bo->iova + regs[i].bo_offset; \
446 v >>= regs[i].bo_shift; \
447 v |= regs[i].value; \
452 *p++ = regs[i].value; \
453 if (regs[i].is_address) \
454 *p++ = regs[i].value >> 32; \
473 const struct fd_reg_pair regs[] = { __VA_ARGS__ }; \
474 unsigned count = ARRAY_SIZE(regs); \
476 STATIC_ASSERT(ARRAY_SIZE(regs) > 0); \
477 STATIC_ASSERT(ARRAY_SIZE(regs) <= 16); \
479 tu_cs_emit_pkt4((cs), regs[0].reg, count); \
481 __ONE_REG( 0, regs); \
482 __ONE_REG( 1, regs); \
483 __ONE_REG( 2, regs); \
484 __ONE_REG( 3, regs); \
485 __ONE_REG( 4, regs); \
486 __ONE_REG( 5, regs); \
487 __ONE_REG( 6, regs); \
488 __ONE_REG( 7, regs); \
489 __ONE_REG( 8, regs); \
490 __ONE_REG( 9, regs); \
491 __ONE_REG(10, regs); \
492 __ONE_REG(11, regs); \
493 __ONE_REG(12, regs); \
494 __ONE_REG(13, regs); \
495 __ONE_REG(14, regs); \
496 __ONE_REG(15, regs); \