aboutsummaryrefslogtreecommitdiff
path: root/src/ethosu_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ethosu_driver.c')
-rw-r--r--src/ethosu_driver.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/ethosu_driver.c b/src/ethosu_driver.c
index 1c78bcc..522f3e8 100644
--- a/src/ethosu_driver.c
+++ b/src/ethosu_driver.c
@@ -522,25 +522,12 @@ int ethosu_invoke(struct ethosu_driver *drv,
// NPU might have lost power and thus its settings and state
if (!drv->dev_power_always_on)
{
- bool axi_reinit = true;
- // Only soft reset if security state or privilege level needs changing
- if (ethosu_dev_verify_access_state(drv->dev) != true)
- {
- if (ethosu_dev_soft_reset(drv->dev) != ETHOSU_SUCCESS)
- {
- return -1;
- }
- axi_reinit = false;
- }
-
- // Set power ON during the inference
+ // Set power ON during the inference. Will soft reset if security state or
+ // privilege level needs changing
set_clock_and_power_request(drv, ETHOSU_INFERENCE_REQUEST, ETHOSU_CLOCK_Q_ENABLE, ETHOSU_POWER_Q_DISABLE);
- // If a soft reset occured, AXI reinit has already been performed
- if (axi_reinit)
- {
- ethosu_dev_axi_init(drv->dev);
- }
+ // Make sure AXI settings are applied
+ ethosu_dev_axi_init(drv->dev);
}
drv->status_error = false;