Lines Matching defs:reg
56 static void si_pm4_set_reg_custom(struct si_pm4_state *state, unsigned reg, uint32_t val,
59 reg >>= 2;
66 if (opcode != state->last_opcode || reg != (state->last_reg + 1)) {
68 state->pm4[state->ndw++] = reg | (idx << 28);
71 assert(reg <= UINT16_MAX);
72 state->last_reg = reg;
77 void si_pm4_set_reg(struct si_pm4_state *state, unsigned reg, uint32_t val)
81 SI_CHECK_SHADOWED_REGS(reg, 1);
83 if (reg >= SI_CONFIG_REG_OFFSET && reg < SI_CONFIG_REG_END) {
85 reg -= SI_CONFIG_REG_OFFSET;
87 } else if (reg >= SI_SH_REG_OFFSET && reg < SI_SH_REG_END) {
89 reg -= SI_SH_REG_OFFSET;
91 } else if (reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END) {
93 reg -= SI_CONTEXT_REG_OFFSET;
95 } else if (reg >= CIK_UCONFIG_REG_OFFSET && reg < CIK_UCONFIG_REG_END) {
97 reg -= CIK_UCONFIG_REG_OFFSET;
100 PRINT_ERR("Invalid register offset %08x!\n", reg);
104 si_pm4_set_reg_custom(state, reg, val, opcode, 0);
107 void si_pm4_set_reg_idx3(struct si_pm4_state *state, unsigned reg, uint32_t val)
109 SI_CHECK_SHADOWED_REGS(reg, 1);
111 si_pm4_set_reg_custom(state, reg - SI_SH_REG_OFFSET, val, PKT3_SET_SH_REG_INDEX, 3);