On Tuesday 20 December 2016 17:56:58 Tony Lindgren wrote: > * Kalle Valo <kvalo@xxxxxxxxxxxxxx> [161220 03:47]: > > Arend Van Spriel <arend.vanspriel@xxxxxxxxxxxx> writes: > > > On 18-12-2016 13:09, Pali Rohár wrote: > > >> File wl1251-nvs.bin is provided by linux-firmware package and > > >> contains default data which should be overriden by model > > >> specific calibrated data. > > > > > > Ah. Someone thought it was a good idea to provide the "one ring > > > to rule them all". Nice. > > > > Yes, that was a bad idea. wl1251-nvs.bin in linux-firmware.git > > should be renamed to wl1251-nvs.bin.example, or something like > > that, as it should be only installed to a real system only if > > there's no real calibration data available (only for developers to > > use, not real users). > > Makes sense to me. Note that with the recent changes to wlcore, we > can now easily provide board specific calibration firmware simply by > adding a new compatible value. So for n900, we could have something > like compatible = "ti,wl1251-n900" and have it point to n900 > specific calibration file wl1251-nvs-n900.bin. Of course this won't > help with the mac address, or any of the device specific data.. > > That is assuming the calibration values are the same for each similar > device and don't have to be generated for each device. And naturally > wl1251 needs simlar changes done to make use of devices specific > calibration files. > > Regards, > > Tony As wrote in another thread "wl1251 NVS calibration data format" calibration data for wl1251 (wl1251-nvs.bin) contains also MAC address, which kernel sends to wl1251 chip. Kernel just do not use it. So... my idea now is: 1) extend request_firmware function family with ability to use userspace helper first and fallback to VFS 2) teach wl1251.ko to parse MAC address from wl1251-nvs.bin and use it (in case it is not empty or 00:00:20:07:03:09 which is in that example linux-firmware package) 3) write Nokia n900 specific userspace helper for providing data when kernel requests wl1251-nvs.bin. So userspace helper reads MAC address and calibration data from CAL, place MAC address into calibration data and send put it into kernel. Are you OK with this idea? -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.