From: Krzysztof Kozlowski <krzk@kernel.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,
Jeff Johnson <jjohnson@kernel.org>,
Johannes Berg <johannes@sipsolutions.net>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
ath10k@lists.infradead.org, ath11k@lists.infradead.org,
devicetree@vger.kernel.org, ath12k@lists.infradead.org,
Miaoqing Pan <miaoqing.pan@oss.qualcomm.com>
Subject: Re: [PATCH 1/2] wifi: ath: Use static calibration variant table for devicetree platforms
Date: Fri, 14 Nov 2025 11:45:30 +0100 [thread overview]
Message-ID: <3a951821-14b1-464e-b1da-05a95f4164af@kernel.org> (raw)
In-Reply-To: <20251114-ath-variant-tbl-v1-1-a9adfc49e3f3@oss.qualcomm.com>
On 14/11/2025 11:22, Manivannan Sadhasivam wrote:
> On devicetree platforms, ath{10k/11k} drivers rely on the presence of the
> 'qcom,*calibration-variant' property to select the correct calibration data
> for device variants with colliding IDs.
>
> But this property based selection has its own downside that it needs to be
> added to the devicetree node of the WLAN device, especially for PCI based
> devices. Currently, the users/vendors are forced to hardcode this property
> in the PCI device node. If a different device need to be attached to the
> slot, then the devicetree node also has to be changed. This approach is not
> scalable and creates a bad user experience.
>
> To get rid of this requirement, this commit introduces a static calibration
> variant table ath_calib_variant_table[], consisting of the platform model
> and the calibration variant for all upstream supported devices. The entries
> of this table are derived from the upstream DTS files.
>
> The newly introduced helper, ath_get_calib_variant() will parse the model
> name from devicetree and use it to do the variant lookup during runtime. If
> the platform model name doesn't match, it will fallback to the devicetree
> property based lookup.
>
> Going forward, the devicetree based lookup will be deprecated and this
> table will be used exclusively for devices connected to the devicetree
> based host platforms.
>
> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.2.0.c2-00204-QCAMSLSWPLZ-1
>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath.h | 98 ++++++++++++++++++++++++++++++++++
> drivers/net/wireless/ath/ath10k/core.c | 5 ++
> drivers/net/wireless/ath/ath11k/core.c | 7 +++
> 3 files changed, 110 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index 34654f710d8a1e63f65a47d4602e2035262a4d9e..d0a12151b7fc13355161c48ba1fb200e4617ed11 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -21,6 +21,7 @@
> #include <linux/skbuff.h>
> #include <linux/if_ether.h>
> #include <linux/spinlock.h>
> +#include <linux/of.h>
> #include <net/mac80211.h>
>
> /*
> @@ -336,4 +337,101 @@ static inline const char *ath_bus_type_to_string(enum ath_bus_type bustype)
> return ath_bus_type_strings[bustype];
> }
>
> +static const struct __ath_calib_variant_table {
> + const char *machine;
> + const char *variant;
> +} ath_calib_variant_table[] = {
> + { "ALFA Network AP120C-AC", "ALFA-Network-AP120C-AC" },
> + { "8devices Jalapeno", "8devices-Jalapeno" },
> + { "Google cozmo board", "GO_COZMO" },
> + { "Google damu board", "GO_DAMU" },
> + { "Google fennel sku1 board", "GO_FENNEL" },
> + { "Google fennel sku6 board", "GO_FENNEL" },
> + { "Google fennel sku7 board", "GO_FENNEL" },
Are these top-machine models? If so, you cannot use them. The value is
user-informative, not ABI. If you wanted to use them, you would need to
document the ABI.
Just use compatible, that's the entire point of compatible.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-11-14 10:45 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-14 10:22 [PATCH 0/2] wifi: ath: Use static calibration variant table for devicetree platforms Manivannan Sadhasivam
2025-11-14 10:22 ` [PATCH 1/2] " Manivannan Sadhasivam
2025-11-14 10:45 ` Krzysztof Kozlowski [this message]
2025-11-14 11:16 ` Manivannan Sadhasivam
2025-11-14 11:24 ` Krzysztof Kozlowski
2025-11-14 11:44 ` Srinivas Kandagatla
2025-11-14 11:48 ` Krzysztof Kozlowski
2025-11-15 9:51 ` kernel test robot
2025-11-14 10:22 ` [PATCH 2/2] dt-bindings: wireless: ath: Deprecate 'qcom,calibration-variant' property Manivannan Sadhasivam
2025-11-14 10:47 ` Krzysztof Kozlowski
2025-11-14 11:02 ` Manivannan Sadhasivam
2025-11-14 11:04 ` Krzysztof Kozlowski
2025-11-14 11:18 ` Manivannan Sadhasivam
2025-11-14 17:29 ` Jeff Johnson
2025-11-17 9:03 ` Manivannan Sadhasivam
2025-11-17 2:36 ` [PATCH 0/2] wifi: ath: Use static calibration variant table for devicetree platforms Baochen Qiang
2025-11-17 9:00 ` Manivannan Sadhasivam
2025-11-17 9:40 ` Baochen Qiang
2025-11-17 12:45 ` Manivannan Sadhasivam
2025-11-17 17:13 ` Jeff Johnson
2025-11-18 6:53 ` Manivannan Sadhasivam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3a951821-14b1-464e-b1da-05a95f4164af@kernel.org \
--to=krzk@kernel.org \
--cc=ath10k@lists.infradead.org \
--cc=ath11k@lists.infradead.org \
--cc=ath12k@lists.infradead.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jjohnson@kernel.org \
--cc=johannes@sipsolutions.net \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=manivannan.sadhasivam@oss.qualcomm.com \
--cc=miaoqing.pan@oss.qualcomm.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).