Larry Finger <Larry.Finger@xxxxxxxxxxxx> writes: > On 10/4/18 8:42 AM, Stanislaw Gruszka wrote: >> On Thu, Oct 04, 2018 at 03:39:55PM +0300, Kalle Valo wrote: >>>>> Can we put the configuration file in the firmware directory? >>>>> Should we package them into binary files? Or just put the raw data. >>>>> >>>>> We can test the performance for it. After we got the result, we >>>>> will make a decision >>>>> about it. And if we decide to put them in the firmware directory, >>>>> will send a patch. >>>>> For now, I think we can just leave them in the .c. >>>> >>>> Yes, you could put the configuration files in the firmware directory. >>>> I would put them in binary form, not as text files. That way the size >>>> would be smaller, and it would not be possible to alter them, >>>> particularly if the binary file is checksummed. >>>> >>>> It would likely be OK if only the agc table was stored in this way. >>>> That would take away about half of the lines in the 8822b table file. >>> >>> So what's the worry here? The lines of source code, binary size or what? >>> >>> .../net/wireless/realtek/rtw88/rtw8822b_table.c | 20783 +++++++++++++++++++ >>> >>> Looking at the diffstat rtw8822b_table.c seems to be 20 kLOC, IMHO it's >>> not that bad as it's just data. But of course I might be missing >>> something as I haven't checked patches yet. >> >> My concern was it's plenty of redundant data, for example: >> >> 0x81C, 0xFF000003, >> 0x81C, 0xFE000003, >> 0x81C, 0xFD020003, >> 0x81C, 0xFC040003, >> 0x81C, 0xFB060003, >> 0x81C, 0xFA080003, >> 0x81C, 0xF90A0003, >> 0x81C, 0xF80C0003, >> 0x81C, 0xF70E0003, >> 0x81C, 0xF6100003, >> >> Approx 10000 lines like this, braked by lines like this >> >> 0x90000012, 0x00000000, 0x40000000, 0x00000000, >> >> in more or less regular way. >> >> Not big deal, but perhaps this could be coded in much more compact way. > > What should be the tradeoff between large tables of redundant data and > complicated generation and interpretation? I think this table should > be converted to binary in its present form and added to the > "firmware", the way that is done for b43. That way the source is > smaller, and the loading will be only a bit more time consuming. But separating the data from the driver creates another set of problems. For example, what if the data is dependent on the driver changes? Then we need to think about backwards compatibility etc, which creates more work us. I prefer simple solutions, less work and less problems :) -- Kalle Valo