#include "goyaP.h"
#include "../include/goya/goya_coresight.h"
#include "../include/goya/asic_reg/goya_regs.h"
#include "../include/goya/asic_reg/goya_masks.h"
#include <uapi/drm/habanalabs_accel.h>
#define GOYA_PLDM_CORESIGHT_TIMEOUT_USEC …
#define SPMU_SECTION_SIZE …
#define SPMU_EVENT_TYPES_OFFSET …
#define SPMU_MAX_COUNTERS …
static u64 debug_stm_regs[GOYA_STM_LAST + 1] = …;
static u64 debug_etf_regs[GOYA_ETF_LAST + 1] = …;
static u64 debug_funnel_regs[GOYA_FUNNEL_LAST + 1] = …;
static u64 debug_bmon_regs[GOYA_BMON_LAST + 1] = …;
static u64 debug_spmu_regs[GOYA_SPMU_LAST + 1] = …;
static int goya_coresight_timeout(struct hl_device *hdev, u64 addr,
int position, bool up)
{ … }
static int goya_config_stm(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
static int goya_config_etf(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
static int goya_etr_validate_address(struct hl_device *hdev, u64 addr,
u64 size)
{ … }
static int goya_config_etr(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
static int goya_config_funnel(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
static int goya_config_bmon(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
static int goya_config_spmu(struct hl_device *hdev,
struct hl_debug_params *params)
{ … }
int goya_debug_coresight(struct hl_device *hdev, struct hl_ctx *ctx, void *data)
{ … }
void goya_halt_coresight(struct hl_device *hdev, struct hl_ctx *ctx)
{ … }