intel: Increase IDC timeout for FPGAs #10249
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It may be beneficial to have different timeout values for fast platforms (manufactured silicon) and at least 10 times slower FPGA platforms.
Blocking IDC is used to call comp_free() for a DP component instantiated on a different core than its pipeline. With the introduction of LLEXT modules, the time to free a module increased as log_flush() is called as part of module unloading. log_flush() takes 5 ms if at least one line of logs has to be flushed. Let's add these 5 ms to the previous 10 ms IDC timeout to have a default timeout of 15 ms.
On FPGA, unloading an LLEXT module takes almost 10 ms (for the SRC module, which has a lot of rodata). In addition, log_flush() takes at least 5 ms if there are some logs to flush. However, FPGA seems to have a tendency to have more deferred logs, and log_flush() could take even more time. Let's increase the IDC timeout for FPGA to 50 ms, compared to 15 ms on silicon.