On Tue, 2020-03-17 at 18:54 +0200, Kalle Valo wrote: > For me either solutions are good enough, I'm not familiar enough with > all the different SAR user space interfaces to make a good decision. Brian probably has most insight into this :-) I really didn't want to have to be the referee here, I was hoping you'd figure this all out between yourselves... oh well. But as somebody has said on one of these threads, there seem to basically be two kinds of APIs: 1) some kind of platform-dependent index into a table that the driver/device has, or perhaps the BIOS; and 2) some kind of per-band (FSVO band) power restriction like here. The first is like iwlwifi, and I think Marvell was mentioned? But they're basically out - there's no information, and there's no clue as to which indices might even be valid, I think, nor what they mean. So there isn't really much value in a common API for that since you can't use it in a common fashion - arguably a common API would be worse... However, the case of 2, arguably the proposals are very similar? Qualcomm: optional nl80211_band, 1/2 dBm units Realtek: 2.4, four 5 GHz subbands, 1/4 dBm units Both have some strange namespace thing where the same namespace contains both the outer and inner attributes. Probably should think about the policy with NLA_POLICY_NESTED and see how that works. But it any case, these two don't seem like an insurmountable issue to combine? Say, something like defining a list of affected frequency ranges in the wiphy properties, and then giving a list of TX powers that matches the list of frequency ranges? We can go to 1/4 dBm or so, that's not such a big deal, I'd think? On the other hand, what does that actually buy us? If you cannot have common userspace that knows how a given platform must behave, then it's not very worthwhile to have common API for it? Brian, what do you think from a platform/userspace perspective - how do you actually determine the SAR limits? I'm guessing you just have a table of sorts, but how do you get the table? Would you actually have common userspace and benefit from having common API? johannes