TT Zephyr Platforms 19.5.0-rc1
Tenstorrent Firmware
Loading...
Searching...
No Matches
aiclk_ppm.h File Reference
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Enumerations

enum  aiclk_arb_max {
  aiclk_arb_max_fmax ,
  aiclk_arb_max_tdp ,
  aiclk_arb_max_fast_tdc ,
  aiclk_arb_max_tdc ,
  aiclk_arb_max_thm ,
  aiclk_arb_max_board_power ,
  aiclk_arb_max_voltage ,
  aiclk_arb_max_gddr_thm ,
  aiclk_arb_max_doppler_slow ,
  aiclk_arb_max_doppler_critical ,
  aiclk_arb_max_count
}
 AICLK maximum frequency arbiters. More...
enum  aiclk_arb_min {
  aiclk_arb_min_fmin ,
  aiclk_arb_min_busy ,
  aiclk_arb_min_count
}
 AICLK minimum frequency arbiters. More...

Functions

void aiclk_update_busy (void)
void SetAiclkArbMax (enum aiclk_arb_max arb_max, float freq)
void SetAiclkArbMin (enum aiclk_arb_min arb_min, float freq)
void EnableArbMax (enum aiclk_arb_max arb_max, bool enable)
void EnableArbMin (enum aiclk_arb_min arb_min, bool enable)
void CalculateTargAiclk (void)
void DecreaseAiclk (void)
void IncreaseAiclk (void)
void InitArbMaxVoltage (void)
float GetThrottlerArbMax (enum aiclk_arb_max arb_max)
uint8_t ForceAiclk (uint32_t freq)
uint32_t GetAiclkTarg (void)
uint32_t GetMaxAiclkForVoltage (uint32_t voltage)
uint32_t GetAiclkFmin (void)
uint32_t GetAiclkFmax (void)
uint32_t get_aiclk_effective_arb_min (void)
uint32_t get_aiclk_effective_arb_max (void)
uint32_t get_enabled_arb_min_bitmask (void)
uint32_t get_enabled_arb_max_bitmask (void)

Enumeration Type Documentation

◆ aiclk_arb_max

AICLK maximum frequency arbiters.

These arbiters set upper limits on the AICLK frequency. The effective maximum frequency is determined by the lowest enabled arbiter value.

Warning
The order of these enum values must be preserved for compatibility.
Enumerator
aiclk_arb_max_fmax 

Maximum frequency limit

aiclk_arb_max_tdp 

Thermal Design Power limit

aiclk_arb_max_fast_tdc 

Fast Thermal Design Current limit

aiclk_arb_max_tdc 

Thermal Design Current limit

aiclk_arb_max_thm 

Thermal limit

aiclk_arb_max_board_power 

Board power limit

aiclk_arb_max_voltage 

Voltage limit

aiclk_arb_max_gddr_thm 

GDDR thermal limit

aiclk_arb_max_doppler_slow 

Doppler slow throttling limit

aiclk_arb_max_doppler_critical 

Doppler critical throttling limit

aiclk_arb_max_count 

Number of max arbiters

◆ aiclk_arb_min

AICLK minimum frequency arbiters.

These arbiters set lower limits on the AICLK frequency. The effective minimum frequency is determined by the highest enabled arbiter value.

Warning
The order of these enum values must be preserved for compatibility.
Enumerator
aiclk_arb_min_fmin 

Minimum frequency limit

aiclk_arb_min_busy 

Busy state frequency requirement

aiclk_arb_min_count 

Number of min arbiters

Function Documentation

◆ aiclk_update_busy()

void aiclk_update_busy ( void )

◆ CalculateTargAiclk()

void CalculateTargAiclk ( void )

◆ DecreaseAiclk()

void DecreaseAiclk ( void )

◆ EnableArbMax()

void EnableArbMax ( enum aiclk_arb_max arb_max,
bool enable )

◆ EnableArbMin()

void EnableArbMin ( enum aiclk_arb_min arb_min,
bool enable )

◆ ForceAiclk()

uint8_t ForceAiclk ( uint32_t freq)

◆ get_aiclk_effective_arb_max()

uint32_t get_aiclk_effective_arb_max ( void )

◆ get_aiclk_effective_arb_min()

uint32_t get_aiclk_effective_arb_min ( void )

◆ get_enabled_arb_max_bitmask()

uint32_t get_enabled_arb_max_bitmask ( void )

◆ get_enabled_arb_min_bitmask()

uint32_t get_enabled_arb_min_bitmask ( void )

◆ GetAiclkFmax()

uint32_t GetAiclkFmax ( void )

◆ GetAiclkFmin()

uint32_t GetAiclkFmin ( void )

◆ GetAiclkTarg()

uint32_t GetAiclkTarg ( void )

◆ GetMaxAiclkForVoltage()

uint32_t GetMaxAiclkForVoltage ( uint32_t voltage)

◆ GetThrottlerArbMax()

float GetThrottlerArbMax ( enum aiclk_arb_max arb_max)

◆ IncreaseAiclk()

void IncreaseAiclk ( void )

◆ InitArbMaxVoltage()

void InitArbMaxVoltage ( void )

◆ SetAiclkArbMax()

void SetAiclkArbMax ( enum aiclk_arb_max arb_max,
float freq )

◆ SetAiclkArbMin()

void SetAiclkArbMin ( enum aiclk_arb_min arb_min,
float freq )