diff --git a/src/gallium/drivers/etnaviv/etnaviv_internal.h b/src/gallium/drivers/etnaviv/etnaviv_internal.h index 8ef921cca0f..f5d71a6c81b 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_internal.h +++ b/src/gallium/drivers/etnaviv/etnaviv_internal.h @@ -145,6 +145,8 @@ struct etna_specs { unsigned num_constants; /* number of NN cores */ unsigned nn_core_count; + /* architecture version of NN cores */ + unsigned nn_core_version; /* number of MAD units per NN core */ unsigned nn_mad_per_core; /* number of TP cores */ diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c index 98dfb37aeec..499e3adce83 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c @@ -859,6 +859,13 @@ etna_get_specs(struct etna_screen *screen) screen->specs.on_chip_sram_size = info->npu.on_chip_sram_size; screen->specs.axi_sram_size = info->npu.axi_sram_size; screen->specs.nn_zrl_bits = info->npu.nn_zrl_bits; + + if (etna_core_has_feature(info, ETNA_FEATURE_NN_XYDP0)) + screen->specs.nn_core_version = 8; + else if (etna_core_has_feature(info, ETNA_FEATURE_VIP_V7)) + screen->specs.nn_core_version = 7; + else + screen->specs.nn_core_version = 6; } /* Figure out gross GPU architecture. See rnndb/common.xml for a specific