101 lines · plain
1..2 **************************************************3 * *4 * Automatically generated file, do not edit! *5 * *6 **************************************************7 8.. _amdgpu_synid_gfx1030_msg:9 10msg11===12 13A 16-bit message code. The bits of this operand have the following meaning:14 15 ============ =============================== ===============16 Bits Description Value Range17 ============ =============================== ===============18 3:0 Message *type*. 0..1519 6:4 Optional *operation*. 0..720 7:7 Unused. \-21 9:8 Optional *stream*. 0..322 15:10 Unused. \-23 ============ =============================== ===============24 25This operand may be specified as one of the following:26 27* An :ref:`integer_number<amdgpu_synid_integer_number>` or an :ref:`absolute_expression<amdgpu_synid_absolute_expression>`. The value must be in the range from 0 to 0xFFFF.28* A *sendmsg* value which is described below.29 30 ==================================== ====================================================31 Sendmsg Value Syntax Description32 ==================================== ====================================================33 sendmsg(<*type*>) A message identified by its *type*.34 sendmsg(<*type*>,<*op*>) A message identified by its *type* and *operation*.35 sendmsg(<*type*>,<*op*>,<*stream*>) A message identified by its *type* and *operation*36 with a stream *id*.37 ==================================== ====================================================38 39*Type* may be specified using message *name* or message *id*.40 41*Op* may be specified using operation *name* or operation *id*.42 43Stream *id* is an integer in the range from 0 to 3.44 45Numeric values may be specified as positive :ref:`integer numbers<amdgpu_synid_integer_number>`46or :ref:`absolute expressions<amdgpu_synid_absolute_expression>`.47 48Each message type supports specific operations:49 50 ====================== ========== ============================== ============ ==========51 Message name Message Id Supported Operations Operation Id Stream Id52 ====================== ========== ============================== ============ ==========53 MSG_INTERRUPT 1 \- \- \-54 MSG_GS 2 GS_OP_CUT 1 Optional55 \ GS_OP_EMIT 2 Optional56 \ GS_OP_EMIT_CUT 3 Optional57 MSG_GS_DONE 3 GS_OP_NOP 0 \-58 \ GS_OP_CUT 1 Optional59 \ GS_OP_EMIT 2 Optional60 \ GS_OP_EMIT_CUT 3 Optional61 MSG_SAVEWAVE 4 \- \- \-62 MSG_STALL_WAVE_GEN 5 \- \- \-63 MSG_HALT_WAVES 6 \- \- \-64 MSG_ORDERED_PS_DONE 7 \- \- \-65 MSG_GS_ALLOC_REQ 9 \- \- \-66 MSG_GET_DOORBELL 10 \- \- \-67 MSG_GET_DDID 11 \- \- \-68 MSG_SYSMSG 15 SYSMSG_OP_ECC_ERR_INTERRUPT 1 \-69 \ SYSMSG_OP_REG_RD 2 \-70 \ SYSMSG_OP_TTRACE_PC 4 \-71 ====================== ========== ============================== ============ ==========72 73*Sendmsg* arguments are validated depending on how *type* value is specified:74 75* If message *type* is specified by name, arguments values must satisfy limitations detailed in the table above.76* If message *type* is specified as a number, each argument must not exceed the corresponding value range (see the first table).77 78Examples:79 80.. parsed-literal::81 82 // numeric message code83 msg = 0x1084 s_sendmsg 0x1285 s_sendmsg msg + 286 87 // sendmsg with strict arguments validation88 s_sendmsg sendmsg(MSG_INTERRUPT)89 s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT)90 s_sendmsg sendmsg(MSG_GS, 2)91 s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_EMIT_CUT, 1)92 s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_TTRACE_PC)93 s_sendmsg sendmsg(MSG_GET_DOORBELL)94 95 // sendmsg with validation of value range only96 msg = 297 op = 398 stream = 199 s_sendmsg sendmsg(msg, op, stream)100 s_sendmsg sendmsg(2, GS_OP_CUT)101