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

Reply via email to