Hi community:
The sdma need to load firmware about imx/sdma/sdma-imx7d.bin, and set the timeout.
Mounting file system slowly will cause sdma to load firmware timeout.
sdma_probe->sdma_get_firmware->request_firmware_nowait->request_firmware_work_func->_request_firmware->_request_firmware_prepare->fw_state_wait->__fw_state_wait_common(fw_priv, MAX_SCHEDULE_TIMEOUT);
when the system boot up, I can see the time about 6s
```
[ 1.766634] imx-sdma 30bd0000.sdma: no iram assigned, using external mem
[ 1.773170] _reuest [imx/sdma/sdma-imx7d.bin]
[ 1.777900] imx-sdma 302c0000.sdma: no iram assigned, using external mem
[ 1.784403] _reuest [imx/sdma/sdma-imx7d.bin]
[ 4.939451] fw_state_wait sdma in
[ 5.318315] imx-sdma 30bd0000.sdma: Falling back to syfs fallback for: imx/sdma/sdma-imx7d.bin
[ 6.399701] fw_state_wait sdma out
[ 6.399799] _reuest out [imx/sdma/sdma-imx7d.bin]
[ 6.403122] _reuest out [imx/sdma/sdma-imx7d.bin]
[ 6.403125] begin to cont [imx/sdma/sdma-imx7d.bin]
[ 6.403132] imx-sdma 302c0000.sdma: external firmware not found, using ROM firmware
[ 6.431282] begin to cont [imx/sdma/sdma-imx7d.bin]
[ 6.441618] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
```
If i use ubuntu rootfs, it will cast 2s to mount rootfs parition, lead to the load firmware timeout.
Is it possible to load firmware like L4.9.88 does not depend on the file system?
Solved! Go to Solution.
I found the way to deal with it, only need build the firmware into kernel image。
Another option is to change the default firmware_callback_config loading_timeout/old_timeout.
drivers/base/firmware_loader/fallback_table.c
This doesn't avoid the timeout message, it does however mean that the 2nd attempt to load the firmware can be made to happen without waiting 1 minute. So you can set a timeout that ensures that the rootfs is mounted first, in our case 3 seconds.
This solution avoids integrating the firmware into the kernel.
Hi coin
one can try to reproduce issue on i.MX7D Sabre SD reference board
with Demo Image
Linux Binary Demo Files - i.MX 7Dual SabreSD
If there is special need for fast firmware loading may be recommended to
perform customizations with help of Commercial Support and Engineering Services | NXP
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I found the way to deal with it, only need build the firmware into kernel image。
Hi coin ,
I've met similar problem , and how to build this firmware into kernel image ? Which file should be changed ?
Thanks !
Best Regards,
Ida
Thanks ! !