mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-18 17:38:09 +00:00
fix(drivers): use CPU_MAX lock in dirvers use axi dma to access psram
This commit is contained in:
@@ -884,8 +884,14 @@ esp_err_t spi_bus_initialize(spi_host_device_t host_id, const spi_bus_config_t *
|
||||
#endif // SOC_SPI_SUPPORT_SLEEP_RETENTION
|
||||
|
||||
#ifdef CONFIG_PM_ENABLE
|
||||
#if CONFIG_IDF_TARGET_ESP32P4
|
||||
// use CPU_MAX lock to ensure PSRAM bandwidth and usability during DFS
|
||||
err = esp_pm_lock_create(ESP_PM_CPU_FREQ_MAX, 0, "spi_master",
|
||||
&bus_attr->pm_lock);
|
||||
#else
|
||||
err = esp_pm_lock_create(ESP_PM_APB_FREQ_MAX, 0, "spi_master",
|
||||
&bus_attr->pm_lock);
|
||||
#endif
|
||||
if (err != ESP_OK) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
@@ -227,7 +227,12 @@ esp_err_t spi_slave_initialize(spi_host_device_t host, const spi_bus_config_t *b
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_ENABLE
|
||||
#if CONFIG_IDF_TARGET_ESP32P4
|
||||
// use CPU_MAX lock to ensure PSRAM bandwidth and usability during DFS
|
||||
err = esp_pm_lock_create(ESP_PM_CPU_FREQ_MAX, 0, "spi_slave", &spihost[host]->pm_lock);
|
||||
#else
|
||||
err = esp_pm_lock_create(ESP_PM_APB_FREQ_MAX, 0, "spi_slave", &spihost[host]->pm_lock);
|
||||
#endif
|
||||
if (err != ESP_OK) {
|
||||
ret = err;
|
||||
goto cleanup;
|
||||
|
@@ -181,7 +181,12 @@ esp_err_t spi_slave_hd_init(spi_host_device_t host_id, const spi_bus_config_t *b
|
||||
spi_slave_hd_hal_init(&host->hal, &hal_config);
|
||||
|
||||
#ifdef CONFIG_PM_ENABLE
|
||||
#if CONFIG_IDF_TARGET_ESP32P4
|
||||
// use CPU_MAX lock to ensure PSRAM bandwidth and usability during DFS
|
||||
ret = esp_pm_lock_create(ESP_PM_CPU_FREQ_MAX, 0, "spi_slave_hd", &host->pm_lock);
|
||||
#else
|
||||
ret = esp_pm_lock_create(ESP_PM_APB_FREQ_MAX, 0, "spi_slave_hd", &host->pm_lock);
|
||||
#endif
|
||||
if (ret != ESP_OK) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
Reference in New Issue
Block a user