blob: f3c1df9f924485f6fba9436210a486564f764fc9 [file] [log] [blame]
/*************************************************************************/ /*!
@Title Hardware definition file rgx_bvnc_defs_km.h
@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
@License MIT
The contents of this file are subject to the MIT license as set out below.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
This License is also included in this distribution in the file called
"MIT-COPYING".
EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ /**************************************************************************/
/******************************************************************************
* Auto generated file by rgxbvnc_tablegen.py *
* This file should not be edited manually *
*****************************************************************************/
#ifndef RGX_BVNC_DEFS_KM_H
#define RGX_BVNC_DEFS_KM_H
#include "img_types.h"
#include "img_defs.h"
#define BVNC_FIELD_WIDTH (16U)
/******************************************************************************
* Mask and bit-position macros for features without values
*****************************************************************************/
#define RGX_FEATURE_AXI_ACELITE_POS (0U)
#define RGX_FEATURE_AXI_ACELITE_BIT_MASK (IMG_UINT64_C(0x0000000000000001))
#define RGX_FEATURE_CLUSTER_GROUPING_POS (1U)
#define RGX_FEATURE_CLUSTER_GROUPING_BIT_MASK (IMG_UINT64_C(0x0000000000000002))
#define RGX_FEATURE_COMPUTE_POS (2U)
#define RGX_FEATURE_COMPUTE_BIT_MASK (IMG_UINT64_C(0x0000000000000004))
#define RGX_FEATURE_COMPUTE_MORTON_CAPABLE_POS (3U)
#define RGX_FEATURE_COMPUTE_MORTON_CAPABLE_BIT_MASK (IMG_UINT64_C(0x0000000000000008))
#define RGX_FEATURE_COMPUTE_OVERLAP_POS (4U)
#define RGX_FEATURE_COMPUTE_OVERLAP_BIT_MASK (IMG_UINT64_C(0x0000000000000010))
#define RGX_FEATURE_COMPUTE_OVERLAP_WITH_BARRIERS_POS (5U)
#define RGX_FEATURE_COMPUTE_OVERLAP_WITH_BARRIERS_BIT_MASK (IMG_UINT64_C(0x0000000000000020))
#define RGX_FEATURE_DUST_POWER_ISLAND_S7_POS (6U)
#define RGX_FEATURE_DUST_POWER_ISLAND_S7_BIT_MASK (IMG_UINT64_C(0x0000000000000040))
#define RGX_FEATURE_DYNAMIC_DUST_POWER_POS (7U)
#define RGX_FEATURE_DYNAMIC_DUST_POWER_BIT_MASK (IMG_UINT64_C(0x0000000000000080))
#define RGX_FEATURE_FASTRENDER_DM_POS (8U)
#define RGX_FEATURE_FASTRENDER_DM_BIT_MASK (IMG_UINT64_C(0x0000000000000100))
#define RGX_FEATURE_GPU_VIRTUALISATION_POS (9U)
#define RGX_FEATURE_GPU_VIRTUALISATION_BIT_MASK (IMG_UINT64_C(0x0000000000000200))
#define RGX_FEATURE_GS_RTA_SUPPORT_POS (10U)
#define RGX_FEATURE_GS_RTA_SUPPORT_BIT_MASK (IMG_UINT64_C(0x0000000000000400))
#define RGX_FEATURE_META_DMA_POS (11U)
#define RGX_FEATURE_META_DMA_BIT_MASK (IMG_UINT64_C(0x0000000000000800))
#define RGX_FEATURE_MIPS_POS (12U)
#define RGX_FEATURE_MIPS_BIT_MASK (IMG_UINT64_C(0x0000000000001000))
#define RGX_FEATURE_PBE2_IN_XE_POS (13U)
#define RGX_FEATURE_PBE2_IN_XE_BIT_MASK (IMG_UINT64_C(0x0000000000002000))
#define RGX_FEATURE_PBVNC_COREID_REG_POS (14U)
#define RGX_FEATURE_PBVNC_COREID_REG_BIT_MASK (IMG_UINT64_C(0x0000000000004000))
#define RGX_FEATURE_PDS_PER_DUST_POS (15U)
#define RGX_FEATURE_PDS_PER_DUST_BIT_MASK (IMG_UINT64_C(0x0000000000008000))
#define RGX_FEATURE_PDS_TEMPSIZE8_POS (16U)
#define RGX_FEATURE_PDS_TEMPSIZE8_BIT_MASK (IMG_UINT64_C(0x0000000000010000))
#define RGX_FEATURE_PERFBUS_POS (17U)
#define RGX_FEATURE_PERFBUS_BIT_MASK (IMG_UINT64_C(0x0000000000020000))
#define RGX_FEATURE_PERF_COUNTER_BATCH_POS (18U)
#define RGX_FEATURE_PERF_COUNTER_BATCH_BIT_MASK (IMG_UINT64_C(0x0000000000040000))
#define RGX_FEATURE_RAY_TRACING_DEPRECATED_POS (19U)
#define RGX_FEATURE_RAY_TRACING_DEPRECATED_BIT_MASK (IMG_UINT64_C(0x0000000000080000))
#define RGX_FEATURE_ROGUEXE_POS (20U)
#define RGX_FEATURE_ROGUEXE_BIT_MASK (IMG_UINT64_C(0x0000000000100000))
#define RGX_FEATURE_S7_CACHE_HIERARCHY_POS (21U)
#define RGX_FEATURE_S7_CACHE_HIERARCHY_BIT_MASK (IMG_UINT64_C(0x0000000000200000))
#define RGX_FEATURE_S7_TOP_INFRASTRUCTURE_POS (22U)
#define RGX_FEATURE_S7_TOP_INFRASTRUCTURE_BIT_MASK (IMG_UINT64_C(0x0000000000400000))
#define RGX_FEATURE_SCALABLE_VDM_GPP_POS (23U)
#define RGX_FEATURE_SCALABLE_VDM_GPP_BIT_MASK (IMG_UINT64_C(0x0000000000800000))
#define RGX_FEATURE_SIGNAL_SNOOPING_POS (24U)
#define RGX_FEATURE_SIGNAL_SNOOPING_BIT_MASK (IMG_UINT64_C(0x0000000001000000))
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_POS (25U)
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_BIT_MASK (IMG_UINT64_C(0x0000000002000000))
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_V1_POS (26U)
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_V1_BIT_MASK (IMG_UINT64_C(0x0000000004000000))
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_V2_POS (27U)
#define RGX_FEATURE_SIMPLE_INTERNAL_PARAMETER_FORMAT_V2_BIT_MASK (IMG_UINT64_C(0x0000000008000000))
#define RGX_FEATURE_SINGLE_BIF_POS (28U)
#define RGX_FEATURE_SINGLE_BIF_BIT_MASK (IMG_UINT64_C(0x0000000010000000))
#define RGX_FEATURE_SLCSIZE8_POS (29U)
#define RGX_FEATURE_SLCSIZE8_BIT_MASK (IMG_UINT64_C(0x0000000020000000))
#define RGX_FEATURE_SLC_HYBRID_CACHELINE_64_128_POS (30U)
#define RGX_FEATURE_SLC_HYBRID_CACHELINE_64_128_BIT_MASK (IMG_UINT64_C(0x0000000040000000))
#define RGX_FEATURE_SLC_VIVT_POS (31U)
#define RGX_FEATURE_SLC_VIVT_BIT_MASK (IMG_UINT64_C(0x0000000080000000))
#define RGX_FEATURE_SYS_BUS_SECURE_RESET_POS (32U)
#define RGX_FEATURE_SYS_BUS_SECURE_RESET_BIT_MASK (IMG_UINT64_C(0x0000000100000000))
#define RGX_FEATURE_TDM_PDS_CHECKSUM_POS (33U)
#define RGX_FEATURE_TDM_PDS_CHECKSUM_BIT_MASK (IMG_UINT64_C(0x0000000200000000))
#define RGX_FEATURE_TESSELLATION_POS (34U)
#define RGX_FEATURE_TESSELLATION_BIT_MASK (IMG_UINT64_C(0x0000000400000000))
#define RGX_FEATURE_TLA_POS (35U)
#define RGX_FEATURE_TLA_BIT_MASK (IMG_UINT64_C(0x0000000800000000))
#define RGX_FEATURE_TPU_CEM_DATAMASTER_GLOBAL_REGISTERS_POS (36U)
#define RGX_FEATURE_TPU_CEM_DATAMASTER_GLOBAL_REGISTERS_BIT_MASK (IMG_UINT64_C(0x0000001000000000))
#define RGX_FEATURE_TPU_DM_GLOBAL_REGISTERS_POS (37U)
#define RGX_FEATURE_TPU_DM_GLOBAL_REGISTERS_BIT_MASK (IMG_UINT64_C(0x0000002000000000))
#define RGX_FEATURE_TPU_FILTERING_MODE_CONTROL_POS (38U)
#define RGX_FEATURE_TPU_FILTERING_MODE_CONTROL_BIT_MASK (IMG_UINT64_C(0x0000004000000000))
#define RGX_FEATURE_VDM_DRAWINDIRECT_POS (39U)
#define RGX_FEATURE_VDM_DRAWINDIRECT_BIT_MASK (IMG_UINT64_C(0x0000008000000000))
#define RGX_FEATURE_VDM_OBJECT_LEVEL_LLS_POS (40U)
#define RGX_FEATURE_VDM_OBJECT_LEVEL_LLS_BIT_MASK (IMG_UINT64_C(0x0000010000000000))
#define RGX_FEATURE_XE_MEMORY_HIERARCHY_POS (41U)
#define RGX_FEATURE_XE_MEMORY_HIERARCHY_BIT_MASK (IMG_UINT64_C(0x0000020000000000))
#define RGX_FEATURE_XT_TOP_INFRASTRUCTURE_POS (42U)
#define RGX_FEATURE_XT_TOP_INFRASTRUCTURE_BIT_MASK (IMG_UINT64_C(0x0000040000000000))
/******************************************************************************
* Features with values indexes
*****************************************************************************/
typedef enum _RGX_FEATURE_WITH_VALUE_INDEX_ {
RGX_FEATURE_CDM_CONTROL_STREAM_FORMAT_IDX,
RGX_FEATURE_FBCDC_ALGORITHM_IDX,
RGX_FEATURE_FBCDC_ARCHITECTURE_IDX,
RGX_FEATURE_GPU_VIRTUALISATION_NUM_OS_IDX,
RGX_FEATURE_META_IDX,
RGX_FEATURE_META_COREMEM_BANKS_IDX,
RGX_FEATURE_META_COREMEM_SIZE_IDX,
RGX_FEATURE_META_DMA_CHANNEL_COUNT_IDX,
RGX_FEATURE_NUM_CLUSTERS_IDX,
RGX_FEATURE_NUM_ISP_IPP_PIPES_IDX,
RGX_FEATURE_NUM_RASTER_PIPES_IDX,
RGX_FEATURE_PHYS_BUS_WIDTH_IDX,
RGX_FEATURE_SCALABLE_TE_ARCH_IDX,
RGX_FEATURE_SCALABLE_VCE_IDX,
RGX_FEATURE_SIMPLE_PARAMETER_FORMAT_VERSION_IDX,
RGX_FEATURE_SLC_BANKS_IDX,
RGX_FEATURE_SLC_CACHE_LINE_SIZE_BITS_IDX,
RGX_FEATURE_SLC_SIZE_IN_BYTES_IDX,
RGX_FEATURE_SLC_SIZE_IN_KILOBYTES_IDX,
RGX_FEATURE_VIRTUAL_ADDRESS_SPACE_BITS_IDX,
RGX_FEATURE_WITH_VALUES_MAX_IDX,
} RGX_FEATURE_WITH_VALUE_INDEX;
/******************************************************************************
* Mask and bit-position macros for ERNs and BRNs
*****************************************************************************/
#define HW_ERN_36400_POS (0U)
#define HW_ERN_36400_BIT_MASK (IMG_UINT64_C(0x0000000000000001))
#define FIX_HW_BRN_38344_POS (1U)
#define FIX_HW_BRN_38344_BIT_MASK (IMG_UINT64_C(0x0000000000000002))
#define HW_ERN_42290_POS (2U)
#define HW_ERN_42290_BIT_MASK (IMG_UINT64_C(0x0000000000000004))
#define FIX_HW_BRN_42321_POS (3U)
#define FIX_HW_BRN_42321_BIT_MASK (IMG_UINT64_C(0x0000000000000008))
#define FIX_HW_BRN_42480_POS (4U)
#define FIX_HW_BRN_42480_BIT_MASK (IMG_UINT64_C(0x0000000000000010))
#define HW_ERN_42606_POS (5U)
#define HW_ERN_42606_BIT_MASK (IMG_UINT64_C(0x0000000000000020))
#define FIX_HW_BRN_43276_POS (6U)
#define FIX_HW_BRN_43276_BIT_MASK (IMG_UINT64_C(0x0000000000000040))
#define FIX_HW_BRN_44455_POS (7U)
#define FIX_HW_BRN_44455_BIT_MASK (IMG_UINT64_C(0x0000000000000080))
#define FIX_HW_BRN_44871_POS (8U)
#define FIX_HW_BRN_44871_BIT_MASK (IMG_UINT64_C(0x0000000000000100))
#define HW_ERN_45914_POS (9U)
#define HW_ERN_45914_BIT_MASK (IMG_UINT64_C(0x0000000000000200))
#define HW_ERN_46066_POS (10U)
#define HW_ERN_46066_BIT_MASK (IMG_UINT64_C(0x0000000000000400))
#define HW_ERN_47025_POS (11U)
#define HW_ERN_47025_BIT_MASK (IMG_UINT64_C(0x0000000000000800))
#define HW_ERN_50539_POS (12U)
#define HW_ERN_50539_BIT_MASK (IMG_UINT64_C(0x0000000000001000))
#define FIX_HW_BRN_50767_POS (13U)
#define FIX_HW_BRN_50767_BIT_MASK (IMG_UINT64_C(0x0000000000002000))
#define FIX_HW_BRN_52563_POS (14U)
#define FIX_HW_BRN_52563_BIT_MASK (IMG_UINT64_C(0x0000000000004000))
#define FIX_HW_BRN_54441_POS (15U)
#define FIX_HW_BRN_54441_BIT_MASK (IMG_UINT64_C(0x0000000000008000))
#define FIX_HW_BRN_57193_POS (16U)
#define FIX_HW_BRN_57193_BIT_MASK (IMG_UINT64_C(0x0000000000010000))
#define FIX_HW_BRN_57289_POS (17U)
#define FIX_HW_BRN_57289_BIT_MASK (IMG_UINT64_C(0x0000000000020000))
#define HW_ERN_57596_POS (18U)
#define HW_ERN_57596_BIT_MASK (IMG_UINT64_C(0x0000000000040000))
#define FIX_HW_BRN_60084_POS (19U)
#define FIX_HW_BRN_60084_BIT_MASK (IMG_UINT64_C(0x0000000000080000))
#define HW_ERN_61389_POS (20U)
#define HW_ERN_61389_BIT_MASK (IMG_UINT64_C(0x0000000000100000))
#define FIX_HW_BRN_61450_POS (21U)
#define FIX_HW_BRN_61450_BIT_MASK (IMG_UINT64_C(0x0000000000200000))
#define FIX_HW_BRN_62204_POS (22U)
#define FIX_HW_BRN_62204_BIT_MASK (IMG_UINT64_C(0x0000000000400000))
#define FIX_HW_BRN_63027_POS (23U)
#define FIX_HW_BRN_63027_BIT_MASK (IMG_UINT64_C(0x0000000000800000))
#define FIX_HW_BRN_63142_POS (24U)
#define FIX_HW_BRN_63142_BIT_MASK (IMG_UINT64_C(0x0000000001000000))
#define FIX_HW_BRN_63553_POS (25U)
#define FIX_HW_BRN_63553_BIT_MASK (IMG_UINT64_C(0x0000000002000000))
#define FIX_HW_BRN_64839_POS (26U)
#define FIX_HW_BRN_64839_BIT_MASK (IMG_UINT64_C(0x0000000004000000))
#define FIX_HW_BRN_65168_POS (27U)
#define FIX_HW_BRN_65168_BIT_MASK (IMG_UINT64_C(0x0000000008000000))
#define FIX_HW_BRN_65273_POS (28U)
#define FIX_HW_BRN_65273_BIT_MASK (IMG_UINT64_C(0x0000000010000000))
#define HW_ERN_66622_POS (29U)
#define HW_ERN_66622_BIT_MASK (IMG_UINT64_C(0x0000000020000000))
#define FIX_HW_BRN_67349_POS (30U)
#define FIX_HW_BRN_67349_BIT_MASK (IMG_UINT64_C(0x0000000040000000))
/* Macro used for padding the unavailable values for features with values */
#define RGX_FEATURE_VALUE_INVALID (0xFFFFFFFE)
/* Macro used for marking a feature with value as disabled for a specific bvnc */
#define RGX_FEATURE_VALUE_DISABLED (0xFFFFFFFF)
#endif /* RGX_BVNC_DEFS_KM_H */