wifi: ath11k: Fix QCN9074 firmware boot on x86
authorTyler J. Stachecki <stachecki.tyler@gmail.com>
Wed, 2 Nov 2022 16:56:39 +0000 (18:56 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 2 Nov 2022 17:14:06 +0000 (19:14 +0200)
The 2.7.0 series of QCN9074's firmware requests 5 segments
of memory instead of 3 (as in the 2.5.0 series).

The first segment (11M) is too large to be kalloc'd in one
go on x86 and requires piecemeal 1MB allocations, as was
the case with the prior public firmware (2.5.0, 15M).

Since f6f92968e1e5, ath11k will break the memory requests,
but only if there were fewer than 3 segments requested by
the firmware. It seems that 5 segments works fine and
allows QCN9074 to boot on x86 with firmware 2.7.0, so
change things accordingly.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.16

Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20221022042728.43015-1-stachecki.tyler@gmail.com
drivers/net/wireless/ath/ath11k/qmi.h

index 2ec56a3..0909d53 100644 (file)
@@ -27,7 +27,7 @@
 #define ATH11K_QMI_WLANFW_MAX_NUM_MEM_SEG_V01  52
 #define ATH11K_QMI_CALDB_SIZE                  0x480000
 #define ATH11K_QMI_BDF_EXT_STR_LENGTH          0x20
-#define ATH11K_QMI_FW_MEM_REQ_SEGMENT_CNT      3
+#define ATH11K_QMI_FW_MEM_REQ_SEGMENT_CNT      5
 
 #define QMI_WLFW_REQUEST_MEM_IND_V01           0x0035
 #define QMI_WLFW_FW_MEM_READY_IND_V01          0x0037