From b68e868d314a68761a8ab37ece04d3262cc0a445 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Mon, 8 Apr 2024 16:12:39 +0200 Subject: [PATCH] etnaviv: common: Add some limit values These are loosely based on struct etna_specs. Signed-off-by: Christian Gmeiner Reviewed-by: Lucas Stach Part-of: --- src/etnaviv/common/etna_core_info.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/etnaviv/common/etna_core_info.h b/src/etnaviv/common/etna_core_info.h index 968e222ecfc..75401cd06b0 100644 --- a/src/etnaviv/common/etna_core_info.h +++ b/src/etnaviv/common/etna_core_info.h @@ -70,6 +70,26 @@ enum etna_core_type { ETNA_CORE_NPU, }; +struct etna_core_gpu_info { + unsigned max_instructions; /* vertex/fragment shader max instructions */ + unsigned vertex_output_buffer_size; /* size of vertex shader output buffer */ + unsigned vertex_cache_size; /* size of a cached vertex (?) */ + unsigned shader_core_count; /* number of shader cores */ + unsigned stream_count; /* number of vertex streams */ + unsigned max_registers; /* maximum number of registers */ + unsigned pixel_pipes; /* available pixel pipes */ + unsigned max_varyings; /* maximum number of varyings */ + unsigned num_constants; /* number of constants */ +}; + +struct etna_core_npu_info { + unsigned nn_core_count; /* number of NN cores */ + unsigned nn_mad_per_core; /* number of MAD units per NN core */ + unsigned tp_core_count; /* number of TP cores */ + unsigned on_chip_sram_size; /* Size of on-chip SRAM */ + unsigned axi_sram_size; /* Size of SRAM behind AXI */ +}; + struct etna_core_info { uint32_t model; uint32_t revision; @@ -79,6 +99,11 @@ struct etna_core_info { enum etna_core_type type; + union { + struct etna_core_gpu_info gpu; + struct etna_core_npu_info npu; + }; + BITSET_DECLARE(feature, ETNA_FEATURE_NUM); };