* [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides
@ 2025-05-22 1:34 Miaoqing Pan
2025-05-22 1:34 ` [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property Miaoqing Pan
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Miaoqing Pan @ 2025-05-22 1:34 UTC (permalink / raw)
To: jjohnson, johannes, robh, krzk+dt, conor+dt
Cc: ath11k, linux-wireless, linux-kernel, devicetree, Miaoqing Pan
Introduce 'firmware-name' property to allow end-users and/or integrators to
decide which usecase-specific firmware to run on the WCN6855.
Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com>
Miaoqing Pan (2):
dt-bindings: net: wireless: ath11k-pci: describe firmware-name
property
wifi: ath11k: support usercase-specific firmware overrides
.../bindings/net/wireless/qcom,ath11k-pci.yaml | 6 ++++++
drivers/net/wireless/ath/ath11k/core.h | 13 +++++++++++--
2 files changed, 17 insertions(+), 2 deletions(-)
base-commit: db5a2f8ef8d4be926d29ed62182d003110c1a6ca
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property 2025-05-22 1:34 [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan @ 2025-05-22 1:34 ` Miaoqing Pan 2025-05-22 15:21 ` Conor Dooley 2025-05-22 1:34 ` [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan 2025-06-26 23:15 ` [PATCH ath-next 0/2] " Jeff Johnson 2 siblings, 1 reply; 6+ messages in thread From: Miaoqing Pan @ 2025-05-22 1:34 UTC (permalink / raw) To: jjohnson, johannes, robh, krzk+dt, conor+dt Cc: ath11k, linux-wireless, linux-kernel, devicetree, Miaoqing Pan Introduce 'firmware-name' property to allow end-users and/or integrators to decide which usecase-specific firmware to run on the WCN6855. This is necessary due to resource limitations such as memory capacity and CPU capability, or performance and power optimization for different application scenarios. Two firmwares are supported: 'WCN6855/hw2.0' and 'WCN6855/hw2.0/nfa765'. The former is the default firmware, suitable for most WiFi 6 STA functions. The latter adds support for commercial-quality SAP and optimizes power consumption for IoT applications. Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> --- .../devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml index 653b319fee88..e34d42a30192 100644 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml @@ -35,6 +35,12 @@ properties: string to uniquely identify variant of the calibration data for designs with colliding bus and device ids + firmware-name: + maxItems: 1 + description: + If present, a board or platform specific string used to lookup + usecase-specific firmware files for the device. + vddrfacmn-supply: description: VDD_RFA_CMN supply regulator handle -- 2.34.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property 2025-05-22 1:34 ` [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property Miaoqing Pan @ 2025-05-22 15:21 ` Conor Dooley 0 siblings, 0 replies; 6+ messages in thread From: Conor Dooley @ 2025-05-22 15:21 UTC (permalink / raw) To: Miaoqing Pan Cc: jjohnson, johannes, robh, krzk+dt, conor+dt, ath11k, linux-wireless, linux-kernel, devicetree [-- Attachment #1: Type: text/plain, Size: 775 bytes --] On Thu, May 22, 2025 at 09:34:43AM +0800, Miaoqing Pan wrote: > Introduce 'firmware-name' property to allow end-users and/or integrators > to decide which usecase-specific firmware to run on the WCN6855. This is > necessary due to resource limitations such as memory capacity and > CPU capability, or performance and power optimization for different > application scenarios. > > Two firmwares are supported: 'WCN6855/hw2.0' and 'WCN6855/hw2.0/nfa765'. > The former is the default firmware, suitable for most WiFi 6 STA > functions. The latter adds support for commercial-quality SAP and > optimizes power consumption for IoT applications. > > Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides 2025-05-22 1:34 [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan 2025-05-22 1:34 ` [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property Miaoqing Pan @ 2025-05-22 1:34 ` Miaoqing Pan 2025-06-10 3:02 ` Baochen Qiang 2025-06-26 23:15 ` [PATCH ath-next 0/2] " Jeff Johnson 2 siblings, 1 reply; 6+ messages in thread From: Miaoqing Pan @ 2025-05-22 1:34 UTC (permalink / raw) To: jjohnson, johannes, robh, krzk+dt, conor+dt Cc: ath11k, linux-wireless, linux-kernel, devicetree, Miaoqing Pan Introduce 'firmware-name' property to allow end-users and/or integrators to decide which usecase-specific firmware to run on the WCN6855. This is necessary due to resource limitations such as memory capacity and CPU capability, or performance and power optimization for different application scenarios. Currently, there are two firmwares, both files can be executed interchangeably. For example: - ath11k/WCN6855/hw2.0/amss.bin, ath11k/WCN6855/hw2.0/m3.bin ath11k/WCN6855/hw2.0/board-2.bin - ath11k/WCN6855/hw2.0/nfa765/amss.bin, ath11k/WCN6855/hw2.0/nfa765/m3.bin ath11k/WCN6855/hw2.0/board-2.bin The former is the default firmware, suitable for most WiFi 6 STA functions. The latter adds support for commercial-quality SAP and optimizes power consumption for IoT applications. And both use the same BDF/regdb data within the main board-2.bin. Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1 Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> --- drivers/net/wireless/ath/ath11k/core.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h index 339d4fca1ed5..67b3b6d898fa 100644 --- a/drivers/net/wireless/ath/ath11k/core.h +++ b/drivers/net/wireless/ath/ath11k/core.h @@ -17,6 +17,7 @@ #include <linux/average.h> #include <linux/firmware.h> #include <linux/suspend.h> +#include <linux/of.h> #include "qmi.h" #include "htc.h" @@ -1320,8 +1321,16 @@ static inline void ath11k_core_create_firmware_path(struct ath11k_base *ab, const char *filename, void *buf, size_t buf_len) { - snprintf(buf, buf_len, "%s/%s/%s", ATH11K_FW_DIR, - ab->hw_params.fw.dir, filename); + const char *fw_name = NULL; + + of_property_read_string(ab->dev->of_node, "firmware-name", &fw_name); + + if (fw_name && strncmp(filename, "board", 5)) + snprintf(buf, buf_len, "%s/%s/%s/%s", ATH11K_FW_DIR, + ab->hw_params.fw.dir, fw_name, filename); + else + snprintf(buf, buf_len, "%s/%s/%s", ATH11K_FW_DIR, + ab->hw_params.fw.dir, filename); } static inline const char *ath11k_bus_str(enum ath11k_bus bus) -- 2.34.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides 2025-05-22 1:34 ` [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan @ 2025-06-10 3:02 ` Baochen Qiang 0 siblings, 0 replies; 6+ messages in thread From: Baochen Qiang @ 2025-06-10 3:02 UTC (permalink / raw) To: Miaoqing Pan, jjohnson, johannes, robh, krzk+dt, conor+dt Cc: ath11k, linux-wireless, linux-kernel, devicetree On 5/22/2025 9:34 AM, Miaoqing Pan wrote: > Introduce 'firmware-name' property to allow end-users and/or integrators to > decide which usecase-specific firmware to run on the WCN6855. This is > necessary due to resource limitations such as memory capacity and CPU > capability, or performance and power optimization for different application > scenarios. > > Currently, there are two firmwares, both files can be executed > interchangeably. > For example: > > - ath11k/WCN6855/hw2.0/amss.bin, > ath11k/WCN6855/hw2.0/m3.bin > ath11k/WCN6855/hw2.0/board-2.bin > > - ath11k/WCN6855/hw2.0/nfa765/amss.bin, > ath11k/WCN6855/hw2.0/nfa765/m3.bin > ath11k/WCN6855/hw2.0/board-2.bin > > The former is the default firmware, suitable for most WiFi 6 STA functions. > The latter adds support for commercial-quality SAP and optimizes power > consumption for IoT applications. And both use the same BDF/regdb data > within the main board-2.bin. > > Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1 > > Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> > --- > drivers/net/wireless/ath/ath11k/core.h | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h > index 339d4fca1ed5..67b3b6d898fa 100644 > --- a/drivers/net/wireless/ath/ath11k/core.h > +++ b/drivers/net/wireless/ath/ath11k/core.h > @@ -17,6 +17,7 @@ > #include <linux/average.h> > #include <linux/firmware.h> > #include <linux/suspend.h> > +#include <linux/of.h> > > #include "qmi.h" > #include "htc.h" > @@ -1320,8 +1321,16 @@ static inline void ath11k_core_create_firmware_path(struct ath11k_base *ab, > const char *filename, > void *buf, size_t buf_len) > { > - snprintf(buf, buf_len, "%s/%s/%s", ATH11K_FW_DIR, > - ab->hw_params.fw.dir, filename); > + const char *fw_name = NULL; > + > + of_property_read_string(ab->dev->of_node, "firmware-name", &fw_name); > + > + if (fw_name && strncmp(filename, "board", 5)) > + snprintf(buf, buf_len, "%s/%s/%s/%s", ATH11K_FW_DIR, > + ab->hw_params.fw.dir, fw_name, filename); > + else > + snprintf(buf, buf_len, "%s/%s/%s", ATH11K_FW_DIR, > + ab->hw_params.fw.dir, filename); > } > > static inline const char *ath11k_bus_str(enum ath11k_bus bus) Reviewed-by: Baochen Qiang <quic_bqiang@quicinc.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides 2025-05-22 1:34 [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan 2025-05-22 1:34 ` [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property Miaoqing Pan 2025-05-22 1:34 ` [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan @ 2025-06-26 23:15 ` Jeff Johnson 2 siblings, 0 replies; 6+ messages in thread From: Jeff Johnson @ 2025-06-26 23:15 UTC (permalink / raw) To: jjohnson, johannes, robh, krzk+dt, conor+dt, Miaoqing Pan Cc: ath11k, linux-wireless, linux-kernel, devicetree On Thu, 22 May 2025 09:34:42 +0800, Miaoqing Pan wrote: > Introduce 'firmware-name' property to allow end-users and/or integrators to > decide which usecase-specific firmware to run on the WCN6855. > > Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> > > Miaoqing Pan (2): > dt-bindings: net: wireless: ath11k-pci: describe firmware-name > property > wifi: ath11k: support usercase-specific firmware overrides > > [...] Applied, thanks! [1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property commit: 02dcb6921b8827782e51e26593d4a2866576ab63 [2/2] wifi: ath11k: support usercase-specific firmware overrides commit: edbbc647c4f36e8a6375d07ecb5aad8e8b90de5e Best regards, -- Jeff Johnson <jeff.johnson@oss.qualcomm.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-06-26 23:15 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-05-22 1:34 [PATCH ath-next 0/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan 2025-05-22 1:34 ` [PATCH ath-next 1/2] dt-bindings: net: wireless: ath11k-pci: describe firmware-name property Miaoqing Pan 2025-05-22 15:21 ` Conor Dooley 2025-05-22 1:34 ` [PATCH ath-next 2/2] wifi: ath11k: support usercase-specific firmware overrides Miaoqing Pan 2025-06-10 3:02 ` Baochen Qiang 2025-06-26 23:15 ` [PATCH ath-next 0/2] " Jeff Johnson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox