TT-System-Firmware APIs 19.13.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
80
119
131
144
168
184
197
245
262
276
294
308
322
336
350
381
399
415
432
458
476
490
526
546
562
572
601
613
631
643
660
689
709
726
743
754
768
778
788
798
811
828
838
848
861
883
896
912
942
944union request {
947
952
955
958
961
964
967
970
973
976
979
982
985
988
991
994
997
1000
1003
1006
1009
1012
1015
1018
1023
1026
1029
1032
1035
1038
1041
1044
1047
1050
1053
1056
1059
1062
1065
1068
1071};
1072
1074
1076
1080
1081typedef uint8_t (*msgqueue_request_handler_t)(const union request *req, struct response *rsp);
1082
1087
1088#define REGISTER_MESSAGE(msg, func) \
1089 const STRUCT_SECTION_ITERABLE(msgqueue_handler, registration_for_##msg) = { \
1090 .msg_type = msg, \
1091 .handler = func, \
1092 }
1093
1094void process_message_queues(void);
1096
1097int msgqueue_request_push(uint32_t msgqueue_id, const union request *request);
1098int msgqueue_request_pop(uint32_t msgqueue_id, union request *request);
1099int msgqueue_response_push(uint32_t msgqueue_id, const struct response *response);
1100int msgqueue_response_pop(uint32_t msgqueue_id, struct response *response);
1101void init_msgqueue(void);
1102
1103#ifdef __cplusplus
1104}
1105#endif
1106
1107#endif
counter_cmd
Counter commands.
Definition msgqueue.h:66
counter_bank
Available counter banks.
Definition msgqueue.h:76
eth_reset_err
Error codes in response data[1] for TT_SMC_MSG_TOGGLE_ETH_RESET.
Definition msgqueue.h:603
gddr_reset_err
Error codes returned in response data[1] for TT_SMC_MSG_TOGGLE_GDDR_RESET.
Definition msgqueue.h:564
@ 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_THROTTLERS
Throttler counters indexed by aiclk_arb_max.
Definition msgqueue.h:78
@ ETH_RESET_ERR_CFG_SIZE
Definition msgqueue.h:610
@ ETH_RESET_ERR_CFG_LOOKUP
Definition msgqueue.h:609
@ ETH_RESET_ERR_FW_LOOKUP
Definition msgqueue.h:607
@ ETH_RESET_ERR_NO_FLASH
Definition msgqueue.h:606
@ ETH_RESET_ERR_FW_LOAD
Definition msgqueue.h:608
@ ETH_RESET_ERR_INVALID_MASK
Definition msgqueue.h:604
@ ETH_RESET_ERR_CFG_LOAD
Definition msgqueue.h:611
@ ETH_RESET_ERR_CABLE_FAULT
Definition msgqueue.h:605
@ GDDR_RESET_ERR_MASKED
Definition msgqueue.h:567
@ GDDR_RESET_ERR_HARVESTED
Definition msgqueue.h:566
@ GDDR_RESET_ERR_POWERDOWN
Definition msgqueue.h:570
@ GDDR_RESET_ERR_INVALID_INST
Definition msgqueue.h:565
@ GDDR_RESET_ERR_BIST
Definition msgqueue.h:569
@ GDDR_RESET_ERR_TRAINING
Definition msgqueue.h:568
void process_message_queues(void)
Definition msgqueue.c:360
uint8_t(* msgqueue_request_handler_t)(const union request *req, struct response *rsp)
Definition msgqueue.h:1081
int msgqueue_request_push(uint32_t msgqueue_id, const union request *request)
Definition msgqueue.c:131
int msgqueue_response_push(uint32_t msgqueue_id, const struct response *response)
Definition msgqueue.c:171
int msgqueue_request_pop(uint32_t msgqueue_id, union request *request)
Definition msgqueue.c:151
void init_msgqueue(void)
Definition msgqueue.c:464
void msgqueue_register_handler(uint32_t msg_code, msgqueue_request_handler_t handler)
Definition msgqueue.c:370
#define REQUEST_MSG_LEN
Definition msgqueue.h:17
int msgqueue_response_pop(uint32_t msgqueue_id, struct response *response)
Definition msgqueue.c:191
#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:135
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:142
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:139
Host request to start or stop AICLK frequency sweep.
Definition msgqueue.h:153
uint32_t sweep_low
Low end of sweep range in MHz.
Definition msgqueue.h:163
uint32_t sweep_high
High end of sweep range in MHz.
Definition msgqueue.h:166
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:160
uint8_t command_code
The command code corresponding to TT_SMC_MSG_AISWEEP_START or TT_SMC_MSG_AISWEEP_STOP.
Definition msgqueue.h:157
Host request to change ASIC state.
Definition msgqueue.h:635
uint8_t command_code
The command code corresponding to TT_SMC_MSG_ASIC_STATE0 or TT_SMC_MSG_ASIC_STATE3.
Definition msgqueue.h:641
Submessage for enabling/disabling kernel throttler at AICLK floor.
Definition msgqueue.h:784
uint32_t enabled
0 to disable, 1 to enable
Definition msgqueue.h:786
Submessage for setting kernel throttler stop NOPs frequency.
Definition msgqueue.h:794
uint32_t frequency
0 to restore FW control, or frequency in MHz where NOPs stop (200-1400)
Definition msgqueue.h:796
Generic characterization message for internal SMC use.
Definition msgqueue.h:818
union characterisation_submsg_data submsg_data
The submessage payload (interpretation depends on submsg_ID)
Definition msgqueue.h:826
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:824
uint8_t submsg_ID
Submessage ID identifying which payload structure is active.
Definition msgqueue.h:822
uint8_t command_code
The command code corresponding to TT_SMC_MSG_CHARACTERISATION.
Definition msgqueue.h:820
Characterization submessage to set host-requested minimum frequency floor.
Definition msgqueue.h:774
uint32_t value
Either 1 (restore) or frequency in MHz (200-1400)
Definition msgqueue.h:776
Host request to confirm SPI flash operation.
Definition msgqueue.h:902
uint32_t challenge_data
Challenge data for confirmation.
Definition msgqueue.h:910
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:907
uint8_t command_code
The command code corresponding to TT_SMC_MSG_CONFIRM_FLASHED_SPI.
Definition msgqueue.h:904
Host request for generic counter operations.
Definition msgqueue.h:97
uint8_t command
The command to execute, of type counter_cmd.
Definition msgqueue.h:105
uint8_t bank_index
For GET: counter index within counter_bank; ignored for CLEAR/FREEZE.
Definition msgqueue.h:111
uint8_t counter_bank
The counter bank to operate on, of type counter_bank.
Definition msgqueue.h:108
uint8_t reserved[1]
Reserved; host must set to zero.
Definition msgqueue.h:114
uint8_t command_code
The command code corresponding to TT_SMC_MSG_COUNTER.
Definition msgqueue.h:99
uint16_t mask
CLEAR (bits to reset) and FREEZE (frozen bitmask)
Definition msgqueue.h:117
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:102
Host request for debug NOC translation.
Definition msgqueue.h:354
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:367
uint16_t bad_tensix_cols
Bitmask of bad tensix columns.
Definition msgqueue.h:370
uint8_t skip_eth_hi
hi byte of skip_eth field
Definition msgqueue.h:379
uint8_t enable_translation
Enable or disable NOC translation.
Definition msgqueue.h:359
uint8_t command_code
The command code corresponding to TT_SMC_MSG_DEBUG_NOC_TRANSLATION.
Definition msgqueue.h:356
uint8_t bad_gddr
Instance number of the bad GDDR. 0xFF if all GDDR are good.
Definition msgqueue.h:373
uint8_t pcie_instance
The PCIE instance.
Definition msgqueue.h:362
uint8_t skip_eth_low
low byte of skip_eth field
Definition msgqueue.h:376
Host request to ping DMC.
Definition msgqueue.h:386
uint8_t command_code
The command code corresponding to TT_SMC_MSG_PING_DM.
Definition msgqueue.h:388
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:391
bool legacy_ping
Use legacy ping mode.
Definition msgqueue.h:397
Host request to read or write SPI EEPROM.
Definition msgqueue.h:668
uint8_t buffer_mem_type
Buffer memory type (0 = CSM scratch buffer)
Definition msgqueue.h:675
uint32_t num_bytes
Number of bytes to transfer.
Definition msgqueue.h:684
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:678
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_EEPROM or TT_SMC_MSG_WRITE_EEPROM.
Definition msgqueue.h:672
uint32_t csm_addr
CSM buffer address for the data.
Definition msgqueue.h:687
uint32_t spi_address
SPI flash address to read from or write to.
Definition msgqueue.h:681
Host request to reset and reinitialize one or more ETH tiles.
Definition msgqueue.h:588
uint32_t eth_inst_mask
Bitmask of ETH instances to reset (bit N -> ETH N)
Definition msgqueue.h:596
uint8_t command_code
Command code TT_SMC_MSG_TOGGLE_ETH_RESET.
Definition msgqueue.h:590
uint8_t pad[3]
Padding.
Definition msgqueue.h:593
uint8_t no_fw_reload
If 1, tile/RISC reset only; skip SPI FW/cfg reload and ReleaseEthReset.
Definition msgqueue.h:599
Host request to lock flash writes.
Definition msgqueue.h:889
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:894
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FLASH_LOCK.
Definition msgqueue.h:891
Host request to unlock flash for writing.
Definition msgqueue.h:854
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:859
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FLASH_UNLOCK.
Definition msgqueue.h:856
Host request to force AICLK to a specific frequency.
Definition msgqueue.h:174
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_AICLK.
Definition msgqueue.h:176
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:179
uint32_t forced_freq
Frequency to force in MHz, or 0 to disable.
Definition msgqueue.h:182
Host request to force the fan speed.
Definition msgqueue.h:121
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:126
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_FAN_SPEED.
Definition msgqueue.h:123
uint32_t raw_speed
The raw speed of the fan to set, as a percentage from 0 to 100.
Definition msgqueue.h:129
Host request to force the VDD core voltage.
Definition msgqueue.h:284
uint32_t forced_voltage
The voltage to force in millivolts, or 0 to disable forcing.
Definition msgqueue.h:292
uint8_t command_code
The command code corresponding to TT_SMC_MSG_FORCE_VDD.
Definition msgqueue.h:286
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:289
Host request to toggle GDDR reset.
Definition msgqueue.h:552
uint32_t gddr_inst
GDDR controller instance (0-7)
Definition msgqueue.h:560
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:557
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_GDDR_RESET.
Definition msgqueue.h:554
Host request to get the current AICLK frequency and control mode.
Definition msgqueue.h:193
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_AICLK.
Definition msgqueue.h:195
Host request to get frequency curve from voltage.
Definition msgqueue.h:326
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_FREQ_CURVE_FROM_VOLTAGE.
Definition msgqueue.h:328
uint32_t input_voltage_mv
The input voltage in mV.
Definition msgqueue.h:334
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:331
Host request to get voltage curve from frequency.
Definition msgqueue.h:340
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_VOLTAGE_CURVE_FROM_FREQ.
Definition msgqueue.h:342
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:345
uint32_t input_freq_mhz
The input frequency in MHz.
Definition msgqueue.h:348
Host request to get voltage.
Definition msgqueue.h:266
uint8_t command_code
The command code corresponding to TT_SMC_MSG_GET_VOLTAGE.
Definition msgqueue.h:268
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:271
uint32_t slave_addr
I2C slave address (P0V8_VCORE_ADDR or P0V8_VCOREM_ADDR)
Definition msgqueue.h:274
Host request for I2C message transaction.
Definition msgqueue.h:436
uint8_t num_read_bytes
Number of bytes to read.
Definition msgqueue.h:450
uint8_t write_data[24]
Write data buffer (up to 24 bytes)
Definition msgqueue.h:456
uint8_t i2c_mst_id
I2C master ID.
Definition msgqueue.h:441
uint8_t i2c_slave_address
I2C slave address (7-bit)
Definition msgqueue.h:444
uint8_t num_write_bytes
Number of bytes to write.
Definition msgqueue.h:447
uint8_t command_code
The command code corresponding to TT_SMC_MSG_I2C_MESSAGE.
Definition msgqueue.h:438
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:453
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:1083
msgqueue_request_handler_t handler
Definition msgqueue.h:1085
uint32_t msg_type
Definition msgqueue.h:1084
Host request to initiate a PCIe DMA transfer.
Definition msgqueue.h:501
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:506
uint8_t pad[2]
Two bytes of padding.
Definition msgqueue.h:512
uint8_t completion_data
Completion data written to the MSI completion address.
Definition msgqueue.h:509
uint64_t msi_completion_addr
MSI completion address on the host.
Definition msgqueue.h:524
uint64_t host_addr
Host-side address for the transfer.
Definition msgqueue.h:521
uint64_t chip_addr
Chip-side address for the transfer.
Definition msgqueue.h:518
uint32_t transfer_size_bytes
Transfer size in bytes.
Definition msgqueue.h:515
Host request to adjust the power settings.
Definition msgqueue.h:201
uint16_t reserved
Reserved.
Definition msgqueue.h:237
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:206
uint16_t future_use
Future use flags currently not supported.
Definition msgqueue.h:234
uint8_t power_settings_valid
The number of fields that are valid in the power_settings_array.
Definition msgqueue.h:209
uint16_t l2cpu_enable
1 - Enable L2CPU cores 0 - Disable L2CPU cores
Definition msgqueue.h:231
uint8_t command_code
The command code corresponding to TT_SMC_MSG_POWER_SETTING.
Definition msgqueue.h:203
uint16_t tensix_enable
1 - Enable Tensix cores 0 - Disable Tensix cores
Definition msgqueue.h:226
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:221
uint16_t max_ai_clk
1 - Set AICLK to Busy 0 - Set AICLK to Idle
Definition msgqueue.h:216
Host request to read a process detector.
Definition msgqueue.h:696
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:701
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_PD.
Definition msgqueue.h:698
uint32_t delay_chain
Delay chain selection.
Definition msgqueue.h:704
uint32_t sensor_id
Process detector instance ID.
Definition msgqueue.h:707
Host request to read a temperature sensor.
Definition msgqueue.h:650
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_TS.
Definition msgqueue.h:652
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:655
uint32_t sensor_id
Temperature sensor instance ID.
Definition msgqueue.h:658
Host request to read a voltage monitor.
Definition msgqueue.h:716
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:721
uint32_t sensor_id
Voltage monitor instance ID.
Definition msgqueue.h:724
uint8_t command_code
The command code corresponding to TT_SMC_MSG_READ_VM.
Definition msgqueue.h:718
Host request to reinitialize Tensix NOC programming and tile configuration.
Definition msgqueue.h:834
uint8_t command_code
The command code corresponding to TT_SMC_MSG_REINIT_TENSIX.
Definition msgqueue.h:836
Host request to report scratch-only status.
Definition msgqueue.h:750
uint8_t command_code
The command code corresponding to TT_SMC_MSG_REPORT_SCRATCH_ONLY.
Definition msgqueue.h:752
Definition msgqueue.h:1077
uint32_t data[8]
Definition msgqueue.h:1078
Host request to send PCIE MSI.
Definition msgqueue.h:419
uint8_t pad[2]
2 bytes of padding
Definition msgqueue.h:427
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SEND_PCIE_MSI.
Definition msgqueue.h:421
uint8_t pcie_inst
The PCIE instance 0 or 1.
Definition msgqueue.h:424
uint32_t vector_id
MSI vector ID.
Definition msgqueue.h:430
Host request to set the ASIC fmax.
Definition msgqueue.h:758
uint8_t restore_default
Restore the ASIC host fmax to the default value.
Definition msgqueue.h:766
uint32_t asic_fmax
The ASIC host fmax to set in MHz.
Definition msgqueue.h:764
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:762
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_ASIC_HOST_FMAX.
Definition msgqueue.h:760
Host request to set the message queue serial number.
Definition msgqueue.h:405
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_LAST_SERIAL.
Definition msgqueue.h:407
uint32_t serial_number
The serial number to set in the message queue header.
Definition msgqueue.h:413
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:410
Host request to set the TDP limit.
Definition msgqueue.h:730
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:735
uint32_t tdp_limit
The TDP limit to set in watts.
Definition msgqueue.h:738
uint8_t restore_default
Restore the TDP limit to the default value.
Definition msgqueue.h:741
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_TDP_LIMIT.
Definition msgqueue.h:732
Host request to set voltage.
Definition msgqueue.h:249
uint32_t slave_addr
I2C slave address (P0V8_VCORE_ADDR or P0V8_VCOREM_ADDR)
Definition msgqueue.h:257
uint32_t voltage_in_mv
Voltage to set in millivolts.
Definition msgqueue.h:260
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:254
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_VOLTAGE.
Definition msgqueue.h:251
Host request to set watchdog timeout.
Definition msgqueue.h:865
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SET_WDT_TIMEOUT.
Definition msgqueue.h:867
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:870
uint32_t timeout_ms
The watchdog timeout value in milliseconds.
Definition msgqueue.h:881
Host request to switch clock scheme.
Definition msgqueue.h:312
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SWITCH_CLK_SCHEME.
Definition msgqueue.h:314
uint32_t scheme
Clock scheme to switch to
Definition msgqueue.h:320
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:317
Host request to switch VOUT control.
Definition msgqueue.h:298
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:303
uint32_t source
VOUT control source.
Definition msgqueue.h:306
uint8_t command_code
The command code corresponding to TT_SMC_MSG_SWITCH_VOUT_CONTROL.
Definition msgqueue.h:300
Host request for test message.
Definition msgqueue.h:480
uint32_t test_value
Test input value that will be incremented in the response.
Definition msgqueue.h:488
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:485
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TEST.
Definition msgqueue.h:482
Host request to reset a single Tensix tile.
Definition msgqueue.h:533
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:538
uint8_t noc_y
NOC0 Y coordinate of the target tile.
Definition msgqueue.h:544
uint8_t noc_x
NOC0 X coordinate of the target tile.
Definition msgqueue.h:541
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_SINGLE_TENSIX_RESET.
Definition msgqueue.h:535
Host request to toggle Tensix reset.
Definition msgqueue.h:844
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TOGGLE_TENSIX_RESET.
Definition msgqueue.h:846
Host request to trigger a chip reset.
Definition msgqueue.h:621
uint32_t reset_level
Reset level: 0 = ASIC-only reset, 3 = ASIC + M3 (DMC) reset.
Definition msgqueue.h:629
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TRIGGER_RESET.
Definition msgqueue.h:623
uint8_t pad[3]
Three bytes of padding.
Definition msgqueue.h:626
Host request to setup/release FW logging.
Definition msgqueue.h:920
uint8_t version
Host version for tt_pcie_log protocol (for SETUP)
Definition msgqueue.h:928
uint8_t pad
One byte of padding.
Definition msgqueue.h:931
uint32_t buffer_addr_lo
Lower 32 bits of host buffer IOVA (for SETUP)
Definition msgqueue.h:934
uint8_t subcmd
tt_pcie_log sub-command: 1=SETUP, 2=RELEASE
Definition msgqueue.h:925
uint32_t buffer_addr_hi
Upper 32 bits of host buffer IOVA (for SETUP)
Definition msgqueue.h:937
uint32_t buffer_size
Buffer size in bytes (for SETUP)
Definition msgqueue.h:940
uint8_t command_code
The command code corresponding to TT_SMC_MSG_TT_PCIE_LOG.
Definition msgqueue.h:922
Union of all possible characterization submessage payloads.
Definition msgqueue.h:800
struct char_throttle_enabled_submsg throttler_enabled
Enable/disable kernel throttler at AICLK floor.
Definition msgqueue.h:804
struct characterisation_set_fmin_submsg fmin_value
Set host-requested minimum frequency floor.
Definition msgqueue.h:802
uint8_t raw_data[4]
Generic fallback for raw access.
Definition msgqueue.h:809
struct char_throttle_stop_freq_submsg throttler_stop_freq
Set frequency limit for stopping kernel throttler.
Definition msgqueue.h:806
A tenstorrent host request.
Definition msgqueue.h:944
struct force_vdd_rqst force_vdd
A force VDD voltage request.
Definition msgqueue.h:978
struct set_last_serial_rqst set_last_serial
A set last serial request.
Definition msgqueue.h:999
struct get_freq_curve_from_voltage_rqst get_freq_curve_from_voltage
A get frequency curve from voltage request.
Definition msgqueue.h:987
struct set_voltage_rqst set_voltage
A set voltage request.
Definition msgqueue.h:972
struct toggle_single_tensix_reset_rqst toggle_single_tensix_reset
A single Tensix reset request.
Definition msgqueue.h:1022
struct flash_lock_rqst flash_lock
A flash lock request.
Definition msgqueue.h:1064
struct test_rqst test
A test request.
Definition msgqueue.h:1011
struct dmc_ping_rqst dmc_ping
A dmc ping request.
Definition msgqueue.h:996
struct eth_tile_reset_rqst eth_tile_reset
An ETH tile reset request.
Definition msgqueue.h:1028
struct report_scratch_only_rqst report_scratch_only
A report scratch-only request.
Definition msgqueue.h:1052
struct flash_unlock_rqst flash_unlock
A flash unlock request.
Definition msgqueue.h:1061
struct gddr_reset_rqst gddr_reset
A GDDR reset request.
Definition msgqueue.h:1025
struct counter_rqst counter
A generic counter request.
Definition msgqueue.h:1055
struct get_voltage_rqst get_voltage
A get voltage request.
Definition msgqueue.h:975
struct get_voltage_curve_from_freq_rqst get_voltage_curve_from_freq
A get voltage curve from frequency request.
Definition msgqueue.h:990
struct asic_state_rqst asic_state
An ASIC state transition request.
Definition msgqueue.h:1017
struct switch_clk_scheme_rqst switch_clk_scheme
A switch clock scheme request.
Definition msgqueue.h:984
struct confirm_flashed_spi_rqst confirm_flashed_spi
A confirm SPI flash request.
Definition msgqueue.h:1067
struct aisweep_rqst aisweep
An AICLK sweep start or stop request.
Definition msgqueue.h:960
struct force_fan_speed_rqst force_fan_speed
A force fan speed request.
Definition msgqueue.h:954
uint32_t data[8]
The interpretation of the request as an array of uint32_t entries.
Definition msgqueue.h:946
struct eeprom_rqst eeprom
An EEPROM read or write request.
Definition msgqueue.h:1043
struct set_asic_host_fmax_rqst set_asic_host_fmax
A set ASIC host fmax request.
Definition msgqueue.h:1046
struct switch_vout_control_rqst switch_vout_control
A switch VOUT control request.
Definition msgqueue.h:981
struct set_wdt_timeout_rqst set_wdt_timeout
A set watchdog timeout request.
Definition msgqueue.h:1058
struct set_tdp_limit_rqst set_tdp_limit
A set TDP limit request.
Definition msgqueue.h:1040
struct tt_pcie_log_rqst tt_pcie_log
A tt_pcie_log setup/release request.
Definition msgqueue.h:1070
struct characterisation_msg_rqst characterisation_msg
A set ASIC host fmin request.
Definition msgqueue.h:1049
struct force_aiclk_rqst force_aiclk
A force AICLK frequency request.
Definition msgqueue.h:963
struct pcie_dma_transfer_rqst pcie_dma_transfer
A PCIe DMA transfer request.
Definition msgqueue.h:1014
struct i2c_message_rqst i2c_message
An I2C message request.
Definition msgqueue.h:1005
struct aiclk_set_speed_rqst aiclk_set_speed
An AICLK set speed request.
Definition msgqueue.h:957
struct read_vm_rqst read_vm
A voltage monitor read request.
Definition msgqueue.h:1034
struct trigger_reset_rqst trigger_reset
A trigger reset request.
Definition msgqueue.h:1020
struct read_pd_rqst read_pd
A process detector read request.
Definition msgqueue.h:1037
uint8_t command_code
The interpretation of the request as just the first byte representing command code.
Definition msgqueue.h:951
struct read_ts_rqst read_ts
A temperature sensor read request.
Definition msgqueue.h:1031
struct debug_noc_translation_rqst debug_noc_translation
A debug NOC translation request.
Definition msgqueue.h:993
struct get_aiclk_rqst get_aiclk
A get AICLK frequency request.
Definition msgqueue.h:966
struct power_setting_rqst power_setting
A power setting request.
Definition msgqueue.h:969
struct led_blink_rqst blink
The led blinking request.
Definition msgqueue.h:1008
struct send_pcie_msi_rqst send_pci_msi
A Send PCIE MSI request.
Definition msgqueue.h:1002