mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
change(gdma): deprecate legacy API
gdma_new_channel() is replaced by gdma_new_ahb_channel() and gdma_new_axi_channel()
This commit is contained in:
parent
51cd6e9291
commit
39cbba3685
@ -444,13 +444,13 @@ static void hci_driver_uart_dma_install(void)
|
|||||||
.direction = GDMA_CHANNEL_DIRECTION_TX,
|
.direction = GDMA_CHANNEL_DIRECTION_TX,
|
||||||
};
|
};
|
||||||
|
|
||||||
ESP_ERROR_CHECK(gdma_new_channel(&tx_channel_config, &s_tx_channel));
|
ESP_ERROR_CHECK(gdma_new_ahb_channel(&tx_channel_config, &s_tx_channel));
|
||||||
gdma_channel_alloc_config_t rx_channel_config = {
|
gdma_channel_alloc_config_t rx_channel_config = {
|
||||||
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
||||||
.sibling_chan = s_tx_channel,
|
.sibling_chan = s_tx_channel,
|
||||||
};
|
};
|
||||||
|
|
||||||
ESP_ERROR_CHECK(gdma_new_channel(&rx_channel_config, &s_rx_channel));
|
ESP_ERROR_CHECK(gdma_new_ahb_channel(&rx_channel_config, &s_rx_channel));
|
||||||
gdma_connect(s_tx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
gdma_connect(s_tx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
||||||
gdma_connect(s_rx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
gdma_connect(s_rx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
||||||
gdma_strategy_config_t strategy_config = {
|
gdma_strategy_config_t strategy_config = {
|
||||||
|
@ -290,7 +290,7 @@ esp_err_t adc_digi_initialize(const adc_digi_init_config_t *init_config)
|
|||||||
gdma_channel_alloc_config_t rx_alloc_config = {
|
gdma_channel_alloc_config_t rx_alloc_config = {
|
||||||
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
||||||
};
|
};
|
||||||
ret = gdma_new_channel(&rx_alloc_config, &s_adc_digi_ctx->rx_dma_channel);
|
ret = gdma_new_ahb_channel(&rx_alloc_config, &s_adc_digi_ctx->rx_dma_channel);
|
||||||
if (ret != ESP_OK) {
|
if (ret != ESP_OK) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -371,7 +371,7 @@ static esp_err_t i2s_dma_intr_init(i2s_port_t i2s_num, int intr_flag)
|
|||||||
if (p_i2s[i2s_num]->dir & I2S_DIR_TX) {
|
if (p_i2s[i2s_num]->dir & I2S_DIR_TX) {
|
||||||
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_TX;
|
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_TX;
|
||||||
/* Register a new GDMA tx channel */
|
/* Register a new GDMA tx channel */
|
||||||
ESP_RETURN_ON_ERROR(gdma_new_channel(&dma_cfg, &p_i2s[i2s_num]->tx_dma_chan), TAG, "Register tx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_new_ahb_channel(&dma_cfg, &p_i2s[i2s_num]->tx_dma_chan), TAG, "Register tx dma channel error");
|
||||||
ESP_RETURN_ON_ERROR(gdma_connect(p_i2s[i2s_num]->tx_dma_chan, trig), TAG, "Connect tx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_connect(p_i2s[i2s_num]->tx_dma_chan, trig), TAG, "Connect tx dma channel error");
|
||||||
gdma_tx_event_callbacks_t cb = {.on_trans_eof = i2s_dma_tx_callback};
|
gdma_tx_event_callbacks_t cb = {.on_trans_eof = i2s_dma_tx_callback};
|
||||||
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
||||||
@ -380,7 +380,7 @@ static esp_err_t i2s_dma_intr_init(i2s_port_t i2s_num, int intr_flag)
|
|||||||
if (p_i2s[i2s_num]->dir & I2S_DIR_RX) {
|
if (p_i2s[i2s_num]->dir & I2S_DIR_RX) {
|
||||||
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_RX;
|
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_RX;
|
||||||
/* Register a new GDMA rx channel */
|
/* Register a new GDMA rx channel */
|
||||||
ESP_RETURN_ON_ERROR(gdma_new_channel(&dma_cfg, &p_i2s[i2s_num]->rx_dma_chan), TAG, "Register rx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_new_ahb_channel(&dma_cfg, &p_i2s[i2s_num]->rx_dma_chan), TAG, "Register rx dma channel error");
|
||||||
ESP_RETURN_ON_ERROR(gdma_connect(p_i2s[i2s_num]->rx_dma_chan, trig), TAG, "Connect rx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_connect(p_i2s[i2s_num]->rx_dma_chan, trig), TAG, "Connect rx dma channel error");
|
||||||
gdma_rx_event_callbacks_t cb = {.on_recv_eof = i2s_dma_rx_callback};
|
gdma_rx_event_callbacks_t cb = {.on_recv_eof = i2s_dma_rx_callback};
|
||||||
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
||||||
|
@ -31,7 +31,7 @@ esp_err_t adc_dma_init(adc_dma_t *adc_dma)
|
|||||||
gdma_channel_alloc_config_t rx_alloc_config = {
|
gdma_channel_alloc_config_t rx_alloc_config = {
|
||||||
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
||||||
};
|
};
|
||||||
ret = gdma_new_channel(&rx_alloc_config, &(adc_dma->gdma_chan));
|
ret = gdma_new_ahb_channel(&rx_alloc_config, &(adc_dma->gdma_chan));
|
||||||
if (ret != ESP_OK) {
|
if (ret != ESP_OK) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -727,7 +727,7 @@ esp_err_t i2s_init_dma_intr(i2s_chan_handle_t handle, int intr_flag)
|
|||||||
if (handle->dir == I2S_DIR_TX) {
|
if (handle->dir == I2S_DIR_TX) {
|
||||||
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_TX;
|
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_TX;
|
||||||
/* Register a new GDMA tx channel */
|
/* Register a new GDMA tx channel */
|
||||||
ESP_RETURN_ON_ERROR(gdma_new_channel(&dma_cfg, &handle->dma.dma_chan), TAG, "Register tx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_new_ahb_channel(&dma_cfg, &handle->dma.dma_chan), TAG, "Register tx dma channel error");
|
||||||
ESP_GOTO_ON_ERROR(gdma_connect(handle->dma.dma_chan, trig), err1, TAG, "Connect tx dma channel error");
|
ESP_GOTO_ON_ERROR(gdma_connect(handle->dma.dma_chan, trig), err1, TAG, "Connect tx dma channel error");
|
||||||
gdma_tx_event_callbacks_t cb = {.on_trans_eof = i2s_dma_tx_callback};
|
gdma_tx_event_callbacks_t cb = {.on_trans_eof = i2s_dma_tx_callback};
|
||||||
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
||||||
@ -735,7 +735,7 @@ esp_err_t i2s_init_dma_intr(i2s_chan_handle_t handle, int intr_flag)
|
|||||||
} else {
|
} else {
|
||||||
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_RX;
|
dma_cfg.direction = GDMA_CHANNEL_DIRECTION_RX;
|
||||||
/* Register a new GDMA rx channel */
|
/* Register a new GDMA rx channel */
|
||||||
ESP_RETURN_ON_ERROR(gdma_new_channel(&dma_cfg, &handle->dma.dma_chan), TAG, "Register rx dma channel error");
|
ESP_RETURN_ON_ERROR(gdma_new_ahb_channel(&dma_cfg, &handle->dma.dma_chan), TAG, "Register rx dma channel error");
|
||||||
ESP_GOTO_ON_ERROR(gdma_connect(handle->dma.dma_chan, trig), err1, TAG, "Connect rx dma channel error");
|
ESP_GOTO_ON_ERROR(gdma_connect(handle->dma.dma_chan, trig), err1, TAG, "Connect rx dma channel error");
|
||||||
gdma_rx_event_callbacks_t cb = {.on_recv_eof = i2s_dma_rx_callback};
|
gdma_rx_event_callbacks_t cb = {.on_recv_eof = i2s_dma_rx_callback};
|
||||||
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
/* Set callback function for GDMA, the interrupt is triggered by GDMA, then the GDMA ISR will call the callback function */
|
||||||
|
@ -109,22 +109,6 @@ typedef struct {
|
|||||||
bool eof_till_data_popped; /*!< If set / clear, DMA channel out_eof event is triggered on out / in DMA hardware fifo */
|
bool eof_till_data_popped; /*!< If set / clear, DMA channel out_eof event is triggered on out / in DMA hardware fifo */
|
||||||
} gdma_strategy_config_t;
|
} gdma_strategy_config_t;
|
||||||
|
|
||||||
/** @cond */
|
|
||||||
/**
|
|
||||||
* @brief Create GDMA channel (only create AHB GDMA channel)
|
|
||||||
* @note This API is going to be deprecated, please use `gdma_new_ahb_channel` or `gdma_new_axi_channel` instead.
|
|
||||||
*
|
|
||||||
* @param[in] config Pointer to a collection of configurations for allocating GDMA channel
|
|
||||||
* @param[out] ret_chan Returned channel handle
|
|
||||||
* @return
|
|
||||||
* - ESP_OK: Create DMA channel successfully
|
|
||||||
* - ESP_ERR_INVALID_ARG: Create DMA channel failed because of invalid argument
|
|
||||||
* - ESP_ERR_NO_MEM: Create DMA channel failed because out of memory
|
|
||||||
* - ESP_FAIL: Create DMA channel failed because of other error
|
|
||||||
*/
|
|
||||||
esp_err_t gdma_new_channel(const gdma_channel_alloc_config_t *config, gdma_channel_handle_t *ret_chan);
|
|
||||||
/** @endcond */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create AHB-GDMA channel
|
* @brief Create AHB-GDMA channel
|
||||||
* @note This API won't install interrupt service for the allocated channel.
|
* @note This API won't install interrupt service for the allocated channel.
|
||||||
@ -475,9 +459,24 @@ esp_err_t gdma_crc_get_result(gdma_channel_handle_t dma_chan, uint32_t *result);
|
|||||||
#endif // SOC_GDMA_SUPPORT_CRC
|
#endif // SOC_GDMA_SUPPORT_CRC
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Deprecated APIs
|
* Deprecated APIs (will be removed in esp-idf 6.0)
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
|
/**
|
||||||
|
* @brief Create GDMA channel (Legacy API)
|
||||||
|
*
|
||||||
|
* @param[in] config Pointer to a collection of configurations for allocating GDMA channel
|
||||||
|
* @param[out] ret_chan Returned channel handle
|
||||||
|
* @return
|
||||||
|
* - ESP_OK: Create DMA channel successfully
|
||||||
|
* - ESP_ERR_INVALID_ARG: Create DMA channel failed because of invalid argument
|
||||||
|
* - ESP_ERR_NO_MEM: Create DMA channel failed because out of memory
|
||||||
|
* - ESP_FAIL: Create DMA channel failed because of other error
|
||||||
|
*/
|
||||||
|
esp_err_t gdma_new_channel(const gdma_channel_alloc_config_t *config, gdma_channel_handle_t *ret_chan)
|
||||||
|
__attribute__((deprecated("please use gdma_new_ahb_channel or gdma_new_axi_channel respectively")));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GDMA transfer ability
|
* @brief GDMA transfer ability
|
||||||
*
|
*
|
||||||
@ -503,6 +502,7 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
esp_err_t gdma_set_transfer_ability(gdma_channel_handle_t dma_chan, const gdma_transfer_ability_t *ability)
|
esp_err_t gdma_set_transfer_ability(gdma_channel_handle_t dma_chan, const gdma_transfer_ability_t *ability)
|
||||||
__attribute__((deprecated("please use gdma_config_transfer instead")));
|
__attribute__((deprecated("please use gdma_config_transfer instead")));
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -218,12 +218,12 @@ void uhci_uart_install(void)
|
|||||||
.flags.reserve_sibling = 1,
|
.flags.reserve_sibling = 1,
|
||||||
.direction = GDMA_CHANNEL_DIRECTION_TX,
|
.direction = GDMA_CHANNEL_DIRECTION_TX,
|
||||||
};
|
};
|
||||||
ESP_ERROR_CHECK(gdma_new_channel(&tx_channel_config, &s_tx_channel));
|
ESP_ERROR_CHECK(gdma_new_ahb_channel(&tx_channel_config, &s_tx_channel));
|
||||||
gdma_channel_alloc_config_t rx_channel_config = {
|
gdma_channel_alloc_config_t rx_channel_config = {
|
||||||
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
.direction = GDMA_CHANNEL_DIRECTION_RX,
|
||||||
.sibling_chan = s_tx_channel,
|
.sibling_chan = s_tx_channel,
|
||||||
};
|
};
|
||||||
ESP_ERROR_CHECK(gdma_new_channel(&rx_channel_config, &s_rx_channel));
|
ESP_ERROR_CHECK(gdma_new_ahb_channel(&rx_channel_config, &s_rx_channel));
|
||||||
|
|
||||||
gdma_connect(s_tx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
gdma_connect(s_tx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
||||||
gdma_connect(s_rx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
gdma_connect(s_rx_channel, GDMA_MAKE_TRIGGER(GDMA_TRIG_PERIPH_UHCI, 0));
|
||||||
|
Loading…
Reference in New Issue
Block a user