TT-System-Firmware APIs 19.15.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
msgqueue.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Tenstorrent AI ULC
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef TENSTORRENT_MSGQUEUE_H_
8#define TENSTORRENT_MSGQUEUE_H_
9
10#include <stdint.h>
11
13
14#define NUM_MSG_QUEUES 4
15#define MSG_QUEUE_SIZE 4
16#define MSG_QUEUE_POINTER_WRAP (2 * MSG_QUEUE_SIZE)
17#define REQUEST_MSG_LEN 8
18#define RESPONSE_MSG_LEN 8
19
20#define MSG_TYPE_INDEX 0
21#define MSG_TYPE_MASK 0xFF
22#define MSG_TYPE_SHIFT 0
23
24#define MESSAGE_QUEUE_STATUS_MESSAGE_RECOGNIZED 0xff
25#define MESSAGE_QUEUE_STATUS_SCRATCH_ONLY 0xfe
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
44
57
64
74
82
109
148
160
173
197
213
226
274
291
305
323
337
351
365
379
410
428
444
461
487
505
519
555
575
591
601
630
646
664
676
693
722
742
759
776
787
801
811
821
831
841
855
872
889
899
909
938
960
973
989
1019
1021union request {
1024
1029
1032
1035
1038
1041
1044
1047
1050
1053
1056
1059
1062
1065
1068
1071
1074
1077
1080
1083
1086
1089
1092
1095
1100
1103
1106
1109
1112
1115
1118
1121
1124
1127
1130
1133
1136
1139
1142
1145
1148};
1149
1151
1153
1157
1158typedef uint8_t (*msgqueue_request_handler_t)(const union request *req, struct response *rsp);
1159
1164
1165#define REGISTER_MESSAGE(msg, func) \
1166 const STRUCT_SECTION_ITERABLE(msgqueue_handler, registration_for_##msg) = { \
1167 .msg_type = msg, \
1168 .handler = func, \
1169 }
1170
1171void process_message_queues(void);
1173
1174int msgqueue_request_push(uint32_t msgqueue_id, const union request *request);
1175int msgqueue_request_pop(uint32_t msgqueue_id, union request *request);
1176int msgqueue_response_push(uint32_t msgqueue_id, const struct response *response);
1177int msgqueue_response_pop(uint32_t msgqueue_id, struct response *response);
1178int init_msgqueue(void);
1179
1180#ifdef __cplusplus
1181}
1182#endif
1183
1184#endif
counter_cmd
Counter commands.
Definition msgqueue.h:66
counter_bank
Available counter banks.
Definition msgqueue.h:76
dvfs_counter_index
Counter indices within COUNTER_BANK_DVFS.
Definition msgqueue.h:84
eth_reset_err
Error codes in response data[1] for TT_SMC_MSG_TOGGLE_ETH_RESET.
Definition msgqueue.h:632
gddr_reset_err
Error codes returned in response data[1] for TT_SMC_MSG_TOGGLE_GDDR_RESET.
Definition msgqueue.h:593
@ COUNTER_CMD_FREEZE
Set the frozen bitmask; frozen counters stop counting.
Definition msgqueue.h:72
@ COUNTER_CMD_GET
Read counter values and status.
Definition msgqueue.h:68
@ COUNTER_CMD_CLEAR
Clear selected counters and their overflow bits.
Definition msgqueue.h:70
@ COUNTER_BANK_DVFS
DVFS loop counters indexed by dvfs_counter_index.
Definition msgqueue.h:80
@ COUNTER_BANK_THROTTLERS
Throttler counters indexed by aiclk_arb_max.
Definition msgqueue.h:78
@ DVFS_COUNTER_COUNT
Number of counters in this bank.
Definition msgqueue.h:107
@ DVFS_COUNTER_MAX_PASS_US
Longest duration of a single DVFS pass, in microseconds.
Definition msgqueue.h:105
@ DVFS_COUNTER_DROPPED_TICKS
DVFS timer ticks that expired while the previous pass was still queued.
Definition msgqueue.h:91
@ DVFS_COUNTER_MAX_PERIOD_US
Longest gap between consecutive DVFS passes, in microseconds.
Definition msgqueue.h:98
@ ETH_RESET_ERR_CFG_SIZE
Definition msgqueue.h:639
@ ETH_RESET_ERR_SERDES_FW_LOAD
Definition msgqueue.h:642
@ ETH_RESET_ERR_SERDES_FW_LOOKUP
Definition msgqueue.h:641
@ ETH_RESET_ERR_CFG_LOOKUP
Definition msgqueue.h:638
@ ETH_RESET_ERR_FW_LOOKUP
Definition msgqueue.h:636
@ ETH_RESET_ERR_NO_FLASH
Definition msgqueue.h:635
@ ETH_RESET_ERR_SERDES_CFG_LOAD
Definition msgqueue.h:644
@ ETH_RESET_ERR_FW_LOAD
Definition msgqueue.h:637
@ ETH_RESET_ERR_SERDES_CFG_LOOKUP
Definition msgqueue.h:643
@ ETH_RESET_ERR_INVALID_MASK
Definition msgqueue.h:633
@ ETH_RESET_ERR_CFG_LOAD
Definition msgqueue.h:640
@ ETH_RESET_ERR_CABLE_FAULT
Definition msgqueue.h:634
@ GDDR_RESET_ERR_MASKED
Definition msgqueue.h:596
@ GDDR_RESET_ERR_HARVESTED
Definition msgqueue.h:595
@ GDDR_RESET_ERR_POWERDOWN
Definition msgqueue.h:599
@ GDDR_RESET_ERR_INVALID_INST
Definition msgqueue.h:594
@ GDDR_RESET_ERR_BIST
Definition msgqueue.h:598
@ GDDR_RESET_ERR_TRAINING
Definition msgqueue.h:597
void process_message_queues(void)
Definition msgqueue.c:332
uint8_t(* msgqueue_request_handler_t)(const union request *req, struct response *rsp)
Definition msgqueue.h:1158
int msgqueue_request_push(uint32_t msgqueue_id, const union request *request)
Definition msgqueue.c:113
int msgqueue_response_push(uint32_t msgqueue_id, const struct response *response)
Definition msgqueue.c:153
int msgqueue_request_pop(uint32_t msgqueue_id, union request *request)
Definition msgqueue.c:133
void msgqueue_register_handler(uint32_t msg_code, msgqueue_request_handler_t handler)
Definition msgqueue.c:342
#define REQUEST_MSG_LEN
Definition msgqueue.h:17
int msgqueue_response_pop(uint32_t msgqueue_id, struct response *response)
Definition msgqueue.c:173
int init_msgqueue(void)
Definition msgqueue.c:544
#define RESPONSE_MSG_LEN
Definition msgqueue.h:18
__UINT32_TYPE__ uint32_t
__UINT64_TYPE__ uint64_t
__UINT8_TYPE__ uint8_t
__UINT16_TYPE__ uint16_t
Host request to adjust the AICLK speed.
Definition msgqueue.h:164
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:171
uint8_t command_code
The command code corresponding to TT_SMC_MSG_AICLK_GO_BUSY or TT_SMC_MSG_AICLK_GO_LONG_IDLE.
Definition msgqueue.h:168
Host request to start or stop AICLK frequency sweep.
Definition msgqueue.h:182
uint32_t sweep_low
Low end of sweep range in MHz.
Definition msgqueue.h:192
uint32_t sweep_high
High end of sweep range in MHz.
Definition msgqueue.h:195
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:189
uint8_t command_code
The command code corresponding to TT_SMC_MSG_AISWEEP_START or TT_SMC_MSG_AISWEEP_STOP.
Definition msgqueue.h:186
Host request to change ASIC state.
Definition msgqueue.h:668
uint8_t command_code
The command code corresponding to TT_SMC_MSG_ASIC_STATE0 or TT_SMC_MSG_ASIC_STATE3.
Definition msgqueue.h:674
Submessage for enabling/disabling the GDDR thermal-trip action.
Definition msgqueue.h:837
uint32_t enabled
0 to disable, 1 to enable
Definition msgqueue.h:839
Submessage for setting the periodic telemetry update interval.
Definition msgqueue.h:851
uint32_t interval_ms
0 to restore the default, or the update interval in ms
Definition msgqueue.h:853
Submessage for enabling/disabling kernel throttler at AICLK floor.
Definition msgqueue.h:817
uint32_t enabled
0 to disable, 1 to enable
Definition msgqueue.h:819
Submessage for setting kernel throttler stop NOPs frequency.
Definition msgqueue.h:827
uint32_t frequency
0 to restore FW control, or frequency in MHz where NOPs stop (200-1400)
Definition msgqueue.h:829
Generic characterization message for internal SMC use.
Definition msgqueue.h:879
union characterisation_submsg_data submsg_data
The submessage payload (interpretation depends on submsg_ID)
Definition msgqueue.h:887
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:885
uint8_t submsg_ID
Submessage ID identifying which payload structure is active.
Definition msgqueue.h:883
uint8_t command_code
The command code corresponding to TT_SMC_MSG_CHARACTERISATION.
Definition msgqueue.h:881
Characterization submessage to set host-requested minimum frequency floor.
Definition msgqueue.h:807
uint32_t value
Either 1 (restore) or frequency in MHz (200-1400)
Definition msgqueue.h:809
Host request to confirm SPI flash operation.
Definition msgqueue.h:979
uint32_t challenge_data
Challenge data for confirmation.
Definition msgqueue.h:987
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:984
uint8_t command_code
The command code corresponding to TT_SMC_MSG_CONFIRM_FLASHED_SPI.
Definition msgqueue.h:981
Host request for generic counter operations.
Definition msgqueue.h:126
uint8_t command
The command to execute, of type counter_cmd.
Definition msgqueue.h:134
uint8_t bank_index
For GET: counter index within counter_bank; ignored for CLEAR/FREEZE.
Definition msgqueue.h:140
uint8_t counter_bank
The counter bank to operate on, of type counter_bank.
Definition msgqueue.h:137
uint8_t reserved[1]
Reserved; host must set to zero.
Definition msgqueue.h:143
uint8_t command_code
The command code corresponding to TT_SMC_MSG_COUNTER.
Definition msgqueue.h:128
uint16_t mask
CLEAR (bits to reset) and FREEZE (frozen bitmask)
Definition msgqueue.h:146
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:131
Host request for debug NOC translation.
Definition msgqueue.h:383
uint8_t pcie_instance_override
Set to 1 to use pcie instance from the pcie_instance field, or 0 to get the pcie instance from FW tab...
Definition msgqueue.h:396
uint16_t bad_tensix_cols
Bitmask of bad tensix columns.
Definition msgqueue.h:399
uint8_t skip_eth_hi
hi byte of skip_eth field
Definition msgqueue.h:408
uint8_t enable_translation
Enable or disable NOC translation.
Definition msgqueue.h:388
uint8_t command_code
The command code corresponding to TT_SMC_MSG_DEBUG_NOC_TRANSLATION.
Definition msgqueue.h:385
uint8_t bad_gddr
Instance number of the bad GDDR. 0xFF if all GDDR are good.
Definition msgqueue.h:402
uint8_t pcie_instance
The PCIE instance.
Definition msgqueue.h:391
uint8_t skip_eth_low
low byte of skip_eth field
Definition msgqueue.h:405
Host request to ping DMC.
Definition msgqueue.h:415
uint8_t command_code
The command code corresponding to TT_SMC_MSG_PING_DM.
Definition msgqueue.h:417
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:420
bool legacy_ping
Use legacy ping mode.
Definition msgqueue.h:426
Host request to read or write SPI EEPROM.
Definition msgqueue.h:701
uint8_t buffer_mem_type
Buffer memory type (0 = CSM scratch buffer)
Definition msgqueue.h:708
uint32_t num_bytes
Number of bytes to transfer.
Definition msgqueue.h:717
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:711
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_EEPROM or TT_SMC_MSG_WRITE_EEPROM.
Definition msgqueue.h:705
uint32_t csm_addr
CSM buffer address for the data.
Definition msgqueue.h:720
uint32_t spi_address
SPI flash address to read from or write to.
Definition msgqueue.h:714
Host request to reset and reinitialize one or more ETH tiles.
Definition msgqueue.h:617
uint32_t eth_inst_mask
Bitmask of ETH instances to reset (bit N -> ETH N)
Definition msgqueue.h:625
uint8_t command_code
Command code TT_SMC_MSG_TOGGLE_ETH_RESET.
Definition msgqueue.h:619
uint8_t pad[3]
Padding.
Definition msgqueue.h:622
uint8_t no_fw_reload
If 1, tile/RISC reset only; skip SPI FW/cfg reload and ReleaseEthReset.
Definition msgqueue.h:628
Host request to lock flash writes.
Definition msgqueue.h:966
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:971
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FLASH_LOCK.
Definition msgqueue.h:968
Host request to unlock flash for writing.
Definition msgqueue.h:917
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FLASH_UNLOCK.
Definition msgqueue.h:919
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:929
uint8_t num_variable_words
Number of valid words in verified_variables.
Definition msgqueue.h:925
uint32_t verified_variables[1]
Board variables the flash writer has verified against the image it is about to write.
Definition msgqueue.h:936
Host request to force AICLK to a specific frequency.
Definition msgqueue.h:203
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_AICLK.
Definition msgqueue.h:205
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:208
uint32_t forced_freq
Frequency to force in MHz, or 0 to disable.
Definition msgqueue.h:211
Host request to force the fan speed.
Definition msgqueue.h:150
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:155
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_FAN_SPEED.
Definition msgqueue.h:152
uint32_t raw_speed
The raw speed of the fan to set, as a percentage from 0 to 100.
Definition msgqueue.h:158
Host request to force the VDD core voltage.
Definition msgqueue.h:313
uint32_t forced_voltage
The voltage to force in millivolts, or 0 to disable forcing.
Definition msgqueue.h:321
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_VDD.
Definition msgqueue.h:315
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:318
Host request to toggle GDDR reset.
Definition msgqueue.h:581
uint32_t gddr_inst
GDDR controller instance (0-7)
Definition msgqueue.h:589
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:586
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_GDDR_RESET.
Definition msgqueue.h:583
Host request to get the current AICLK frequency and control mode.
Definition msgqueue.h:222
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_AICLK.
Definition msgqueue.h:224
Host request to get frequency curve from voltage.
Definition msgqueue.h:355
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_FREQ_CURVE_FROM_VOLTAGE.
Definition msgqueue.h:357
uint32_t input_voltage_mv
The input voltage in mV.
Definition msgqueue.h:363
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:360
Host request to get voltage curve from frequency.
Definition msgqueue.h:369
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_VOLTAGE_CURVE_FROM_FREQ.
Definition msgqueue.h:371
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:374
uint32_t input_freq_mhz
The input frequency in MHz.
Definition msgqueue.h:377
Host request to get voltage.
Definition msgqueue.h:295
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_VOLTAGE.
Definition msgqueue.h:297
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:300
uint32_t slave_addr
I2C slave address (P0V8_VCORE_ADDR or P0V8_VCOREM_ADDR)
Definition msgqueue.h:303
Host request for I2C message transaction.
Definition msgqueue.h:465
uint8_t num_read_bytes
Number of bytes to read.
Definition msgqueue.h:479
uint8_t write_data[24]
Write data buffer (up to 24 bytes)
Definition msgqueue.h:485
uint8_t i2c_mst_id
I2C master ID.
Definition msgqueue.h:470
uint8_t i2c_slave_address
I2C slave address (7-bit)
Definition msgqueue.h:473
uint8_t num_write_bytes
Number of bytes to write.
Definition msgqueue.h:476
uint8_t command_code
The command code corresponding to TT_SMC_MSG_I2C_MESSAGE.
Definition msgqueue.h:467
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:482
Definition msgqueue.h:31
uint32_t response_queue_wptr
Definition msgqueue.h:40
uint32_t request_queue_rptr
Definition msgqueue.h:39
uint32_t last_serial
Definition msgqueue.h:41
uint32_t unused_2
Definition msgqueue.h:36
uint32_t unused_1
Definition msgqueue.h:35
uint32_t unused_3
Definition msgqueue.h:42
uint32_t request_queue_wptr
Definition msgqueue.h:33
uint32_t response_queue_rptr
Definition msgqueue.h:34
Definition msgqueue.h:1160
msgqueue_request_handler_t handler
Definition msgqueue.h:1162
uint32_t msg_type
Definition msgqueue.h:1161
Host request to initiate a PCIe DMA transfer.
Definition msgqueue.h:530
uint8_t command_code
The command code corresponding to TT_SMC_MSG_PCIE_DMA_CHIP_TO_HOST_TRANSFER or TT_SMC_MSG_PCIE_DMA_HO...
Definition msgqueue.h:535
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:541
uint8_t completion_data
Completion data written to the MSI completion address.
Definition msgqueue.h:538
uint64_t msi_completion_addr
MSI completion address on the host.
Definition msgqueue.h:553
uint64_t host_addr
Host-side address for the transfer.
Definition msgqueue.h:550
uint64_t chip_addr
Chip-side address for the transfer.
Definition msgqueue.h:547
uint32_t transfer_size_bytes
Transfer size in bytes.
Definition msgqueue.h:544
Host request to adjust the power settings.
Definition msgqueue.h:230
uint16_t reserved
Reserved.
Definition msgqueue.h:266
struct power_setting_rqst::@364260271035044055320364336346370330326342300150 power_settings_array
uint8_t power_flags_valid
The number of bits in the power_flags_bitfield that are valid.
Definition msgqueue.h:235
uint16_t future_use
Future use flags currently not supported.
Definition msgqueue.h:263
uint8_t power_settings_valid
The number of fields that are valid in the power_settings_array.
Definition msgqueue.h:238
uint16_t l2cpu_enable
1 - Enable L2CPU cores 0 - Disable L2CPU cores
Definition msgqueue.h:260
uint8_t command_code
The command code corresponding to TT_SMC_MSG_POWER_SETTING.
Definition msgqueue.h:232
uint16_t tensix_enable
1 - Enable Tensix cores 0 - Disable Tensix cores
Definition msgqueue.h:255
struct power_setting_rqst::@140120167246117267343245340300140063053015126121 power_flags_bitfield
The list of On/Off style power flags SMC supports toggling.
uint16_t mrisc_phy_power
1 - Set MRISC power setting to Phy wakeup 0 - Set MRISC power setting to Phy Powerdown
Definition msgqueue.h:250
uint16_t max_ai_clk
1 - Set AICLK to Busy 0 - Set AICLK to Idle
Definition msgqueue.h:245
Host request to read a process detector.
Definition msgqueue.h:729
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:734
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_PD.
Definition msgqueue.h:731
uint32_t delay_chain
Delay chain selection.
Definition msgqueue.h:737
uint32_t sensor_id
Process detector instance ID.
Definition msgqueue.h:740
Host request to read a temperature sensor.
Definition msgqueue.h:683
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_TS.
Definition msgqueue.h:685
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:688
uint32_t sensor_id
Temperature sensor instance ID.
Definition msgqueue.h:691
Host request to read a voltage monitor.
Definition msgqueue.h:749
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:754
uint32_t sensor_id
Voltage monitor instance ID.
Definition msgqueue.h:757
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_VM.
Definition msgqueue.h:751
Host request to reinitialize Tensix NOC programming and tile configuration.
Definition msgqueue.h:895
uint8_t command_code
The command code corresponding to TT_SMC_MSG_REINIT_TENSIX.
Definition msgqueue.h:897
Host request to report scratch-only status.
Definition msgqueue.h:783
uint8_t command_code
The command code corresponding to TT_SMC_MSG_REPORT_SCRATCH_ONLY.
Definition msgqueue.h:785
Definition msgqueue.h:1154
uint32_t data[8]
Definition msgqueue.h:1155
Host request to send PCIE MSI.
Definition msgqueue.h:448
uint8_t pad[2]
2 bytes of padding
Definition msgqueue.h:456
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SEND_PCIE_MSI.
Definition msgqueue.h:450
uint8_t pcie_inst
The PCIE instance 0 or 1.
Definition msgqueue.h:453
uint32_t vector_id
MSI vector ID.
Definition msgqueue.h:459
Host request to set the ASIC fmax.
Definition msgqueue.h:791
uint8_t restore_default
Restore the ASIC host fmax to the default value.
Definition msgqueue.h:799
uint32_t asic_fmax
The ASIC host fmax to set in MHz.
Definition msgqueue.h:797
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:795
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_ASIC_HOST_FMAX.
Definition msgqueue.h:793
Host request to set the message queue serial number.
Definition msgqueue.h:434
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_LAST_SERIAL.
Definition msgqueue.h:436
uint32_t serial_number
The serial number to set in the message queue header.
Definition msgqueue.h:442
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:439
Host request to set the TDP limit.
Definition msgqueue.h:763
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:768
uint32_t tdp_limit
The TDP limit to set in watts.
Definition msgqueue.h:771
uint8_t restore_default
Restore the TDP limit to the default value.
Definition msgqueue.h:774
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_TDP_LIMIT.
Definition msgqueue.h:765
Host request to set voltage.
Definition msgqueue.h:278
uint32_t slave_addr
I2C slave address (P0V8_VCORE_ADDR or P0V8_VCOREM_ADDR)
Definition msgqueue.h:286
uint32_t voltage_in_mv
Voltage to set in millivolts.
Definition msgqueue.h:289
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:283
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_VOLTAGE.
Definition msgqueue.h:280
Host request to set watchdog timeout.
Definition msgqueue.h:942
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_WDT_TIMEOUT.
Definition msgqueue.h:944
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:947
uint32_t timeout_ms
The watchdog timeout value in milliseconds.
Definition msgqueue.h:958
Host request to switch clock scheme.
Definition msgqueue.h:341
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SWITCH_CLK_SCHEME.
Definition msgqueue.h:343
uint32_t scheme
Clock scheme to switch to
Definition msgqueue.h:349
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:346
Host request to switch VOUT control.
Definition msgqueue.h:327
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:332
uint32_t source
VOUT control source.
Definition msgqueue.h:335
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SWITCH_VOUT_CONTROL.
Definition msgqueue.h:329
Host request for test message.
Definition msgqueue.h:509
uint32_t test_value
Test input value that will be incremented in the response.
Definition msgqueue.h:517
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:514
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TEST.
Definition msgqueue.h:511
Host request to reset a single Tensix tile.
Definition msgqueue.h:562
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:567
uint8_t noc_y
NOC0 Y coordinate of the target tile.
Definition msgqueue.h:573
uint8_t noc_x
NOC0 X coordinate of the target tile.
Definition msgqueue.h:570
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_SINGLE_TENSIX_RESET.
Definition msgqueue.h:564
Host request to toggle Tensix reset.
Definition msgqueue.h:905
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_TENSIX_RESET.
Definition msgqueue.h:907
Host request to trigger a chip reset.
Definition msgqueue.h:654
uint32_t reset_level
Reset level: 0 = ASIC-only reset, 3 = ASIC + M3 (DMC) reset.
Definition msgqueue.h:662
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TRIGGER_RESET.
Definition msgqueue.h:656
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:659
Host request to setup/release FW logging.
Definition msgqueue.h:997
uint8_t version
Host version for tt_pcie_log protocol (for SETUP)
Definition msgqueue.h:1005
uint8_t pad
One byte of padding.
Definition msgqueue.h:1008
uint32_t buffer_addr_lo
Lower 32 bits of host buffer IOVA (for SETUP)
Definition msgqueue.h:1011
uint8_t subcmd
tt_pcie_log sub-command: 1=SETUP, 2=RELEASE
Definition msgqueue.h:1002
uint32_t buffer_addr_hi
Upper 32 bits of host buffer IOVA (for SETUP)
Definition msgqueue.h:1014
uint32_t buffer_size
Buffer size in bytes (for SETUP)
Definition msgqueue.h:1017
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TT_PCIE_LOG.
Definition msgqueue.h:999
Union of all possible characterization submessage payloads.
Definition msgqueue.h:857
struct char_throttle_enabled_submsg throttler_enabled
Enable/disable kernel throttler at AICLK floor.
Definition msgqueue.h:861
struct characterisation_set_fmin_submsg fmin_value
Set host-requested minimum frequency floor.
Definition msgqueue.h:859
uint8_t raw_data[4]
Generic fallback for raw access.
Definition msgqueue.h:870
struct char_telemetry_interval_submsg telemetry_interval
Set the periodic telemetry update interval.
Definition msgqueue.h:867
struct char_throttle_stop_freq_submsg throttler_stop_freq
Set frequency limit for stopping kernel throttler.
Definition msgqueue.h:863
struct char_gddr_therm_trip_enabled_submsg gddr_therm_trip_enabled
Enable/disable GDDR thermal-trip action.
Definition msgqueue.h:865
A tenstorrent host request.
Definition msgqueue.h:1021
struct force_vdd_rqst force_vdd
A force VDD voltage request.
Definition msgqueue.h:1055
struct set_last_serial_rqst set_last_serial
A set last serial request.
Definition msgqueue.h:1076
struct get_freq_curve_from_voltage_rqst get_freq_curve_from_voltage
A get frequency curve from voltage request.
Definition msgqueue.h:1064
struct set_voltage_rqst set_voltage
A set voltage request.
Definition msgqueue.h:1049
struct toggle_single_tensix_reset_rqst toggle_single_tensix_reset
A single Tensix reset request.
Definition msgqueue.h:1099
struct flash_lock_rqst flash_lock
A flash lock request.
Definition msgqueue.h:1141
struct test_rqst test
A test request.
Definition msgqueue.h:1088
struct dmc_ping_rqst dmc_ping
A dmc ping request.
Definition msgqueue.h:1073
struct eth_tile_reset_rqst eth_tile_reset
An ETH tile reset request.
Definition msgqueue.h:1105
struct report_scratch_only_rqst report_scratch_only
A report scratch-only request.
Definition msgqueue.h:1129
struct flash_unlock_rqst flash_unlock
A flash unlock request.
Definition msgqueue.h:1138
struct gddr_reset_rqst gddr_reset
A GDDR reset request.
Definition msgqueue.h:1102
struct counter_rqst counter
A generic counter request.
Definition msgqueue.h:1132
struct get_voltage_rqst get_voltage
A get voltage request.
Definition msgqueue.h:1052
struct get_voltage_curve_from_freq_rqst get_voltage_curve_from_freq
A get voltage curve from frequency request.
Definition msgqueue.h:1067
struct asic_state_rqst asic_state
An ASIC state transition request.
Definition msgqueue.h:1094
struct switch_clk_scheme_rqst switch_clk_scheme
A switch clock scheme request.
Definition msgqueue.h:1061
struct confirm_flashed_spi_rqst confirm_flashed_spi
A confirm SPI flash request.
Definition msgqueue.h:1144
struct aisweep_rqst aisweep
An AICLK sweep start or stop request.
Definition msgqueue.h:1037
struct force_fan_speed_rqst force_fan_speed
A force fan speed request.
Definition msgqueue.h:1031
uint32_t data[8]
The interpretation of the request as an array of uint32_t entries.
Definition msgqueue.h:1023
struct eeprom_rqst eeprom
An EEPROM read or write request.
Definition msgqueue.h:1120
struct set_asic_host_fmax_rqst set_asic_host_fmax
A set ASIC host fmax request.
Definition msgqueue.h:1123
struct switch_vout_control_rqst switch_vout_control
A switch VOUT control request.
Definition msgqueue.h:1058
struct set_wdt_timeout_rqst set_wdt_timeout
A set watchdog timeout request.
Definition msgqueue.h:1135
struct set_tdp_limit_rqst set_tdp_limit
A set TDP limit request.
Definition msgqueue.h:1117
struct tt_pcie_log_rqst tt_pcie_log
A tt_pcie_log setup/release request.
Definition msgqueue.h:1147
struct characterisation_msg_rqst characterisation_msg
A set ASIC host fmin request.
Definition msgqueue.h:1126
struct force_aiclk_rqst force_aiclk
A force AICLK frequency request.
Definition msgqueue.h:1040
struct pcie_dma_transfer_rqst pcie_dma_transfer
A PCIe DMA transfer request.
Definition msgqueue.h:1091
struct i2c_message_rqst i2c_message
An I2C message request.
Definition msgqueue.h:1082
struct aiclk_set_speed_rqst aiclk_set_speed
An AICLK set speed request.
Definition msgqueue.h:1034
struct read_vm_rqst read_vm
A voltage monitor read request.
Definition msgqueue.h:1111
struct trigger_reset_rqst trigger_reset
A trigger reset request.
Definition msgqueue.h:1097
struct read_pd_rqst read_pd
A process detector read request.
Definition msgqueue.h:1114
uint8_t command_code
The interpretation of the request as just the first byte representing command code.
Definition msgqueue.h:1028
struct read_ts_rqst read_ts
A temperature sensor read request.
Definition msgqueue.h:1108
struct debug_noc_translation_rqst debug_noc_translation
A debug NOC translation request.
Definition msgqueue.h:1070
struct get_aiclk_rqst get_aiclk
A get AICLK frequency request.
Definition msgqueue.h:1043
struct power_setting_rqst power_setting
A power setting request.
Definition msgqueue.h:1046
struct led_blink_rqst blink
The led blinking request.
Definition msgqueue.h:1085
struct send_pcie_msi_rqst send_pci_msi
A Send PCIE MSI request.
Definition msgqueue.h:1079