This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 3e44c347fdf72ae4257e9adb0c58b796274c4b41
Author: Abdelatif Guettouche <[email protected]>
AuthorDate: Mon Aug 2 10:37:30 2021 +0200

    arch/xtensa/esp32_spi&i2c: Get the CPU index when attaching an
    interrupt.
    
    Signed-off-by: Abdelatif Guettouche <[email protected]>
---
 arch/xtensa/src/esp32/esp32_i2c.c       | 3 +++
 arch/xtensa/src/esp32/esp32_spi.c       | 3 +++
 arch/xtensa/src/esp32/esp32_spi_slave.c | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/arch/xtensa/src/esp32/esp32_i2c.c 
b/arch/xtensa/src/esp32/esp32_i2c.c
index 28ecac7..3eba107 100644
--- a/arch/xtensa/src/esp32/esp32_i2c.c
+++ b/arch/xtensa/src/esp32/esp32_i2c.c
@@ -1569,6 +1569,9 @@ FAR struct i2c_master_s *esp32_i2cbus_initialize(int port)
       return NULL;
     }
 
+  /* Set up to receive peripheral interrupts on the current CPU */
+
+  config->cpu = up_cpu_index();
   up_disable_irq(priv->cpuint);
   esp32_attach_peripheral(config->cpu, config->periph, priv->cpuint);
 
diff --git a/arch/xtensa/src/esp32/esp32_spi.c 
b/arch/xtensa/src/esp32/esp32_spi.c
index 0175c01..12d746d 100644
--- a/arch/xtensa/src/esp32/esp32_spi.c
+++ b/arch/xtensa/src/esp32/esp32_spi.c
@@ -1473,6 +1473,9 @@ FAR struct spi_dev_s *esp32_spibus_initialize(int port)
           return NULL;
         }
 
+      /* Set up to receive peripheral interrupts on the current CPU */
+
+      priv->config->cpu = up_cpu_index();
       up_disable_irq(priv->cpuint);
       esp32_attach_peripheral(priv->config->cpu,
                               priv->config->periph,
diff --git a/arch/xtensa/src/esp32/esp32_spi_slave.c 
b/arch/xtensa/src/esp32/esp32_spi_slave.c
index e16b645..0d13bec 100644
--- a/arch/xtensa/src/esp32/esp32_spi_slave.c
+++ b/arch/xtensa/src/esp32/esp32_spi_slave.c
@@ -1306,6 +1306,9 @@ FAR struct spi_slave_ctrlr_s 
*esp32_spislv_ctrlr_initialize(int port)
       return NULL;
     }
 
+  /* Set up to receive peripheral interrupts on the current CPU */
+
+  priv->config->cpu = up_cpu_index();
   up_disable_irq(priv->cpuint);
   esp32_attach_peripheral(priv->config->cpu,
                           priv->config->periph,

Reply via email to