Re: [PATCH 0/2] wifi: ath: Use static calibration variant table for devicetree platforms
Baochen Qiang <[email protected]>
| Newsgroups | org.infradead.lists.ath11k,org.infradead.lists.ath10k,org.infradead.lists.ath12k,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
On 11/17/2025 5:00 PM, Manivannan Sadhasivam wrote: > On Mon, Nov 17, 2025 at 10:36:39AM +0800, Baochen Qiang wrote: >> >> >> On 11/14/2025 6:22 PM, Manivannan Sadhasivam wrote: >>> Hi, >>> >>> This series aims to deprecate the usage of "qcom,*calibration-variant" >>> devicetree property to select the calibration variant for the WLAN devices. This >>> is necessary for WLAN devices connected using PCI bus, as hardcoding the device >>> specific information in PCI devicetree node causes the node to be updated every >>> time when a new device variant is attached to the PCI slot. This approach is not >>> scalable and causes bad user experience. >> >> I am not very clear about the problem here: is calibration variant device/module specific, >> or platform specific? If it is module specific, why the lookup is based on the machine >> 'model' property? While if it is platform specific, why do we need to update devicetree >> node whenever a new device is attached? >> > > I think I mixed the usecase of the 'firmware-name' property in the above > description. > > But nevertheless, the calibration info platform specific, and hardcoding the DT > property fixes the location of the WLAN card with a specific slot. For instance, > if the board has a couple of M.2 slots, users should be free to plug the WLAN in > any slot, not just a single slot where the property was defined in DT. > > Also, if the users plug-in the WLAN card of another vendor, not Qcom, this > property is irrelevant/wrong. > > PCIe slots should be plug and play i.e., users should plug-in any M.2 card and > expect it to work. > correct > However, as I learned from Jeff, calibration variant property is also going to > be required in cases like router boards where each slot is dedicated to a fixed > band and the calibration variant is going to be different for each band for the > platform. So unlike I thought, this DT property cannot be deprecated. But going > forward, I'd like it to be used only in these special usecases. Most of the > upstream DTS have a single calibration variant for the platform and for those > generic usecases, this static table should be used. If that property is not going to be deprecated, should it take precedence? > > - Mani > >>> >>> So to avoid relying on the "qcom,*calibration-variant" property, this series >>> introduces a new static calibration variant table based lookup. 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. The >>> ath_calib_variant_table[] will hold all the model and calibration variant >>> entries for the supported devices. >>> >>> Going forward, new entries will be added to this table to support calibration >>> variants. >>> >>> Signed-off-by: Manivannan Sadhasivam <[email protected]> >>> --- >>> Manivannan Sadhasivam (2): >>> wifi: ath: Use static calibration variant table for devicetree platforms >>> dt-bindings: wireless: ath: Deprecate 'qcom,calibration-variant' property >>> >>> .../bindings/net/wireless/qcom,ath10k.yaml | 1 + >>> .../bindings/net/wireless/qcom,ath11k-pci.yaml | 3 +- >>> .../bindings/net/wireless/qcom,ath11k.yaml | 1 + >>> .../bindings/net/wireless/qcom,ath12k-wsi.yaml | 6 +- >>> .../bindings/net/wireless/qcom,ipq5332-wifi.yaml | 2 +- >>> drivers/net/wireless/ath/ath.h | 98 ++++++++++++++++++++++ >>> drivers/net/wireless/ath/ath10k/core.c | 5 ++ >>> drivers/net/wireless/ath/ath11k/core.c | 7 ++ >>> 8 files changed, 115 insertions(+), 8 deletions(-) >>> --- >>> base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787 >>> change-id: 20251114-ath-variant-tbl-22865456a527 >>> >>> Best regards, >> >