Merge branch 'bugfix/spi_master_fifo_use_dma_v5.0' into 'release/v5.0'

fix(spi): fixed undesired touching to DMA (v5.0)

See merge request espressif/esp-idf!26771
This commit is contained in:
Michael (XIAO Xufeng) 2023-11-02 21:11:10 +08:00
commit 1db67a7133
4 changed files with 14 additions and 17 deletions

View File

@ -56,7 +56,9 @@ void spi_hal_init(spi_hal_context_t *hal, uint32_t host_id, const spi_hal_config
hal->dmadesc_n = config->dmadesc_n; hal->dmadesc_n = config->dmadesc_n;
spi_ll_master_init(hw); spi_ll_master_init(hw);
s_spi_hal_dma_init_config(hal); if (config->dma_enabled) {
s_spi_hal_dma_init_config(hal);
}
//Force a transaction done interrupt. This interrupt won't fire yet because //Force a transaction done interrupt. This interrupt won't fire yet because
//we initialized the SPI interrupt as disabled. This way, we can just //we initialized the SPI interrupt as disabled. This way, we can just

View File

@ -31,7 +31,9 @@ void spi_slave_hal_init(spi_slave_hal_context_t *hal, const spi_slave_hal_config
hal->dma_in = hal_config->dma_in; hal->dma_in = hal_config->dma_in;
hal->dma_out = hal_config->dma_out; hal->dma_out = hal_config->dma_out;
s_spi_slave_hal_dma_init_config(hal); if (hal->use_dma) {
s_spi_slave_hal_dma_init_config(hal);
}
spi_ll_slave_init(hal->hw); spi_ll_slave_init(hal->hw);
//Force a transaction done interrupt. This interrupt won't fire yet because we initialized the SPI interrupt as //Force a transaction done interrupt. This interrupt won't fire yet because we initialized the SPI interrupt as

View File

@ -1,16 +1,8 @@
// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD /*
// * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
// Licensed under the Apache License, Version 2.0 (the "License"); *
// you may not use this file except in compliance with the License. * SPDX-License-Identifier: Apache-2.0
// You may obtain a copy of the License at */
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// The HAL layer for SPI Slave HD // The HAL layer for SPI Slave HD
@ -78,7 +70,9 @@ void spi_slave_hd_hal_init(spi_slave_hd_hal_context_t *hal, const spi_slave_hd_h
hal->rx_dma_head = &hal->rx_dummy_head; hal->rx_dma_head = &hal->rx_dummy_head;
//Configure slave //Configure slave
s_spi_slave_hd_hal_dma_init_config(hal); if (hal_config->dma_enabled) {
s_spi_slave_hd_hal_dma_init_config(hal);
}
spi_ll_slave_hd_init(hw); spi_ll_slave_hd_init(hw);
spi_ll_set_addr_bitlen(hw, hal_config->address_bits); spi_ll_set_addr_bitlen(hw, hal_config->address_bits);

View File

@ -741,7 +741,6 @@ components/hal/spi_flash_encrypt_hal_iram.c
components/hal/spi_flash_hal_gpspi.c components/hal/spi_flash_hal_gpspi.c
components/hal/spi_slave_hal.c components/hal/spi_slave_hal.c
components/hal/spi_slave_hal_iram.c components/hal/spi_slave_hal_iram.c
components/hal/spi_slave_hd_hal.c
components/hal/test/test_mpu.c components/hal/test/test_mpu.c
components/hal/touch_sensor_hal.c components/hal/touch_sensor_hal.c
components/hal/twai_hal_iram.c components/hal/twai_hal_iram.c