From 189606997e4e46d9f81e8198e2e96b1ab6dea8f2 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 21 Dec 2018 18:18:46 +0000 Subject: COMPMID-1629: Implement correct CPU id for Kirin 980 Change-Id: I94a25016188144349091db7a4a02406a2dd4ef1c Reviewed-on: https://review.mlplatform.org/447 Tested-by: Arm Jenkins Reviewed-by: Anthony Barbier --- src/runtime/CPUUtils.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/runtime/CPUUtils.cpp') diff --git a/src/runtime/CPUUtils.cpp b/src/runtime/CPUUtils.cpp index b7aa0d5487..f3355a740b 100644 --- a/src/runtime/CPUUtils.cpp +++ b/src/runtime/CPUUtils.cpp @@ -95,6 +95,7 @@ bool model_supports_fp16(CPUModel model) return false; } } + /* Convert an MIDR register value to a CPUModel enum value. */ CPUModel midr_to_model(const unsigned int midr) { @@ -145,6 +146,19 @@ CPUModel midr_to_model(const unsigned int midr) break; } } + else if(implementer == 0x48) // HiSilicon CPUs + { + // Only CPUs we have code paths for are detected. All other CPUs can be safely classed as "GENERIC" + switch(cpunum) + { + case 0xd40: // A76 (Kirin 980) + model = CPUModel::GENERIC_FP16_DOT; + break; + default: + model = CPUModel::GENERIC; + break; + } + } return model; } -- cgit v1.2.1