union aiclk_targ_freq_info get_targ_aiclk_info(void)
Definition aiclk_ppm.c:445
aiclk_arb_min
AICLK minimum frequency arbiters.
Definition aiclk_ppm.h:43
@ aiclk_arb_min_fmin
Definition aiclk_ppm.h:44
@ aiclk_arb_min_busy
Definition aiclk_ppm.h:45
@ aiclk_arb_min_count
Definition aiclk_ppm.h:46
void InitArbMaxVoltage(void)
Definition aiclk_ppm.c:219
uint32_t get_aiclk_effective_arb_max(enum aiclk_arb_max *effective_max_arb)
Definition aiclk_ppm.c:337
uint32_t get_aiclk_effective_arb_min(enum aiclk_arb_min *effective_min_arb)
Definition aiclk_ppm.c:320
uint8_t throttler_counter_handler(const union request *request, struct response *response)
Definition aiclk_ppm.c:476
uint32_t get_enabled_arb_max_bitmask(void)
Definition aiclk_ppm.c:368
uint32_t GetAiclkTarg(void)
Definition aiclk_ppm.c:292
uint32_t get_enabled_arb_min_bitmask(void)
Definition aiclk_ppm.c:354
aiclk_arb_max
AICLK maximum frequency arbiters.
Definition aiclk_ppm.h:20
@ aiclk_arb_max_thm
Definition aiclk_ppm.h:25
@ aiclk_arb_max_count
Definition aiclk_ppm.h:32
@ aiclk_arb_max_board_power
Definition aiclk_ppm.h:26
@ aiclk_arb_max_gddr_thm
Definition aiclk_ppm.h:28
@ aiclk_arb_max_host_fmax
Definition aiclk_ppm.h:31
@ aiclk_arb_max_doppler_critical
Definition aiclk_ppm.h:30
@ aiclk_arb_max_doppler_slow
Definition aiclk_ppm.h:29
@ aiclk_arb_max_voltage
Definition aiclk_ppm.h:27
@ aiclk_arb_max_tdp
Definition aiclk_ppm.h:22
@ aiclk_arb_max_fmax
Definition aiclk_ppm.h:21
@ aiclk_arb_max_tdc
Definition aiclk_ppm.h:24
@ aiclk_arb_max_fast_tdc
Definition aiclk_ppm.h:23
void SetAiclkArbMin(enum aiclk_arb_min arb_min, float freq)
Definition aiclk_ppm.c:84
void EnableArbMin(enum aiclk_arb_min arb_min, bool enable)
Definition aiclk_ppm.c:94
uint32_t GetMaxAiclkForVoltage(uint32_t voltage)
Definition aiclk_ppm.c:195
uint32_t GetAiclkFmax(void)
Definition aiclk_ppm.c:302
float GetThrottlerArbMax(enum aiclk_arb_max arb_max)
Definition aiclk_ppm.c:189
void EnableArbMax(enum aiclk_arb_max arb_max, bool enable)
Definition aiclk_ppm.c:89
uint8_t ForceAiclk(uint32_t freq)
Definition aiclk_ppm.c:270
targ_freq_reason
Definition aiclk_ppm.h:49
@ limit_reason_max_arb
Definition aiclk_ppm.h:51
@ limit_reason_sweep
Definition aiclk_ppm.h:53
@ limit_reason_min_arb
Definition aiclk_ppm.h:50
@ limit_reason_fmin
Definition aiclk_ppm.h:52
@ limit_reason_forced
Definition aiclk_ppm.h:54
void IncreaseAiclk(void)
Definition aiclk_ppm.c:178
void CalculateTargAiclk(void)
Definition aiclk_ppm.c:99
uint32_t GetAiclkFmin(void)
Definition aiclk_ppm.c:297
void aiclk_update_busy(void)
Definition aiclk_ppm.c:307
void SetAiclkArbMax(enum aiclk_arb_max arb_max, float freq)
Definition aiclk_ppm.c:79
void DecreaseAiclk(void)
Definition aiclk_ppm.c:167
Definition msgqueue.h:892
Information about the target AICLK frequency decision.
Definition aiclk_ppm.h:63
enum targ_freq_reason reason
Definition aiclk_ppm.h:71
uint32_t u32_all
Definition aiclk_ppm.h:64
uint32_t arbiter
Definition aiclk_ppm.h:69
A tenstorrent host request.
Definition msgqueue.h:773