[PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible

Miaoqing Pan posted 2 patches 2 weeks, 3 days ago
.../net/wireless/qcom,ath11k-pci.yaml         |  1 +
drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
drivers/net/wireless/ath/ath11k/core.h        |  4 +++
3 files changed, 32 insertions(+)
[PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Miaoqing Pan 2 weeks, 3 days ago
The 'firmware-name' property was introduced to allow end-users and
integrators to select use-case-specific firmware for the WCN6855.
But for M.2 WLAN chips, there is no suitable DTS node to specify
the 'firmware-name' property. In addition, assigning firmware for
the M.2 PCIe interface causes chips that do not use use-case-specific
firmware to fail. Therefore, abandoning the approach of specifying
firmware in DTS. As an alternative, propose a static lookup table
mapping device compatible to firmware names.

---
v2:
- Drops `firmware-name` from completely.
- Updates the commit message to clearly state that the property is
  obsolete and the change is ABI-breaking but safe for upstream.
v3:
 - Deprecate 'firmware-name' property instead of obsolete.
 - Keep the ABI backwards compatible.
v4:
 - Use of_machine_is_compatible() to simplify the code.
 - Add back Acked-by tag. 
---

Miaoqing Pan (2):
  wifi: ath11k: add usecase firmware handling based on device compatible
  dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
    property

 .../net/wireless/qcom,ath11k-pci.yaml         |  1 +
 drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
 drivers/net/wireless/ath/ath11k/core.h        |  4 +++
 3 files changed, 32 insertions(+)


base-commit: d8e1f4a193101a72235416f189b01131a57e26e9
-- 
2.34.1
Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Jeff Johnson 1 week, 1 day ago
On Wed, 21 Jan 2026 17:50:53 +0800, Miaoqing Pan wrote:
> The 'firmware-name' property was introduced to allow end-users and
> integrators to select use-case-specific firmware for the WCN6855.
> But for M.2 WLAN chips, there is no suitable DTS node to specify
> the 'firmware-name' property. In addition, assigning firmware for
> the M.2 PCIe interface causes chips that do not use use-case-specific
> firmware to fail. Therefore, abandoning the approach of specifying
> firmware in DTS. As an alternative, propose a static lookup table
> mapping device compatible to firmware names.
> 
> [...]

Applied, thanks!

[1/2] wifi: ath11k: add usecase firmware handling based on device compatible
      commit: c386a2b1068910538e87ef1cf2fc938ebf7e218f
[2/2] dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name' property
      commit: adce4fa499611c1c6eaf19d6fb0305ec0731d06f

Best regards,
-- 
Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Jeff Johnson 1 week, 4 days ago
On 1/21/2026 1:50 AM, Miaoqing Pan wrote:
> The 'firmware-name' property was introduced to allow end-users and
> integrators to select use-case-specific firmware for the WCN6855.
> But for M.2 WLAN chips, there is no suitable DTS node to specify
> the 'firmware-name' property. In addition, assigning firmware for
> the M.2 PCIe interface causes chips that do not use use-case-specific
> firmware to fail. Therefore, abandoning the approach of specifying
> firmware in DTS. As an alternative, propose a static lookup table
> mapping device compatible to firmware names.
> 
> ---
> v2:
> - Drops `firmware-name` from completely.
> - Updates the commit message to clearly state that the property is
>   obsolete and the change is ABI-breaking but safe for upstream.
> v3:
>  - Deprecate 'firmware-name' property instead of obsolete.
>  - Keep the ABI backwards compatible.
> v4:
>  - Use of_machine_is_compatible() to simplify the code.
>  - Add back Acked-by tag. 
> ---
> 
> Miaoqing Pan (2):
>   wifi: ath11k: add usecase firmware handling based on device compatible
>   dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
>     property
> 
>  .../net/wireless/qcom,ath11k-pci.yaml         |  1 +
>  drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
>  drivers/net/wireless/ath/ath11k/core.h        |  4 +++
>  3 files changed, 32 insertions(+)
> 
> 
> base-commit: d8e1f4a193101a72235416f189b01131a57e26e9

Krzysztof,
Since you previously NAKed this series, can you confirm that your review
comments have been addressed?

Thanks!
/jeff
Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Krzysztof Kozlowski 1 week, 3 days ago
On 27/01/2026 18:31, Jeff Johnson wrote:
> On 1/21/2026 1:50 AM, Miaoqing Pan wrote:
>> The 'firmware-name' property was introduced to allow end-users and
>> integrators to select use-case-specific firmware for the WCN6855.
>> But for M.2 WLAN chips, there is no suitable DTS node to specify
>> the 'firmware-name' property. In addition, assigning firmware for
>> the M.2 PCIe interface causes chips that do not use use-case-specific
>> firmware to fail. Therefore, abandoning the approach of specifying
>> firmware in DTS. As an alternative, propose a static lookup table
>> mapping device compatible to firmware names.
>>
>> ---
>> v2:
>> - Drops `firmware-name` from completely.
>> - Updates the commit message to clearly state that the property is
>>   obsolete and the change is ABI-breaking but safe for upstream.
>> v3:
>>  - Deprecate 'firmware-name' property instead of obsolete.
>>  - Keep the ABI backwards compatible.
>> v4:
>>  - Use of_machine_is_compatible() to simplify the code.
>>  - Add back Acked-by tag. 
>> ---
>>
>> Miaoqing Pan (2):
>>   wifi: ath11k: add usecase firmware handling based on device compatible
>>   dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
>>     property
>>
>>  .../net/wireless/qcom,ath11k-pci.yaml         |  1 +
>>  drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
>>  drivers/net/wireless/ath/ath11k/core.h        |  4 +++
>>  3 files changed, 32 insertions(+)
>>
>>
>> base-commit: d8e1f4a193101a72235416f189b01131a57e26e9
> 
> Krzysztof,
> Since you previously NAKed this series, can you confirm that your review
> comments have been addressed?


Binding looks fine, but I did not check the driver.

Best regards,
Krzysztof
Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Jeff Johnson 1 week, 3 days ago
On 1/28/2026 12:01 AM, Krzysztof Kozlowski wrote:
> On 27/01/2026 18:31, Jeff Johnson wrote:
>> On 1/21/2026 1:50 AM, Miaoqing Pan wrote:
>>> The 'firmware-name' property was introduced to allow end-users and
>>> integrators to select use-case-specific firmware for the WCN6855.
>>> But for M.2 WLAN chips, there is no suitable DTS node to specify
>>> the 'firmware-name' property. In addition, assigning firmware for
>>> the M.2 PCIe interface causes chips that do not use use-case-specific
>>> firmware to fail. Therefore, abandoning the approach of specifying
>>> firmware in DTS. As an alternative, propose a static lookup table
>>> mapping device compatible to firmware names.
>>>
>>> ---
>>> v2:
>>> - Drops `firmware-name` from completely.
>>> - Updates the commit message to clearly state that the property is
>>>   obsolete and the change is ABI-breaking but safe for upstream.
>>> v3:
>>>  - Deprecate 'firmware-name' property instead of obsolete.
>>>  - Keep the ABI backwards compatible.
>>> v4:
>>>  - Use of_machine_is_compatible() to simplify the code.
>>>  - Add back Acked-by tag. 
>>> ---
>>>
>>> Miaoqing Pan (2):
>>>   wifi: ath11k: add usecase firmware handling based on device compatible
>>>   dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
>>>     property
>>>
>>>  .../net/wireless/qcom,ath11k-pci.yaml         |  1 +
>>>  drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
>>>  drivers/net/wireless/ath/ath11k/core.h        |  4 +++
>>>  3 files changed, 32 insertions(+)
>>>
>>>
>>> base-commit: d8e1f4a193101a72235416f189b01131a57e26e9
>>
>> Krzysztof,
>> Since you previously NAKed this series, can you confirm that your review
>> comments have been addressed?
> 
> 
> Binding looks fine, but I did not check the driver.

Thanks Krzysztof for your re-review.

Although tagged for ath-current, we are too far in the v6.19 release cycle for
this, so I'll be taking it through ath-next for the v7.0 merge window.

/jeff
Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
Posted by Miaoqing Pan 1 week, 3 days ago

On 1/28/2026 4:01 PM, Krzysztof Kozlowski wrote:
> On 27/01/2026 18:31, Jeff Johnson wrote:
>> On 1/21/2026 1:50 AM, Miaoqing Pan wrote:
>>> The 'firmware-name' property was introduced to allow end-users and
>>> integrators to select use-case-specific firmware for the WCN6855.
>>> But for M.2 WLAN chips, there is no suitable DTS node to specify
>>> the 'firmware-name' property. In addition, assigning firmware for
>>> the M.2 PCIe interface causes chips that do not use use-case-specific
>>> firmware to fail. Therefore, abandoning the approach of specifying
>>> firmware in DTS. As an alternative, propose a static lookup table
>>> mapping device compatible to firmware names.
>>>
>>> ---
>>> v2:
>>> - Drops `firmware-name` from completely.
>>> - Updates the commit message to clearly state that the property is
>>>    obsolete and the change is ABI-breaking but safe for upstream.
>>> v3:
>>>   - Deprecate 'firmware-name' property instead of obsolete.
>>>   - Keep the ABI backwards compatible.
>>> v4:
>>>   - Use of_machine_is_compatible() to simplify the code.
>>>   - Add back Acked-by tag.
>>> ---
>>>
>>> Miaoqing Pan (2):
>>>    wifi: ath11k: add usecase firmware handling based on device compatible
>>>    dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
>>>      property
>>>
>>>   .../net/wireless/qcom,ath11k-pci.yaml         |  1 +
>>>   drivers/net/wireless/ath/ath11k/core.c        | 27 +++++++++++++++++++
>>>   drivers/net/wireless/ath/ath11k/core.h        |  4 +++
>>>   3 files changed, 32 insertions(+)
>>>
>>>
>>> base-commit: d8e1f4a193101a72235416f189b01131a57e26e9
>>
>> Krzysztof,
>> Since you previously NAKed this series, can you confirm that your review
>> comments have been addressed?
> 
> 
> Binding looks fine, but I did not check the driver.
> 
> Best regards,
> Krzysztof

The driver has retained compatibility with the firmware-name.

static inline const char *ath11k_scan_state_str(enum ath11k_scan_state 
state)
  {
@@ -1346,6 +1347,9 @@ static inline void 
ath11k_core_create_firmware_path(struct ath11k_base *ab,

  	of_property_read_string(ab->dev->of_node, "firmware-name", &fw_name); 
//here

+	if (!fw_name)
+		fw_name = ath11k_core_get_usecase_firmware(ab);
+