1 /* 2 * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <sys/lock.h> 8 9 #include <zephyr/kernel.h> 10 #include "esp_crypto_lock.h" 11 12 /* Single lock for SHA and AES engine which both use the crypto DMA */ 13 14 static int s_crypto_dma_lock; 15 16 /* Lock for the MPI/RSA peripheral, also used by the DS peripheral */ 17 static int s_crypto_mpi_lock; 18 esp_crypto_dma_lock_acquire(void)19void esp_crypto_dma_lock_acquire(void) 20 { 21 s_crypto_dma_lock = irq_lock(); 22 } 23 esp_crypto_dma_lock_release(void)24void esp_crypto_dma_lock_release(void) 25 { 26 irq_unlock(s_crypto_dma_lock); 27 } 28 esp_crypto_mpi_lock_acquire(void)29void esp_crypto_mpi_lock_acquire(void) 30 { 31 s_crypto_mpi_lock = irq_lock(); 32 } 33 esp_crypto_mpi_lock_release(void)34void esp_crypto_mpi_lock_release(void) 35 { 36 irq_unlock(s_crypto_mpi_lock); 37 } 38