Il 29/10/25 10:14, Chen-Yu Tsai ha scritto:
On Wed, Oct 15, 2025 at 4:41 PM AngeloGioacchino Del Regno <[email protected]> wrote:After a reply on the mailing lists [1] it emerged that the DT property "firmware-name" should not be relied on because of possible issues with firmware versions. For MediaTek SCP, there has never been any firmware version vs driver version desync issue but, regardless, the firmwares are always using the same name and they're always located in a path with a specific pattern. Instead of unconditionally always relying on the firmware-name devicetree property to get a path to the SCP FW file, drivers should construct a name based on what firmware it knows and what hardware it is running on. In order to do that, add a `scp_get_default_fw_path()` function that constructs the path and filename based on two of the infos that the driver can get: 1. The compatible string with the highest priority (so, the first one at index 0); and 2. The type of SCP HW - single-core or multi-core. This means that the default firmware path is generated as: - Single core SCP: mediatek/(soc_model)/scp.img for example: mediatek/mt8183/scp.img; - Multi core SCP: mediatek/(soc_model)/scp_c(core_number).img for example: mediatek/mt8188/scp_c0.img for Core 0, and mediatek/mt8188/scp_c1.img for Core 1.I know this patch has been applied, but this scheme doesn't actually follow what is already in the linux-firmware repository. For all the supported platforms, the first core, even for multi core SCP, already have their firmware uploaded as just "scp.img". Multicore SCP is seen in MT8195 and MT8188.
The only one that is affected is MT8188, which needs a rename or a symlink in linux-firmware. MT8195 is not affected by this change, because the SCP is used as single-core, hence this code will look for scp.img and not for scp_c0.img.
I guess I can send a followup patch?
The only followup patch that I deem to be necessary is one adding a symlink or renaming for MT8188's SCP and nothing else. Please remember that some of those SoCs (including MT8195) allow the SCP to be configured as *either* single-core *or* dual-core - and usually firmwares for single-core configurations are not compatible with dual-core ones, because of the SRAM carveout/usage. Cheers, Angelo
ChenYu

