TT Zephyr Platforms 19.5.0-rc1
Tenstorrent Firmware
Loading...
Searching...
No Matches
aiclk_ppm.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Tenstorrent AI ULC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef AICLK_PPM_H
7#define AICLK_PPM_H
8
9#include <stdint.h>
10#include <stdbool.h>
11
33
47
48void aiclk_update_busy(void);
49void SetAiclkArbMax(enum aiclk_arb_max arb_max, float freq);
50void SetAiclkArbMin(enum aiclk_arb_min arb_min, float freq);
51void EnableArbMax(enum aiclk_arb_max arb_max, bool enable);
52void EnableArbMin(enum aiclk_arb_min arb_min, bool enable);
53void CalculateTargAiclk(void);
54void DecreaseAiclk(void);
55void IncreaseAiclk(void);
56void InitArbMaxVoltage(void);
57float GetThrottlerArbMax(enum aiclk_arb_max arb_max);
67
68#endif
aiclk_arb_min
AICLK minimum frequency arbiters.
Definition aiclk_ppm.h:42
@ aiclk_arb_min_fmin
Definition aiclk_ppm.h:43
@ aiclk_arb_min_busy
Definition aiclk_ppm.h:44
@ aiclk_arb_min_count
Definition aiclk_ppm.h:45
void InitArbMaxVoltage(void)
Definition aiclk_ppm.c:170
uint32_t get_enabled_arb_max_bitmask(void)
Definition aiclk_ppm.c:306
uint32_t GetAiclkTarg(void)
Definition aiclk_ppm.c:240
uint32_t get_enabled_arb_min_bitmask(void)
Definition aiclk_ppm.c:292
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:31
@ aiclk_arb_max_board_power
Definition aiclk_ppm.h:26
@ aiclk_arb_max_gddr_thm
Definition aiclk_ppm.h:28
@ 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:75
void EnableArbMin(enum aiclk_arb_min arb_min, bool enable)
Definition aiclk_ppm.c:85
uint32_t get_aiclk_effective_arb_min(void)
Definition aiclk_ppm.c:264
uint32_t GetMaxAiclkForVoltage(uint32_t voltage)
Definition aiclk_ppm.c:146
uint32_t GetAiclkFmax(void)
Definition aiclk_ppm.c:250
float GetThrottlerArbMax(enum aiclk_arb_max arb_max)
Definition aiclk_ppm.c:140
void EnableArbMax(enum aiclk_arb_max arb_max, bool enable)
Definition aiclk_ppm.c:80
uint8_t ForceAiclk(uint32_t freq)
Definition aiclk_ppm.c:218
void IncreaseAiclk(void)
Definition aiclk_ppm.c:128
void CalculateTargAiclk(void)
Definition aiclk_ppm.c:90
uint32_t GetAiclkFmin(void)
Definition aiclk_ppm.c:245
void aiclk_update_busy(void)
Definition aiclk_ppm.c:255
void SetAiclkArbMax(enum aiclk_arb_max arb_max, float freq)
Definition aiclk_ppm.c:70
void DecreaseAiclk(void)
Definition aiclk_ppm.c:116
uint32_t get_aiclk_effective_arb_max(void)
Definition aiclk_ppm.c:278
__UINT32_TYPE__ uint32_t
__UINT8_TYPE__ uint8_t