Re: [PATCH 0/2] wifi: ath: Use static calibration variant table for devicetree platforms
Manivannan Sadhasivam <[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 | <jnggqxqv3rjzhyevovnnxzplfhl3t6auhhvmoz7wxmsf6awgdx@dusdgxwsxvts> |
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. 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. - 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, > -- மணிவண்ணன் சதாசிவம்