Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp959967pxb; Tue, 3 Nov 2020 18:03:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJwFQKjkRDHlqTEk7LlRwl7dWEXLOn/6Bk16fGgnrbjc644Po3F9wtyOi+q4PPeA89wGLjVg X-Received: by 2002:a50:fa92:: with SMTP id w18mr4417773edr.44.1604455423320; Tue, 03 Nov 2020 18:03:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604455423; cv=none; d=google.com; s=arc-20160816; b=dhsaynaoe0EAn9ykPM9htgoD18YTL19bQj9VUWE+bMcCRcnWwyGWmM++2MvEn/4cWQ NnxMxQBXdar/jYxGhTh7lUL1VregsYhz/BqF2rV+bsZqPqqcoy+NPf/Z0gyPwlqY7Xtg f2AdNpIdl9GthDQ8+FmPW9/05HhHzr19utB5qqQQo6I6IBz4cy8XI8Zj7qXFbINFVVPk BORdxHKR+0wQlfdXFZtDEWTs2fQjD3tAzZZELKWCEtsnD99qHadddL6yw3qB4cYbSyD/ zIRC2yebuuQ6lAcHr2A2fkuuFm4toDBQ/r6PuMvhkD2ASk//4gZtwofEisvxM4Bh28KD 79CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=C4VM48gSNaeD9caCaQYAOR6M4cliDtpQba3b+Hfm5ZQ=; b=HnvIb9nzAivdBsoS3mrYH6pdEBUCpl/lgo9d7+7w+BkV0ugsfpH11mvPUA+J0Satdj hppu/DtS/fGEPF1GF2VokekyZRPCxU4n2bkT7yIvrxaI8AGeEjd9tmLcJPhZUEdz+7J3 3kHBlTkfVYMAt1+iWghs3oAUIQ5X3yMkgxoMJWj+SJkBJsLD1vtlvRAai9EvIMNbIgvO iyMBrdu2ZT3yV9XOCRonv6/0ByofyL4PSfEUC4XFhI/y1ps/t/HwtTuzkRPESD+6j3Xl ourKxdNYs9zyO9djIktKPZ070cELA+y5fuGYx4IdggRwGvJz8AkKz3MwcliUJ290KJVc 1yzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=QcxJ8vUU; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s17si453348ejf.122.2020.11.03.18.03.07; Tue, 03 Nov 2020 18:03:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=QcxJ8vUU; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730206AbgKDCA0 (ORCPT + 99 others); Tue, 3 Nov 2020 21:00:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725765AbgKDCAZ (ORCPT ); Tue, 3 Nov 2020 21:00:25 -0500 Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21045C061A4D for ; Tue, 3 Nov 2020 18:00:25 -0800 (PST) Received: by mail-lf1-x12c.google.com with SMTP id v6so24933092lfa.13 for ; Tue, 03 Nov 2020 18:00:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=C4VM48gSNaeD9caCaQYAOR6M4cliDtpQba3b+Hfm5ZQ=; b=QcxJ8vUUI66o1zpuprQfCvrglqnNCE9JevoogB1Bzs15ej14lX4D4bbu8FIzDy+HPl TG/BQ096/4p/DHJvrxYn+E2QXYob+o1/pKk1CZtdvnC3ltMqN7XqyBVo4+Y7NGAGNUMy Da5IY5Ditvr/XnXh7wwGnr8W+cd7MPyUmg21w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=C4VM48gSNaeD9caCaQYAOR6M4cliDtpQba3b+Hfm5ZQ=; b=mu9qjVMHd5lPSmL5+9RJedjPnqmlGT2VmK4/v6m7cEFty00nLrGjgl7YRj+VSqeYeD 1LfRyMifkWxaeXCKV7OpdLa+52ju3jxGRbWNAyUQQXJYS4X2U6eoUyLQNwxjn79fO0E1 0/y7P+NnB49Q1GqGHPwfJnJnnS8h6wRZUnspz38vcqUEVAx2Ut9iL/NN392kFAEggo6j 83hMrXTRTm+v0FDK65A0wxndjrmdVk22nUJBCrxbLAHrMe5c6xZivT0dV4d4WWWO6q9v RxNshsjZbcGpD9wFYuvU55ju2tny4aOY0HLJwASu/nNzkmCeJ6Rh7oIu+DXgh7LAdj5P PkdA== X-Gm-Message-State: AOAM5309hnMqqWpm6aODe4myvCo/ho05gBwFz93o+++Y/WNqH+9HVbQc tOZiwjWPFRpn1ThA0zp1QsgRRZlzTpbs4w== X-Received: by 2002:ac2:5102:: with SMTP id q2mr617288lfb.391.1604455223242; Tue, 03 Nov 2020 18:00:23 -0800 (PST) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com. [209.85.167.46]) by smtp.gmail.com with ESMTPSA id u28sm156952lfi.182.2020.11.03.18.00.21 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Nov 2020 18:00:22 -0800 (PST) Received: by mail-lf1-f46.google.com with SMTP id i6so25024164lfd.1 for ; Tue, 03 Nov 2020 18:00:21 -0800 (PST) X-Received: by 2002:a19:a40c:: with SMTP id q12mr8290047lfc.541.1604455221556; Tue, 03 Nov 2020 18:00:21 -0800 (PST) MIME-Version: 1.0 References: <1600753017-4614-1-git-send-email-cjhuang@codeaurora.org> In-Reply-To: <1600753017-4614-1-git-send-email-cjhuang@codeaurora.org> From: Brian Norris Date: Tue, 3 Nov 2020 18:00:07 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC 1/2] nl80211: add common API to configure SAR power limitations. To: Carl Huang Cc: ath11k@lists.infradead.org, linux-wireless , Doug Anderson Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Mon, Sep 21, 2020 at 10:37 PM Carl Huang wrote: > +/** > + * struct cfg80211_sar_capa - sar limit capability > + * @type: it's set via power in 0.25dbm or other types > + * @num_freq_ranges: number of frequency ranges > + * @chan_ranges: memory to hold the channel ranges. > + */ > +struct cfg80211_sar_capa { > + enum nl80211_sar_type type; > + u8 num_freq_ranges; > + const struct cfg80211_sar_freq_ranges *freq_ranges; > +}; ... > u8 max_data_retry_count; > > + const struct cfg80211_sar_capa *sar_capa; > + > char priv[] __aligned(NETDEV_ALIGN); > }; 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? What if, for instance, ath10k grows a new set of subbands, supporting sub-sections of the 5GHz band -- does it still need to support both a contiguous [5, 5 + X] and a split [5, 5 + X/2], [5 + X/2, 5 + X]? Basically, do we intend to put the burden on user space to figure out how to map its power tables to the supported frequency band(s), or on the kernel, to support a backwards-compatible set of frequency ranges? The latter doesn't really work if you expect user space to always specify all ranges in a SET command. To be clear, I'm not as worried about differences between chips or drivers (I expect that different driver or chips may have different range support); just about stability for a given chip. Brian