[RFC 1/2] nl80211: add common API to configure SAR power limitations.

Carl Huang cjhuang at codeaurora.org
Thu Nov 5 06:10:37 EST 2020

On 2020-11-05 16:35, Kalle Valo wrote:
> Brian Norris <briannorris at chromium.org> writes:
>> + ath10k
>> [ I realize I replied to the "wrong" RFC v1; I fell trap to Kalle's 
>> note:
>> "When you submit a new version mark it as "v2". Otherwise people don't
>> know what's the latest version." ]
>> On Tue, Nov 3, 2020 at 11:32 PM Carl Huang <cjhuang at codeaurora.org> 
>> wrote:
>>> On 2020-11-04 10:00, Brian Norris wrote:
>>> > What are the ABI guarantees around a given driver/chip's 'sar_capa'?
>>> > Do we guarantee that if the driver supports N ranges of certain bands,
>>> > that it will always continue to support those bands?
>> ...
>>> For a given chip(at least a QCOM chip), we don't see that the
>>> range will grow or change.
>> That's good to know. But that's not quite the same as an ABI 
>> guarantee.
> I'm not sure if I understood Brian's question correctly, but I have
> concerns on the assumption that frequency ranges never change. For
> example, in ath10k we have a patch[1] under discussion which adds more
> channels and in ath11k we added 6 GHz band after initial ath11k support
> landed. And I would not be surprised if in some boards/platforms a
> certain band is disabled due to cotting costs (no antenna etc). My
> preference is to have a robust interface which would be designed to
> handle these kind of changes.
> [1] [PATCH] ath10k: enable advertising support for channels 32, 68 and 
> 98

So the trick here is even if more channels are supported, it doesn't 
that it can support different SAR setting on these new channels. In this 
it likely falls into 5G range. It's safe for driver to extend the 5G 
range and
doesn't break userspace. (68 and 98 are already in the 5G range, so 
driver just
extends the start edge freq to 32 here.).

But for flexibility, given 6 GHz as example here, let's keep the 
index for SET command. For sar_capa advertisement, the explicit index is
dropped as Johannes suggested. New ranges can only be appended to 
ones. Like Brian said, only add or split is allowed. The complexity to 
splitted range Vs whole range is left to WLAN driver itself.

Userspace can SET any ranges which are advertised by WLAN driver. It's
not required to set all ranges and userspace can skip any ranges.

More information about the ath10k mailing list