CTX
#define CTX_MASK CTX(0x3f, 0x7)
#define STC_CTXMATCH_ADDR(STC, CTX) \
((STC)->strbuf_ctxmatch_base + ((CTX) << 3))
#define IOPTE_CONSISTENT(CTX) \
(((CTX) << 47) & IOPTE_CONTEXT))
#define IOPTE_STREAMING(CTX) \
(IOPTE_CONSISTENT(CTX) | IOPTE_STBUF)
#define emit_read_y(REG, CTX) emit(RD_Y | RD(REG), CTX)
#define emit_write_y(REG, CTX) emit(WR_Y | IMMED | RS1(REG) | S13(0), CTX)
#define emit_cmp(R1, R2, CTX) \
emit(SUBCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
#define emit_cmpi(R1, IMM, CTX) \
emit(SUBCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
#define emit_btst(R1, R2, CTX) \
emit(ANDCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
#define emit_btsti(R1, IMM, CTX) \
emit(ANDCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param_in, 10 * 200000);
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param_in, 10 * 200000);
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
CTX->logger
CTX->logger
#define DC_LOGGER CTX->logger
CTX->logger
dm_read_reg(CTX, HPD_REG(reg_name))
generic_reg_update_ex(CTX, \
dm_read_reg(CTX, AUX_REG(reg_name))
generic_reg_update_ex(CTX, \
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
dm_read_reg(CTX, AUX_REG(reg_name))
dm_write_reg(CTX, AUX_REG(reg_name), val)
#define PERF_TRACE() dm_perf_trace_timestamp(__func__, __LINE__, CTX)
generic_reg_get(CTX, REG(reg_name), \
generic_reg_get2(CTX, REG(reg_name), \
generic_reg_get3(CTX, REG(reg_name), \
generic_reg_get4(CTX, REG(reg_name), \
generic_reg_get5(CTX, REG(reg_name), \
generic_reg_get6(CTX, REG(reg_name), \
generic_reg_get7(CTX, REG(reg_name), \
generic_reg_get8(CTX, REG(reg_name), \
generic_reg_wait(CTX, \
generic_reg_update_ex(CTX, \
dm_read_reg(CTX, REG(reg_name))
dm_write_reg(CTX, REG(reg_name), value)
generic_indirect_reg_update_ex(CTX, \
generic_read_indirect_reg(CTX, REG(index_reg_name), REG(data_reg_name), IND_REG(index))
generic_indirect_reg_get(CTX, REG(index_reg_name), REG(data_reg_name), \
generic_indirect_reg_update_ex(CTX, \
generic_indirect_reg_update_ex_sync(CTX, \
generic_indirect_reg_get_sync(CTX, \
reg_sequence_start_gather(CTX)
generic_reg_set_ex(CTX, \
reg_sequence_start_execute(CTX)
reg_sequence_wait_done(CTX)
optc1, CTX->dc->debug.enable_fine_grain_clock_gating.bits.optc);
dmub_reg_get(CTX, REG(reg_name), FN(reg_name, field), val)
#define REG_READ(reg) ((CTX)->funcs.reg_read((CTX)->user_ctx, REG(reg)))
((CTX)->funcs.reg_write((CTX)->user_ctx, REG(reg), (val)))
dmub_reg_set(CTX, REG(reg_name), initial_val, n, __VA_ARGS__)
dmub_reg_update(CTX, REG(reg_name), n, __VA_ARGS__)
#define BPF_RETVAL_HOOK(NAME, SECTION, CTX, EXPECTED_ERR) \