Re: [PATCH v2 03/35] brcmfmac: firmware: Handle per-board clm_blob files
From: Hector Martin <hidden>
Date: 2022-01-06 11:00:02
Also in:
linux-acpi, linux-devicetree, linux-wireless, lkml
On 2022/01/06 19:19, Arend van Spriel wrote:
On 1/4/2022 8:26 AM, Hector Martin wrote:quoted
Teach brcm_alt_fw_paths to correctly split off variable length extensions, and enable alt firmware lookups for the CLM blob firmware requests. Apple platforms have per-board CLM blob files.Are you sure? I am not involved in development for Apple platforms, but in general we build a CLM blob specific for a chip revision. As always with the blobs they are created at a certain point in time and that is mostly why you need another one for a newer platform. Apple tends to do things a bit different so you could be right though. Anyway, despite my doubts on this it does not change the need for per-board firmware files.
Yup, I'm sure. The 2021 MacBook Pro 14" and the MacBook Pro 16", both using BCM4387 and both released simultaneously, have different CLM blobs; they're even a significantly different size. Running `strings` on the files yields: CLM DATA Oly.Maldives 1.61.4 ClmImport: 1.63.1 v3 Final 210923 CLM DATA Oly.Madagascar 1.61.4 ClmImport: 1.63.1 v4 Final 210923 The data shows significant differences and since the file format is opaque I can't know what's going on. Even if it's safe to use one file for both, unless there is some way for me to programmatically identify this fact so I can incorporate that logic into my firmware copier, I would much rather just keep them separate like Apple does.
So all firmware files are attempted with board-specific path now.
Yes, I figured I'd keep things uniform. Technically for Apple platforms the CLM blob and firmware are only per-board and possibly per-antenna (they don't need the module variants, those are for nvram only), but there's no real harm in unifying it and using the same firmware naming alt path list for everything. -- Hector Martin (marcan@marcan.st) Public Key: https://mrcn.st/pub