This is an automated email from the ASF dual-hosted git repository.
jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new c0b6f51 hw/drivers/i2s: Add sysview interrupt tracing to STM drivers
c0b6f51 is described below
commit c0b6f51ec0c9b870813bc9e078d6bdcef93673e8
Author: Jerzy Kasenberg <[email protected]>
AuthorDate: Thu Sep 3 12:38:47 2020 +0200
hw/drivers/i2s: Add sysview interrupt tracing to STM drivers
This adds interrupt tracing code so SystemView can be
used for load analyzes.
---
hw/drivers/i2s/i2s_stm32f1/src/i2s_stm32f1.c | 16 ++++++++++
hw/drivers/i2s/i2s_stm32f4/src/i2s_stm32f4.c | 48 ++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
diff --git a/hw/drivers/i2s/i2s_stm32f1/src/i2s_stm32f1.c
b/hw/drivers/i2s/i2s_stm32f1/src/i2s_stm32f1.c
index 9543a79..9df4b5b 100644
--- a/hw/drivers/i2s/i2s_stm32f1/src/i2s_stm32f1.c
+++ b/hw/drivers/i2s/i2s_stm32f1/src/i2s_stm32f1.c
@@ -31,13 +31,21 @@ static struct stm32_i2s stm32_i2s3;
void
i2s2_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s2.hi2s);
+
+ os_trace_isr_exit();
}
void
i2s3_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s3.hi2s);
+
+ os_trace_isr_exit();
}
static void
@@ -104,13 +112,21 @@ HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s)
static void
i2s2_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(&stm32_i2s2.hdma_spi);
+
+ os_trace_isr_exit();
}
static void
i2s3_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(&stm32_i2s3.hdma_spi);
+
+ os_trace_isr_exit();
}
static void
diff --git a/hw/drivers/i2s/i2s_stm32f4/src/i2s_stm32f4.c
b/hw/drivers/i2s/i2s_stm32f4/src/i2s_stm32f4.c
index bf4f730..6322267 100644
--- a/hw/drivers/i2s/i2s_stm32f4/src/i2s_stm32f4.c
+++ b/hw/drivers/i2s/i2s_stm32f4/src/i2s_stm32f4.c
@@ -56,31 +56,51 @@ static struct stm32_i2s stm32_i2s5;
void
i2s1_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s1.hi2s);
+
+ os_trace_isr_exit();
}
void
i2s2_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s2.hi2s);
+
+ os_trace_isr_exit();
}
void
i2s3_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s3.hi2s);
+
+ os_trace_isr_exit();
}
void
i2s4_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s4.hi2s);
+
+ os_trace_isr_exit();
}
void
i2s5_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_I2S_IRQHandler(&stm32_i2s5.hi2s);
+
+ os_trace_isr_exit();
}
static void
@@ -155,47 +175,75 @@ HAL_I2SEx_TxRxCpltCallback(I2S_HandleTypeDef *hi2s)
static void
i2s1_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s1.hdma_spi);
+
+ os_trace_isr_exit();
}
static void
i2s2_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s2.hdma_spi);
+
+ os_trace_isr_exit();
}
#if defined(I2S2ext) && I2S_FULLDUPLEX_SUPPORT
static void
i2s2ext_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s2.hdma_i2sext);
+
+ os_trace_isr_exit();
}
#endif
static void
i2s3_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s3.hdma_spi);
+
+ os_trace_isr_exit();
}
#if defined(I2S3ext) && I2S_FULLDUPLEX_SUPPORT
static void
i2s3ext_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s3.hdma_i2sext);
+
+ os_trace_isr_exit();
}
#endif
static void
i2s4_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s4.hdma_spi);
+
+ os_trace_isr_exit();
}
static void
i2s5_dma_stream_irq_handler(void)
{
+ os_trace_isr_enter();
+
HAL_DMA_IRQHandler(stm32_i2s5.hdma_spi);
+
+ os_trace_isr_exit();
}
static void