From 1d49e7ac3ff6a24f29650fe679cfbd9924a10f8b Mon Sep 17 00:00:00 2001 From: yunjie Date: Fri, 18 Oct 2024 10:36:06 +0000 Subject: [PATCH] MA-22959 [Android-15.0] WCS Q4 release patch integrate Reason: integrate WCS Q4 CF patch, WiFi driver MM6X18505.p1 Tested: 8MP/8MQ/8MM/8ulp/95 related FW version: PCIE_UART_8997_16.92.21.p137.3 PCIE_UART_9098_17.92.1.p149.50 SDIO_UART_8987_16.92.21.p142 SDIO_UART_8997_16.92.21.p137.3 SDIO_UART_9098_17.92.1.p149.50 SDIO_UART_IW416_16.92.21.p142 SDIO_UART_IW610_18.25.5.p35 SDIO_UART_IW612_18.99.3.p21.4 SDIO_WLAN_8801_14.92.36.p194 Change-Id: I6bd0f77d598739e4829a6d7b2a3db58b663b59b4 Signed-off-by: yunjie --- Makefile | 11 +- README | 238 ++++-- mlan/mlan_11ax.c | 50 +- mlan/mlan_11d.c | 13 +- mlan/mlan_11h.c | 5 +- mlan/mlan_11h.h | 2 +- mlan/mlan_11n.c | 17 +- mlan/mlan_11n.h | 21 +- mlan/mlan_11n_aggr.c | 29 +- mlan/mlan_cfp.c | 316 ++++---- mlan/mlan_cmdevt.c | 609 +++++++++++++- mlan/mlan_decl.h | 51 +- mlan/mlan_event_ids.h | 4 + mlan/mlan_fw.h | 219 +++++- mlan/mlan_hostcmd_ids.h | 15 + mlan/mlan_ieee.h | 56 +- mlan/mlan_init.c | 76 +- mlan/mlan_ioctl.h | 148 +++- mlan/mlan_main.h | 245 +++++- mlan/mlan_misc.c | 540 +++++++++++-- mlan/mlan_pcie.c | 149 +++- mlan/mlan_pcie.h | 10 + mlan/mlan_scan.c | 1453 ++++++++++++++++++++++++++++------ mlan/mlan_sdio.c | 58 +- mlan/mlan_shim.c | 68 +- mlan/mlan_sta_cmd.c | 122 ++- mlan/mlan_sta_cmdresp.c | 108 ++- mlan/mlan_sta_event.c | 17 +- mlan/mlan_sta_ioctl.c | 175 ++++- mlan/mlan_sta_rx.c | 56 +- mlan/mlan_tlv_ids.h | 5 +- mlan/mlan_uap_cmdevent.c | 124 ++- mlan/mlan_uap_ioctl.c | 11 +- mlan/mlan_usb.c | 55 +- mlan/mlan_util.h | 178 ++++- mlan/mlan_wmm.c | 1484 ++++++++++++++++++++++++++++++++++- mlan/mlan_wmm.h | 16 + mlinux/mlan_decl.h | 51 +- mlinux/mlan_ieee.h | 56 +- mlinux/mlan_ioctl.h | 148 +++- mlinux/moal_cfg80211.c | 359 +++++++-- mlinux/moal_cfg80211.h | 2 + mlinux/moal_cfg80211_util.c | 689 ++++++++++++++++ mlinux/moal_cfg80211_util.h | 3 + mlinux/moal_eth_ioctl.c | 648 +++++++++++++-- mlinux/moal_eth_ioctl.h | 4 + mlinux/moal_init.c | 217 ++++- mlinux/moal_ioctl.c | 144 +++- mlinux/moal_main.c | 411 ++++++++-- mlinux/moal_main.h | 99 ++- mlinux/moal_pcie.c | 109 ++- mlinux/moal_pcie.h | 5 + mlinux/moal_priv.c | 107 ++- mlinux/moal_priv.h | 2 + mlinux/moal_proc.c | 44 +- mlinux/moal_sdio.h | 31 +- mlinux/moal_sdio_mmc.c | 420 +++++++++- mlinux/moal_shim.c | 117 ++- mlinux/moal_shim.h | 1 + mlinux/moal_sta_cfg80211.c | 328 +++++++- mlinux/moal_sta_cfg80211.h | 2 +- mlinux/moal_uap.c | 28 +- mlinux/moal_uap.h | 5 + mlinux/moal_uap_cfg80211.c | 86 ++ mlinux/moal_usb.c | 88 ++- mlinux/moal_usb.h | 26 +- mlinux/moal_wext.c | 5 +- 67 files changed, 9696 insertions(+), 1293 deletions(-) diff --git a/Makefile b/Makefile index 2e0a5a2..92dda33 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,7 @@ APPDIR= $(shell if test -d "mapp"; then echo mapp; fi) ############################################################################# ccflags-y += -I$(KERNELDIR)/include - ccflags-y += -DMLAN_RELEASE_VERSION='"437.p30"' + ccflags-y += -DMLAN_RELEASE_VERSION='"505.p1"' ccflags-y += -DFPNUM='"92"' @@ -272,6 +272,10 @@ ifeq ($(CONFIG_SD9097),y) CONFIG_SDIO=y ccflags-y += -DSD9097 endif +ifeq ($(CONFIG_SDIW610),y) + CONFIG_SDIO=y + ccflags-y += -DSDIW610 +endif ifeq ($(CONFIG_SDIW624),y) CONFIG_SDIO=y ccflags-y += -DSDIW624 @@ -312,6 +316,10 @@ ifeq ($(CONFIG_USB9097),y) CONFIG_MUSB=y ccflags-y += -DUSB9097 endif +ifeq ($(CONFIG_USBIW610),y) + CONFIG_MUSB=y + ccflags-y += -DUSBIW610 +endif ifeq ($(CONFIG_USBIW624),y) CONFIG_MUSB=y ccflags-y += -DUSBIW624 @@ -505,6 +513,7 @@ endif + MOALOBJS = mlinux/moal_main.o \ mlinux/moal_ioctl.o \ mlinux/moal_shim.o \ diff --git a/README b/README index f523914..9aea77f 100755 --- a/README +++ b/README @@ -3,7 +3,7 @@ =============================================================================== U S E R M A N U A L - Copyright 2008-2023 NXP + Copyright 2008-2024 NXP 1) FOR DRIVER BUILD @@ -11,7 +11,7 @@ Goto source code directory wlan_src/. make [clean] build The driver and utility binaries can be found in ../bin_xxxx directory. - The driver code supports Linux kernel from 2.6.32 to 6.9.0. + The driver code supports Linux kernel from 2.6.32 to 6.9.10. 2) FOR DRIVER INSTALL @@ -46,6 +46,21 @@ rmmod moal rmmod mlan + pref_dbc + This load time parameter is used to config preferred DBC mode and takes effect when dmcs is enabled + This parameter only used for AW693(BB) + + Usage: + pref_dbc=[value] + insmod mlan.ko; insmod pcieaw693.ko fw_name=aw693w.bin dmcs=1 pref_dbc=1 + : default preferred DBC mode + : Enable preferred DBC mode + : Disable preferred DBC mode + + Example : + insmod mlan.ko; insmod pcieaw693.ko fw_name=aw693w.bin dmcs=1 pref_dbc=1 : Enable preferred DBC mode + insmod mlan.ko; insmod pcieaw693.ko fw_name=aw693w.bin dmcs=1 pref_dbc=2 : Disable preferred DBC mode + To load driver with MFG firmware file, use mfg_mode=1 when insmod WLAN driver and specify MFG firmware name if needed. @@ -53,82 +68,90 @@ This parameter only used for 9177(FC) There are some other parameters for debugging purpose etc. Use modinfo to check details. - drvdbg= - dev_cap_mask= - This load parameter is uses to configure device features support - Usage: - dev_cap_mask= - : Represents features supported - : Indicates support for 11AX - : Indicates support for 6G - Example: - To disable 11AX and 6G support: dev_cap_mask=0xfffcffff - mac_addr=xx:xx:xx:xx:xx:xx - auto_ds=0|1|2 - ext_scan=0|1|2 - net_rx=0|1 - amsdu_deaggr=0|1 + drvdbg= + dev_cap_mask= + This load parameter is uses to configure device features support + Usage: + dev_cap_mask= + : Represents features supported + : Indicates support for 11AX + : Indicates support for 6G + Example: + To disable 11AX and 6G support: dev_cap_mask=0xfffcffff - bootup_cal_ctrl=0|1 - ps_mode=0|1|2 - sched_scan=0|1 - max_tx_buf=2048|4096|8192 - pm_keep_power=1|0 - shutdown_hs=1|0 - cfg_11d=0|1|2 - dts_enable=0|1 - fw_name = + mac_addr=xx:xx:xx:xx:xx:xx + auto_ds=0|1|2 + ext_scan=0|1|2 + p2a_scan=0|1|2 + scan_chan_gap=x