Re: [PATCH 2/3] ASoC: qcom: q6apm: add support for reading firmware name from DT

From: Dmitry Baryshkov
Date: Wed Jun 28 2023 - 12:57:47 EST


On 28/06/2023 14:53, Mark Brown wrote:
On Wed, Jun 28, 2023 at 11:26:20AM +0100, Srinivas Kandagatla wrote:
Currently firmware file name is autogenerated based on card name and model number,
however this imposed a restriction of finding firmware in a single firmware path.
Platform specific firmwares are normally located in sub folders of the SoC.

Provide more flexibity by reading firmware-name from DT.

Why not try a series of firmware names/locations generated using the
identifying information for the card/system? That way we don't have to
put a filename in the ABI which has fun scaling issues.

This is what was done by Srini in the initial (currently committed) version. Unfortunately this easily results in the audio topology being separated from the rest of the platform-specific firmware. For example, for the mentioned X13s we already have a subdir under /lib/firmware/qcom and several firmware-name DT properties pointing to the files in that subdir:

$ grep firmware-name arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn";
firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";

This is not unique to the X13s, other Qualcomm boards also use full paths.

--
With best wishes
Dmitry