Qcom-5.4 firmware does not load from path specified in firmware-name

qcom-5.4 release does not loads the firmware form the path specified in apq8096-db820.c. After creating the folders /lib/fimware/qcom/msm8996/, copied the <mba.mbn> audio firmwares.

if we comment firmware-name it picks properly from /lib/firmware

&mpss {
status = “okay”;
firmware-name = “qcom/msm8996/mba.mbn”, “qcom/msm8996/modem.mbn”;
};

Failed firmware loading should lead to log messages. What messages did you observe?

when i comment the firmware-name, firmwares get loaded from /lib/firmware

root@linaro-alip:/home/linaro/linux_test# dmesg | grep remoteproc
[ 18.348844] remoteproc remoteproc0: adsp-pil is available
[ 18.354501] remoteproc remoteproc0: powering up adsp-pil
[ 18.354544] remoteproc remoteproc0: Booting fw image adsp.mdt, size 7196
[ 18.525637] remoteproc remoteproc1: 2080000.remoteproc is available
[ 18.557989] remoteproc remoteproc0: remote processor adsp-pil is now up
[ 23.692604] remoteproc remoteproc1: powering up 2080000.remoteproc
[ 23.816178] remoteproc remoteproc1: Booting fw image mba.mbn, size 213888
[ 24.090581] qcom-q6v5-mss 2080000.remoteproc: MBA booted, loading mpss
[ 24.525711] remoteproc remoteproc1: remote processor 2080000.remoteproc is now up

manually created the path /lib/firmware/qcom/msm8996/
copied the adsp* , modem* to this path ,
Below is the error after reboot
root@linaro-alip:~# dmesg | grep remoteproc
[ 15.945526] remoteproc remoteproc0: adsp-pil is available
[ 15.946355] remoteproc remoteproc0: Direct firmware load for qcom/msm8996/adsp.mbn failed with error -2
[ 15.949993] remoteproc remoteproc0: Falling back to sysfs fallback for: qcom/msm8996/adsp.mbn
[ 16.041776] remoteproc remoteproc1: 2080000.remoteproc is available
[ 16.346377] remoteproc remoteproc0: powering up adsp-pil
[ 16.346447] remoteproc remoteproc0: Direct firmware load for qcom/msm8996/adsp.mbn failed with error -2
[ 16.351056] remoteproc remoteproc0: Falling back to sysfs fallback for: qcom/msm8996/adsp.mbn
[ 17.366363] remoteproc remoteproc0: request_firmware failed: -11
[ 21.763422] remoteproc remoteproc1: powering up 2080000.remoteproc
[ 21.763963] remoteproc remoteproc1: Direct firmware load for qcom/msm8996/mba.mbn failed with error -2
[ 21.768955] remoteproc remoteproc1: Falling back to sysfs fallback for: qcom/msm8996/mba.mbn
[ 21.779427] remoteproc remoteproc1: request_firmware failed: -11
[ 21.786724] remoteproc remoteproc1: Boot failed: -11

This sort of problem is sometimes due to the co-processors boot racing the rootfs mount (e.g. firmware is loaded from initramfs rather then rootfs)… but with abridged logs it is impossible to tell.

Hi Vinay,

I think this is because of confusion between .mdt and .mbn suffix of these files; I intended to send them to linux-firmware squashed (.mdt + .b??) into a single .mbn and it seems I wrote the dt patch based on this idea.

But you probably have the .mdt version. Simply symlink modem.mbn to your modem.mdt and adsp.mbn to your adsp.mdt (and keep all the .b?? files) and it should work better.

Regards,
Bjorn

bjorn,

i tried symlink, but still it does not load the firmwares from the path qcom/msm8996/

firmwares will load only if i comment the firmware-name in dtsi.

regards,
vinaysimha