linux/drivers/gpu/drm/xe/regs/xe_oa_regs.h

/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2023 Intel Corporation
 */

#ifndef __XE_OA_REGS__
#define __XE_OA_REGS__

#define RPM_CONFIG1
#define GT_NOA_ENABLE

#define EU_PERF_CNTL0
#define EU_PERF_CNTL4
#define EU_PERF_CNTL1
#define EU_PERF_CNTL5
#define EU_PERF_CNTL2
#define EU_PERF_CNTL6
#define EU_PERF_CNTL3

#define OA_TLB_INV_CR

/* OAR unit */
#define OAR_OACONTROL
#define OAR_OACONTROL_COUNTER_SEL_MASK
#define OAR_OACONTROL_COUNTER_ENABLE

#define OACTXCONTROL(base)
#define OAR_OASTATUS
#define OA_COUNTER_RESUME

/* OAG unit */
#define OAG_OAGLBCTXCTRL
#define OAG_OAGLBCTXCTRL_TIMER_PERIOD_MASK
#define OAG_OAGLBCTXCTRL_TIMER_ENABLE
#define OAG_OAGLBCTXCTRL_COUNTER_RESUME

#define OAG_OAHEADPTR
#define OAG_OAHEADPTR_MASK
#define OAG_OATAILPTR
#define OAG_OATAILPTR_MASK

#define OAG_OABUFFER
#define OABUFFER_SIZE_MASK
#define OABUFFER_SIZE_128K
#define OABUFFER_SIZE_256K
#define OABUFFER_SIZE_512K
#define OABUFFER_SIZE_1M
#define OABUFFER_SIZE_2M
#define OABUFFER_SIZE_4M
#define OABUFFER_SIZE_8M
#define OABUFFER_SIZE_16M
#define OAG_OABUFFER_MEMORY_SELECT

#define OAG_OACONTROL
#define OAG_OACONTROL_OA_PES_DISAG_EN
#define OAG_OACONTROL_OA_CCS_SELECT_MASK
#define OAG_OACONTROL_OA_COUNTER_SEL_MASK
#define OAG_OACONTROL_OA_COUNTER_ENABLE
/* Common to all OA units */
#define OA_OACONTROL_REPORT_BC_MASK
#define OA_OACONTROL_COUNTER_SIZE_MASK

#define OAG_OA_DEBUG
#define OAG_OA_DEBUG_DISABLE_MMIO_TRG
#define OAG_OA_DEBUG_START_TRIGGER_SCOPE_CONTROL
#define OAG_OA_DEBUG_DISABLE_START_TRG_2_COUNT_QUAL
#define OAG_OA_DEBUG_DISABLE_START_TRG_1_COUNT_QUAL
#define OAG_OA_DEBUG_INCLUDE_CLK_RATIO
#define OAG_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS
#define OAG_OA_DEBUG_DISABLE_CTX_SWITCH_REPORTS

#define OAG_OASTATUS
#define OASTATUS_MMIO_TRG_Q_FULL
#define OASTATUS_COUNTER_OVERFLOW
#define OASTATUS_BUFFER_OVERFLOW
#define OASTATUS_REPORT_LOST
#define OAG_MMIOTRIGGER
/* OAC unit */
#define OAC_OACONTROL

/* OAM unit */
#define OAM_HEAD_POINTER_OFFSET
#define OAM_TAIL_POINTER_OFFSET
#define OAM_BUFFER_OFFSET
#define OAM_CONTEXT_CONTROL_OFFSET
#define OAM_CONTROL_OFFSET
#define OAM_CONTROL_COUNTER_SEL_MASK
#define OAM_DEBUG_OFFSET
#define OAM_STATUS_OFFSET
#define OAM_MMIO_TRG_OFFSET

#define OAM_HEAD_POINTER(base)
#define OAM_TAIL_POINTER(base)
#define OAM_BUFFER(base)
#define OAM_CONTEXT_CONTROL(base)
#define OAM_CONTROL(base)
#define OAM_DEBUG(base)
#define OAM_STATUS(base)
#define OAM_MMIO_TRG(base)

#endif