aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/pmu_ethosu.h12
-rw-r--r--src/ethosu_pmu.c12
2 files changed, 11 insertions, 13 deletions
diff --git a/include/pmu_ethosu.h b/include/pmu_ethosu.h
index 74a2989..a344146 100644
--- a/include/pmu_ethosu.h
+++ b/include/pmu_ethosu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2021 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -329,12 +329,10 @@ void ETHOSU_PMU_CNTR_Increment_v2(struct ethosu_driver *drv, uint32_t mask);
/**
* \brief Set start event number for the cycle counter
- * \param [in] start_event Event number
- * - Start event (bits [9:0])
+ * \param [in] start_event Event to trigger start of the cycle counter
* \note Sets the event number that starts the cycle counter.
- * - Event number in the range 0..1023
*/
-void ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(struct ethosu_driver *drv, uint32_t start_event);
+void ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(struct ethosu_driver *drv, enum ethosu_pmu_event_type start_event);
#define ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event(start_event) \
ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(&ethosu_drv, start_event)
@@ -342,11 +340,9 @@ void ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(struct ethosu_driver *drv, uint32
/**
* \brief Set stop event number for the cycle counter
* \param [in] stop_event Event number
- * - Stop event (bits [25:16])
* \note Sets the event number that stops the cycle counter.
- * - Event number in the range 0..1023
*/
-void ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event_v2(struct ethosu_driver *drv, uint32_t stop_event);
+void ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event_v2(struct ethosu_driver *drv, enum ethosu_pmu_event_type stop_event);
#define ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event(stop_event) \
ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event_v2(&ethosu_drv, stop_event)
diff --git a/src/ethosu_pmu.c b/src/ethosu_pmu.c
index 759a722..aef3255 100644
--- a/src/ethosu_pmu.c
+++ b/src/ethosu_pmu.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2021 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -288,20 +288,22 @@ void ETHOSU_PMU_CNTR_Increment_v2(struct ethosu_driver *drv, uint32_t mask)
ETHOSU_PMU_CNTR_Enable_v2(drv, cntrs_active);
}
-void ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(struct ethosu_driver *drv, uint32_t start_event)
+void ETHOSU_PMU_PMCCNTR_CFG_Set_Start_Event_v2(struct ethosu_driver *drv, enum ethosu_pmu_event_type start_event)
{
LOG_DEBUG("%s: start_event=%u\n", __FUNCTION__, start_event);
+ uint32_t val = pmu_event_value(start_event);
struct pmccntr_cfg_r cfg;
cfg.word = drv->dev.pmccntr_cfg;
- cfg.CYCLE_CNT_CFG_START = start_event;
+ cfg.CYCLE_CNT_CFG_START = val;
ethosu_write_reg_shadow(&drv->dev, NPU_REG_PMCCNTR_CFG, cfg.word, &drv->dev.pmccntr_cfg);
}
-void ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event_v2(struct ethosu_driver *drv, uint32_t stop_event)
+void ETHOSU_PMU_PMCCNTR_CFG_Set_Stop_Event_v2(struct ethosu_driver *drv, enum ethosu_pmu_event_type stop_event)
{
LOG_DEBUG("%s: stop_event=%u\n", __FUNCTION__, stop_event);
+ uint32_t val = pmu_event_value(stop_event);
struct pmccntr_cfg_r cfg;
cfg.word = drv->dev.pmccntr_cfg;
- cfg.CYCLE_CNT_CFG_STOP = stop_event;
+ cfg.CYCLE_CNT_CFG_STOP = val;
ethosu_write_reg_shadow(&drv->dev, NPU_REG_PMCCNTR_CFG, cfg.word, &drv->dev.pmccntr_cfg);
}