From bedbef8ad3e75a304af6361af235302bcc61d06b Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 14 May 2024 06:39:01 +0000
Subject: [PATCH] 修改内核路径

---
 kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/Makefile |  643 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 450 insertions(+), 193 deletions(-)

diff --git a/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/Makefile b/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/Makefile
index b1026e1..9f7cfea 100644
--- a/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/Makefile
+++ b/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/Makefile
@@ -1,92 +1,222 @@
-# SPDX-License-Identifier: GPL-2.0
-# cywdhd
-#################
-# Usage and porting guide for this Makefile
-#################
-# 1 Default to the module external build, that is, no need to copy the driver into the kernel source tree
-#  Build with:
-#       make KDIR=/path/to/your/kernel
-# 2 Default to x86 build: Build the x86 driver without any modification outside of kernel
-# 3 Just change the 'DHD_PLATFORM=imx' and the IMx OOB version can work!
-# 4 Copy DHD_PLATFORM=imx as the start point and create your own name
+# bcmdhd
+#
+# Portions of this code are copyright (c) 2022 Cypress Semiconductor Corporation
+#
+# Copyright (C) 1999-2017, Broadcom Corporation
+#
+#      Unless you and Broadcom execute a separate written software license
+# agreement governing use of this software, this software is licensed to you
+# under the terms of the GNU General Public License version 2 (the "GPL"),
+# available at http://www.broadcom.com/licenses/GPLv2.php, with the
+# following added to such license:
+#
+#      As a special exception, the copyright holders of this software give you
+# permission to link this software with independent modules, and to copy and
+# distribute the resulting executable under terms of your choice, provided that
+# you also meet, for each linked independent module, the terms and conditions of
+# the license of that module.  An independent module is a module which is not
+# derived from this software.  The special exception does not apply to any
+# modifications of the software.
+#
+#      Notwithstanding the above, under no circumstances may you combine this
+# software in any way with any other Broadcom software provided under a license
+# other than the GPL, without Broadcom's express prior written consent.
+#
+#
+# <<Broadcom-WL-IPTag/Open:>>
+#
 
 #####################
 # SDIO Basic feature
 #####################
+CONFIG_DHD_PLATFORM=Rockchip
+CONFIG_BCMDHD_OOB=y
+CONFIG_BCMDHD_SDIO=y
+CONFIG_BCMDHD_WPA3=y
+CONFIG_BCMDHD_SDMMC=y
+CONFIG_DHD_ANDROID_VTS=y
+CONFIG_BCMDHD=m
+
 
 DHDCFLAGS += -Wall -Wstrict-prototypes -Dlinux -DLINUX -DBCMDRIVER            \
 	-DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DBCMFILEIMAGE            \
-	-DSHOW_EVENTS -DBCMDBG -DWLP2P                                        \
+	-DDHDTHREAD -DSHOW_EVENTS -DBCMDBG -DWLP2P                            \
 	-DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT                                \
 	-DKEEP_ALIVE -DCSCAN -DPKT_FILTER_SUPPORT                             \
-	-DEMBEDDED_PLATFORM -DPNO_SUPPORT                                     \
-	-DCUSTOMER_HW2
-#	-DCUSTOMER_HW2 -DENABLE_INSMOD_NO_FW_LOAD -DGET_OTP_MAC_ENABLE
+	-DEMBEDDED_PLATFORM -DPNO_SUPPORT -DSHOW_LOGTRACE                     \
+	-DGET_CUSTOM_MAC_ENABLE      \
+	-DSEC_ENHANCEMENT -DDHD_FW_COREDUMP -DCHIPS_CUSTOMER_HW6	\
+	-DDHD_RND_DEBUG -DDHD_DUMP_FILE_WRITE_FROM_KERNEL		\
+	-DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT -DWL11AX
 
-#ifeq ($(CONFIG_SDIO_CIS_CYW43438)$(CONFIG_SDIO_CIS_CYW43012),)
-#DHDCFLAGS += -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT
-#endif
+GCCVERSIONGTEQ9 := $(shell expr `$(CROSS_COMPILE)gcc -dumpversion | cut -f1 -d.` \>= 9)
+ifeq "$(GCCVERSIONGTEQ9)" "1"
+    DHDCFLAGS += -Wno-error=date-time
+endif
+#DHDCFLAGS += $(call cc-disable-warning, date-time)
+#DHDCFLAGS += $(call cc-disable-warning, stringop-overflow)
+DHDCFLAGS += -Wno-implicit-function-declaration -Wno-incompatible-pointer-types
+DHDCFLAGS += -Wno-unused-const-variable -Wno-unused-function
 
 #################
 # Common feature
 #################
+DHDCFLAGS += -DAUTOMOTIVE_FEATURE
+DHDCFLAGS += -DWL_VIRTUAL_APSTA
+# Dongle init fail
+DHDCFLAGS += -DDEBUG_DNGL_INIT_FAIL
+DHDCFLAGS += -DPOWERUP_MAX_RETRY=0
+DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL
+
+# Wapi
+DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
+
+# Allow wl event forwarding as network packet
+DHDCFLAGS += -DWL_EVENT_ENAB
+
 DHDCFLAGS += -DWL_CFG80211
 # Print out kernel panic point of file and line info when assertion happened
 DHDCFLAGS += -DBCMASSERT_LOG
+
+# Enable Log Dump
+#DHDCFLAGS += -DDHD_LOG_DUMP
+DHDCFLAGS += -DOEM_ANDROID
+
+# Enable Register access via dhd IOVAR
+DHDCFLAGS += -DDHD_PCIE_REG_ACCESS -DDHD_BUS_MEM_ACCESS
+
+# CUSTOMER4 flags
+DHDCFLAGS += -DDHD_PKTID_AUDIT_ENABLED
+DHDCFLAGS += -DSUPPORT_HIDDEN_AP
+DHDCFLAGS += -DPASS_ALL_MCAST_PKTS -DESCAN_BUF_OVERFLOW_MGMT -DPKTPRIO_OVERRIDE
+DHDCFLAGS += -DUSE_INITIAL_SHORT_DWELL_TIME
+DHDCFLAGS += -DSOFTAP_UAPSD_OFF
+DHDCFLAGS += -DSUPPORT_LTECX -DSUPPORT_2G_VHT
+DHDCFLAGS += -DSUPPORT_WL_TXPOWER -DBLOCK_IPV6_PACKET -DSUPPORT_DEEP_SLEEP
+DHDCFLAGS += -DSUPPORT_AMPDU_MPDU_CMD -DSOFTAP_SEND_HANGEVT -DNUM_SCB_MAX_PROBE=3
+DHDCFLAGS += -DCUSTOM_TCPACK_DELAY_TIME=10
+DHDCFLAGS += -DDEBUGFS_CFG80211
+DHDCFLAGS += -DSUPPORT_SOFTAP_WPAWPA2_MIXED
+DHDCFLAGS += -DSUPPORT_2G_VHT -DSUPPORT_5G_1024QAM_VHT
+#DHDCFLAGS += -DEWP_ECNTRS_LOGGING
+#DHDCFLAGS += -DEWP_ETD_PRSRV_LOGS
+DHDCFLAGS += -DCFI_CHECK
+
+# Runtime PM feature
+# DHDCFLAGS += -DDHD_PCIE_RUNTIMEPM -DMAX_IDLE_COUNT=11 -DCUSTOM_DHD_RUNTIME_MS=100
+
+# DMA64 suppports on 64bit Architecture
+ifeq ($(CONFIG_ARM64),y)
+	DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS))
+	DHDCFLAGS += -DBCMDMA64OSL
+endif
+
+# DMA64 suppports on x64bit Architecture
+#ifeq ($(CONFIG_64BIT),y)
+#	DHDCFLAGS := $(filter-out -DBCMDMA32,$(DHDCFLAGS))
+#	DHDCFLAGS += -DBCMDMA64OSL
+#endif // endif
+
+## OOB
+ifeq ($(CONFIG_BCMDHD_OOB_HOST_WAKE),y)
+	DHDCFLAGS += -DBCMPCIE_OOB_HOST_WAKE
+endif
 
 # keepalive
 DHDCFLAGS += -DCUSTOM_KEEP_ALIVE_SETTING=28000
 
 DHDCFLAGS += -DVSDB
 
-# Fix __DATE__ & __TIME__ error on gcc version 4.9 or later
-GCCVERSION = $(shell $(CC) -dumpversion | cut -f1-2 -d.)
-ifeq ($(shell expr $(GCCVERSION) \>= 4.9),1)
-  DHDCFLAGS += -Wno-error=date-time
-endif
-
 # For p2p connection issue
 DHDCFLAGS += -DWL_SCB_TIMEOUT=10
 
 # TDLS enable
-DHDCFLAGS += -DWLTDLS
+DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
 # For TDLS tear down inactive time 40 sec
-DHDCFLAGS += -DCUSTOM_TDLS_IDLE_MODE_SETTING=40000
+DHDCFLAGS += -DCUSTOM_TDLS_IDLE_MODE_SETTING=10000
 # for TDLS RSSI HIGH for establishing TDLS link
-DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_HIGH=-60
+DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_HIGH=-80
 # for TDLS RSSI HIGH for tearing down TDLS link
-DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_LOW=-70
+DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_LOW=-85
 
-# Roaming/
+# Roaming
 DHDCFLAGS += -DROAM_AP_ENV_DETECTION
 DHDCFLAGS += -DROAM_ENABLE -DROAM_CHANNEL_CACHE -DROAM_API
 DHDCFLAGS += -DENABLE_FW_ROAM_SUSPEND
 # Roaming trigger
 DHDCFLAGS += -DCUSTOM_ROAM_TRIGGER_SETTING=-75
 DHDCFLAGS += -DCUSTOM_ROAM_DELTA_SETTING=10
-# Voice Enterprise
-DHDCFLAGS += -DWLFBT
 # Set PM 2 always regardless suspend/resume
 DHDCFLAGS += -DSUPPORT_PM2_ONLY
+
+# FT roam
+DHDCFLAGS += -DWLFBT -DGTK_OFFLOAD_SUPPORT
+DHDCFLAGS += -DBCMCCX
+DHDCFLAGS += -DWBTEXT
+DHDCFLAGS += -DDHD_LOSSLESS_ROAMING
+
+# Hog flags
+#DHDCFLAGS += -DENABLE_HOGSQS
+#ifeq ($(ENABLE_HOGSQS), y)
+#DHDCFLAGS += -DM_HOGSQS_CFG=0x1910
+#endif // endif
 
 # For special PNO Event keep wake lock for 10sec
 DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10
 DHDCFLAGS += -DMIRACAST_AMPDU_SIZE=8
-
+#Vendor Extension
+#DHDCFLAGS += -DWL_VENDOR_EXT_SUPPORT
 #Gscan
 DHDCFLAGS += -DGSCAN_SUPPORT
-#RTT
-DHDCFLAGS += -DRTT_SUPPORT -DRTT_DEBUG
-
+#PNO Scan Result Version
+DHDCFLAGS += -DPFN_SCANRESULT_2
+#RSSI Monitor
+DHDCFLAGS += -DRSSI_MONITOR_SUPPORT
+#APF
+DHDCFLAGS += -DAPF
+#NDOffload
+DHDCFLAGS += -DNDO_CONFIG_SUPPORT
+DHDCFLAGS += -DIPV6_NDO_SUPPORT
 
 #Link Statistics
 DHDCFLAGS += -DLINKSTAT_SUPPORT
+
+#Debugaility
+DHDCFLAGS += -DDBG_PKT_MON -DDBG_PKT_MON_INIT_DEFAULT
+DHDCFLAGS += -DWL_SCHED_SCAN
+DHDCFLAGS += -DDNGL_EVENT_SUPPORT
+
+#RSSI Monitor
+DHDCFLAGS += -DRSSI_MONITOR_SUPPORT
 
 # Early suspend
 DHDCFLAGS += -DDHD_USE_EARLYSUSPEND
 
 # For Scan result patch
 DHDCFLAGS += -DESCAN_RESULT_PATCH
+
+# NAN
+#DHDCFLAGS += -DWL_NAN -DWL_NAN_DISC_CACHE
+
+
+ifeq ($(CONFIG_DHD_PLATFORM), Rockchip)
+    DHDCFLAGS += -DCONFIG_DHD_PLAT_ROCKCHIP
+    DHDCFLAGS += -DWL_ENABLE_P2P_IF
+    DHDCFLAGS += -DDHD_FIRMWARE_DIR_PATH=\"/vendor/etc/firmware\"
+ifeq ($(CONFIG_BCMDHD_SDIO),y)
+    DHDCFLAGS += -DDHD_OF_SUPPORT
+    DHDCFLAGS += -DDHD_CUSTOM_PLAT_DATA
+#    DHDCFLAGS += -DDHD_SDIO_MEM_BUF
+#    DHDCFLAGS += -DANDROID_SDIO_RESET
+    DHDOFILES += dhd_custom_rockchip.o
+endif
+ifeq ($(CONFIG_BCMDHD_OOB),y)
+    DHDCFLAGS += -DOOB_INTR_ONLY -DCUSTOMER_OOB -DHW_OOB
+else
+    DHDCFLAGS += -DSDIO_ISR_THREAD
+endif
+endif
+
 
 # For Static Buffer
 ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y)
@@ -96,9 +226,6 @@
 ifneq ($(CONFIG_DHD_USE_SCHED_SCAN),)
 DHDCFLAGS += -DWL_SCHED_SCAN
 endif
-
-# Ioctl timeout 5000ms
-DHDCFLAGS += -DIOCTL_RESP_TIMEOUT=5000
 
 # Prevent rx thread monopolize
 DHDCFLAGS += -DWAIT_DEQUEUE
@@ -113,15 +240,61 @@
 DHDCFLAGS += -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST
 DHDCFLAGS += -DWL_CFG80211_STA_EVENT
 DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS
-DHDCFLAGS += -DWL_ENABLE_P2P_IF
+DHDCFLAGS += -DWL_SUPPORT_MULTIP2P
 #SCAN time
 DHDCFLAGS += -DCUSTOM_SET_SHORT_DWELL_TIME
 DHDCFLAGS += -DCUSTOM_FORCE_NODFS_FLAG
+ifeq ($(CONFIG_ANDROID),y)
+  DHDCFLAGS += -DKEEP_WIFION_OPTION
+  DHDCFLAGS += -Wno-date-time
 
+# To support android12 Wifi-HAL
+ifeq ($(CONFIG_ANDROID12),y)
+ DHDCFLAGS += -DANDROID12_SUPPORT
+endif
+
+# To support ACS on hostapd
+# DHDCFLAGS += -DWL_SUPPORT_ACS_OFFLOAD
+endif
 
 # SoftAP
 DHDCFLAGS += -DSET_RANDOM_MAC_SOFTAP
 DHDCFLAGS += -DWL_CFG80211_ACL
+ifeq ($(CONFIG_WL_AP_IF),y)
+  DHDCFLAGS += -DWL_STATIC_IF
+  DHDCFLAGS += -DDHD_NUM_STATIC_IFACES=2
+endif
+
+# QT support
+ifeq ($(CONFIG_QT), y)
+  DHDCFLAGS += -DBCMQT_HW -DBCMSLTGT -DBCMQT
+endif
+
+# Disable FRAMEBURST on VSDB
+DHDCFLAGS += -DDISABLE_FRAMEBURST_VSDB
+
+# WPS
+DHDCFLAGS += -DWL_WPS_SYNC -DBCMCRYPTO_COMPONENT
+
+#WPA3
+ifneq ($(CONFIG_BCMDHD_WPA3),)
+ DHDCFLAGS += -DWL_SAE
+endif
+
+ifneq ($(CONFIG_BCMDHD_PCIE),)
+DHDCFLAGS += -DDHD_4WAYM4_FAIL_DISCONNECT
+endif
+
+#6Ghz
+ifneq ($(CONFIG_BCMDHD_6E),)
+ DHDCFLAGS += -DWL_6E
+endif
+
+# Uncomment the below line for AP to receive disconnect management frame.
+# DHDCFLAGS += -DWL_CFG80211_AP_RX_MGMT_DISCONNECT
+
+# Bandsteer support
+# DHDCFLAGS += -DDHD_BANDSTEER
 
 ##########################
 # driver type
@@ -130,194 +303,271 @@
 ##########################
 DRIVER_TYPE ?= $(CONFIG_CYW_BCMDHD)
 
+#############################
+# Bring up WARs for CYW89570.
+# # To be removed later
+# #############################
+ifneq ($(CONFIG_WIRELESS_EXT),)
+  DHDOFILES += wl_iw.o bcm_app_utils.o
+  DHDCFLAGS += -DWL_WIRELESS_EXT -DWLLXIW -DUSE_IW
+endif
+
+ifeq ($(CONFIG_TRXHDR_V3),y)
+   DHDCFLAGS += -DBCMTRXV3
+else
+   DHDCFLAGS += -DBCMTRXV4
+endif
+
 #########################
 # Chip dependent feature
 #########################
 
-DHDCFLAGS += -DUSE_WL_TXBF
-# DHDCFLAGS += -DUSE_WL_FRAMEBURST
-DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
-DHDCFLAGS += -DPROP_TXSTATUS_VSDB
-DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
+  DHDCFLAGS += -DUSE_WL_TXBF
+  DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
+
 # New Features
-DHDCFLAGS += -DWL11U
-DHDCFLAGS += -DMFP
-# The LPC would have the Tx 5G tput drop around 10Mbps but saving powers
+  DHDCFLAGS += -DWL11U
+  DHDCFLAGS += -DMFP
+# Disabling LPC for 89570 for now.
 # DHDCFLAGS += -DDHD_ENABLE_LPC
-DHDCFLAGS += -DCUSTOM_COUNTRY_CODE
+  DHDCFLAGS += -DCUSTOM_COUNTRY_CODE
+  DHDCFLAGS += -DNDO_CONFIG_SUPPORT
+  DHDCFLAGS += -DIPV6_NDO_SUPPORT
+  DHDCFLAGS += -DIGUANA_LEGACY_CHIPS
 
-### Platform dependent START
-DHD_PLATFORM ?= rockchip
-
-#Rochip Platform
-ifeq ($(DHD_PLATFORM), rockchip)
-  CONFIG_BCMDHD_SDIO = y
-  CONFIG_BCMDHD_OOB = y
-  CONFIG_PLAT_ROCKCHIP = y
-
-  ## We only add here for the flags in our rockchip code
-  DHDCFLAGS += -DANDROID_SDIO_RESET
-  DHDCFLAGS += -DCUSTOM_SDIO_F2_BLKSIZE=256
-  DHDCFLAGS += -DDHD_OF_SUPPORT 
-  DHDCFLAGS += -DCONFIG_PLAT_ROCKCHIP
-ifeq ($(CONFIG_BCMDHD_OOB),y)
-DHDCFLAGS += -DOOB_INTR_ONLY -DCUSTOMER_OOB -DHW_OOB
-ifeq ($(CONFIG_BCMDHD_DISABLE_WOWLAN),y)
-DHDCFLAGS += -DDISABLE_WOWLAN
-endif
-else
-DHDCFLAGS += -DSDIO_ISR_THREAD
-endif
-  DHDCFLAGS += -DHOST_FLAG
-  DHDCFLAGS += -DLOAD_DHD_WITH_FW_ALIVE
-  FW_ALIVE = 1
-endif
-
-ifeq ($(DHD_PLATFORM), ingenic)
-  CONFIG_BCMDHD_SDIO = y
-  ## We only add here for the flags in our generic code
-  DHDCFLAGS += -DOOB_INTR_ONLY -DHW_OOB
-  DHDCFLAGS += -DCUSTOM_SDIO_F2_BLKSIZE=128
-  DHDCFLAGS += -DDHD_OF_SUPPORT -DCUSTOMER_OOB
-  DHDCFLAGS += -DLOAD_DHD_WITH_FW_ALIVE
-  FW_ALIVE = 1
-endif
-
-
-ifeq ($(DHD_PLATFORM), imx_android)
-  CONFIG_BCMDHD_SDIO = y
-# Config DTS support
-  DHDCFLAGS += -DCONFIG_DTS
-# for iMX platform
-  DHDCFLAGS += -DCUSTOMER_IMX
-  DHDCFLAGS += -DOOB_INTR_ONLY -DHW_OOB
-  DHDCFLAGS += -DANDROID_SDIO_RESET
-# The flags only worked for supported host
-# Remove it if you found the dhdsdio_rxglom erros
-  DHDCFLAGS += -DCUSTOM_RXCHAIN=1
-endif
-
-ifeq ($(DHD_PLATFORM), imx)
-  CONFIG_BCMDHD_SDIO = y
-# Config DTS support
-  DHDCFLAGS += -DCONFIG_DTS
-# for iMX platform
-  DHDCFLAGS += -DCUSTOMER_IMX
-  DHDCFLAGS += -DOOB_INTR_ONLY -DHW_OOB
-# The flags only worked for supported host
-# Remove it if you found the dhdsdio_rxglom erros
-  DHDCFLAGS += -DCUSTOM_RXCHAIN=1
-endif
-
-ifeq ($(CONFIG_BCMDHD_PCIE), y)
-  CONFIG_BCMDHD_PCIE = y
-else
-ifeq ($(CONFIG_BCMDHD_USB), y)
-  CONFIG_BCMDHD_USB = y
-else
-  CONFIG_BCMDHD_SDIO = y
+ifeq ($(CONFIG_BCMDHD_SDMMC),y)
+  DHDCFLAGS += -DBCMLXSDMMC -DCUSTOM_TXGLOM=1
+ifneq ($(CONFIG_HAVE_IMX8_SOC),)
+  DHDCFLAGS += \
+  	-DCONFIG_DTS \
+	-DOEM_EMBEDDED_LINUX \
+	-DPLATFORM_IMX \
+	-DSDIO_ISR_THREAD \
+	-DWL_VIF_SUPPORT
 endif
 endif
 
-### Platform dependent END
+ifeq ($(CONFIG_BCMDHD_SDIOH_STD),y)
+  DHDCFLAGS += -DBCMSDIOH_STD
+endif
 
-ifneq ($(CONFIG_BCMDHD_SDIO),)
-  DHDCFLAGS += -DBDC -DTOE -DDHD_BCMEVENTS -DMMC_SDIO_ABORT
-  DHDCFLAGS += -DBCMSDIO -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR
-  DHDCFLAGS += -DPROP_TXSTATUS
-  DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=16
-  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
+ifeq ($(CONFIG_BCMDHD_SDIO),y)
+  DHDCFLAGS += -DBDC -DHW_OOB -DDHD_BCMEVENTS -DMMC_SDIO_ABORT
+  DHDCFLAGS += -DBCMSDIO -DUSE_SDIOFIFO_IOVAR
+  DHDCFLAGS += -DPROP_TXSTATUS -DLIMIT_BORROW
+  DHDCFLAGS += -DPROP_TXSTATUS_VSDB
+  DHDCFLAGS += -DUSE_WL_FRAMEBURST
 # tput enhancement
-  DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8
-  DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1
+  DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
+  DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
+  DHDCFLAGS += -DBCMSDIOH_TXGLOM -DAMPDU_HOSTREORDER
   DHDCFLAGS += -DDHDTCPACK_SUPPRESS
   DHDCFLAGS += -DRXFRAME_THREAD
-  DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=31
+  DHDCFLAGS += -DREPEAT_READFRAME
+  DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40
   DHDCFLAGS += -DMAX_HDR_READ=128
-  DHDCFLAGS += -DDHD_FIRSTREAD=128
-  # bcn_timeout
-  DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT=5
- endif
+  DHDCFLAGS += -DDHD_FIRSTREAD=64
+ifneq ($(CONFIG_BCM4373),)
+  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=32
+else
+  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
+
+endif
+
+# bcn_timeout
+  DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_SETTING=5
+
+  DHDCFLAGS += -DWLFC_STATE_PREALLOC
+  DHDCFLAGS += -DREVERSE_AIFSN
+
+# btsharedsdio
+ifneq  ($(CONFIG_BT_OVER_SDIO),)
+  DHDCFLAGS += -DBT_OVER_SDIO
+endif
+endif
+
+# Expand TCP tx queue to 10 times of default size
+  DHDCFLAGS += -DTSQ_MULTIPLIER=10
 
 ifneq ($(CONFIG_BCMDHD_PCIE),)
   DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1
 # tput enhancement
   DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
-  DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=32
-  DHDCFLAGS += -DCUSTOM_AMPDU_RELEASE=16
+  DHDCFLAGS += -DPROP_TXSTATUS_VSDB
+# Disable watchdog thread
+  DHDCFLAGS += -DCUSTOM_DHD_WATCHDOG_MS=0
+# HEAP ASLR
+  DHDCFLAGS += -DBCM_ASLR_HEAP
+  DHDCFLAGS += -DMAX_CNTL_TX_TIMEOUT=1
+ifneq ($(CONFIG_ARCH_MSM),)
+  DHDCFLAGS += -DMSM_PCIE_LINKDOWN_RECOVERY
+endif
+ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y)
+  DHDCFLAGS += -DDHD_USE_STATIC_IOCTLBUF
+endif
+
+# Enable health check event handling
+  DHDCFLAGS += -DDNGL_EVENT_SUPPORT
+  DHDCFLAGS += -DHCHK_COMMON_SW_EVENT
+ifneq ($(CONFIG_DHD_OF_SUPPORT),)
+  DHDCFLAGS += -DDHD_OF_SUPPORT
+  DHDOFILES += dhd_custom_msm.o
+ifneq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),)
+  DHDOFILES += dhd_custom_memprealloc.o
+endif
+endif
+
+# Enable Load Balancing support by default.
+# DHD_LB_RXP - Perform RX Packet processing in parallel
+# DHD_LB_STATS - To display the Load Blancing statistics
+DHDCFLAGS += -DDHD_LB -DDHD_LB_RXP -DDHD_LB_STATS
+DHDCFLAGS += -DDHD_LB_PRIMARY_CPUS=0xF0 -DDHD_LB_SECONDARY_CPUS=0x0E
+
+# Runtime PM feature
+# DHDCFLAGS += -DDHD_PCIE_RUNTIMEPM -DMAX_IDLE_COUNT=11 -DCUSTOM_DHD_RUNTIME_MS=100
+
+# debug info
+  DHDCFLAGS += -DDHD_WAKE_STATUS -DDHD_WAKE_RX_STATUS
+
+# Enable SSSR Dump
+  DHDCFLAGS += -DDHD_SSSR_DUMP
+endif
+
+# Print 802.1X packets
+  DHDCFLAGS += -DDHD_8021X_DUMP
+# prioritize 802.1x packet
+  DHDCFLAGS += -DEAPOL_PKT_PRIO
+
+# Enable MSI interrupt Support
+  DHDCFLAGS += -DDHD_MSI_SUPPORT
+
+# Enabling temporarily due to build failure
+ DHDCFLAGS += -DDHD_PKTTS -DTX_STATUS_LATENCY_STATS
+
+ifneq ($(filter y, $(CONFIG_BCM4354) $(CONFIG_BCM4356)),)
+  DHDCFLAGS += -DUSE_WL_TXBF
+  DHDCFLAGS += -DUSE_WL_FRAMEBURST
+  DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
+  DHDCFLAGS += -DPROP_TXSTATUS_VSDB
+  DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
+  DHDCFLAGS += -DMAX_AP_CLIENT_CNT=10
+  DHDCFLAGS += -DMAX_GO_CLIENT_CNT=5
+# New Features
+  DHDCFLAGS += -DWL11U
+  DHDCFLAGS += -DMFP
+  DHDCFLAGS += -DDHD_ENABLE_LPC
+  DHDCFLAGS += -DCUSTOM_COUNTRY_CODE
+  DHDCFLAGS += -DSAR_SUPPORT
+# debug info
+  DHDCFLAGS += -DDHD_WAKE_STATUS
+ifeq ($(CONFIG_BCMDHD_SDIO),y)
+  DHDCFLAGS += -DBDC -DOOB_INTR_ONLY -DHW_OOB -DDHD_BCMEVENTS -DMMC_SDIO_ABORT
+  DHDCFLAGS += -DBCMSDIO -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR
+  DHDCFLAGS += -DPROP_TXSTATUS
+  DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=16
+  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
+# tput enhancement
+  DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
+  DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
+  DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
+  DHDCFLAGS += -DDHDTCPACK_SUPPRESS
+  DHDCFLAGS += -DRXFRAME_THREAD
+  DHDCFLAGS += -DREPEAT_READFRAME
+  DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40
+  DHDCFLAGS += -DMAX_HDR_READ=128
+  DHDCFLAGS += -DDHD_FIRSTREAD=128
+# bcn_timeout
+  DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT=5
+  DHDCFLAGS += -DWLFC_STATE_PREALLOC
+endif
+
+ifneq ($(CONFIG_BCMDHD_PCIE),)
+  DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1
+# tput enhancement
+  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
   DHDCFLAGS += -DPROP_TXSTATUS_VSDB
 # Disable watchdog thread
   DHDCFLAGS += -DCUSTOM_DHD_WATCHDOG_MS=0
   DHDCFLAGS += -DMAX_CNTL_TX_TIMEOUT=1
   DHDCFLAGS += -DSUPPORT_LINKDOWN_RECOVERY
+# Enable health check event handling
+  DHDCFLAGS += -DDNGL_EVENT_SUPPORT
+  DHDCFLAGS += -DHCHK_COMMON_SW_EVENT
 endif
-
-ifneq ($(CONFIG_BCMDHD_USB),)
-  DHDCFLAGS += -DBDC -DTOE
-  DHDCFLAGS += -DDHD_BCMEVENTS -DSHOW_EVENTS -DSHOW_LOGTRACE
-  DHDCFLAGS += -DBCMDHDUSB -DBCMDBUS -DBCMTRXV2 -DDBUS_USB_LOOPBACK
-  DHDCFLAGS += -DPROP_TXSTATUS
-  DHDCFLAGS += -DLIMIT_BORROW
-endif
-
 ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y)
   DHDCFLAGS += -DDHD_USE_STATIC_IOCTLBUF
 endif
 # Print 802.1X packets
-DHDCFLAGS += -DDHD_8021X_DUMP
+  DHDCFLAGS += -DDHD_8021X_DUMP
 # Print DHCP packets
-DHDCFLAGS += -DDHD_DHCP_DUMP
+  DHDCFLAGS += -DDHD_DHCP_DUMP
+endif
 
+ifneq ($(CONFIG_BCM4339),)
+  DHDCFLAGS += -DBCM4339_CHIP -DHW_OOB
 
-EXTRA_LDFLAGS += --strip-debug
+  # tput enhancement
+  DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
+  DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
+  DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
+  DHDCFLAGS += -DDHDTCPACK_SUPPRESS
+  DHDCFLAGS += -DUSE_WL_TXBF
+  DHDCFLAGS += -DUSE_WL_FRAMEBURST
+  DHDCFLAGS += -DRXFRAME_THREAD
+  DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
+  DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
+  DHDCFLAGS += -DPROP_TXSTATUS_VSDB
+  DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32
+
+  # New Features
+  DHDCFLAGS += -DWL11U
+  DHDCFLAGS += -DDHD_ENABLE_LPC
+  DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
+endif
+
+#EXTRA_LDFLAGS += --strip-debug
 
 ifeq ($(DRIVER_TYPE),y)
+  DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
   DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
+  # Use kernel strlcpy() implementation instead of one, defined in bcmstdlib_s.c
+  DHDCFLAGS += -DBCM_USE_PLATFORM_STRLCPY
 endif
 
-## Attend to fix the suspend/resume -16 error issue, refer to SWDHD-409
-DHDCFLAGS += -DSUSPEND16
+DHDOFILES += dhd_pno.o dhd_common.o dhd_ip.o dhd_custom_gpio.o \
+    dhd_linux.o dhd_linux_sched.o dhd_cfg80211.o dhd_linux_wq.o aiutils.o \
+    bcmevent.o bcmutils.o bcmwifi_channels.o hndpmu.o linux_osl.o linux_pkt.o \
+    sbutils.o siutils.o wl_android.o wl_roam.o wl_cfg80211.o wl_cfgscan.o wl_cfgp2p.o \
+    wl_cfg_btcoex.o wldev_common.o dhd_linux_platdev.o \
+    dhd_pno.o dhd_linux_pktdump.o wl_cfg_btcoex.o hnd_pktq.o \
+    hnd_pktpool.o wl_cfgvendor.o bcmxtlv.o bcm_app_utils.o dhd_debug.o \
+    dhd_debug_linux.o dhd_mschdbg.o bcmbloom.o dhd_dbg_ring.o bcmstdlib_s.o \
+    dhd_linux_exportfs.o
 
-
-## Flags merged from Linux build
-DHDCFLAGS += -DCUSTOMER_IPCAM -DWL11ULB -DWL_NAN -DWL_SUPPORT_AUTO_CHANNEL -DWL_VIRTUAL_APSTA
-
-## Flags that may depends on Linux kernel versions
-DHDCFLAGS += -DTSQ_MULTIPLIER=10
-
-## Flags maybe useful but disable it
-
-# The WLFC AC queue credit borrow
-# DHDCFLAGS += -DLIMIT_BORROW
-
-# Advanced IBSS features
-# DHDCFLAGS += -DWLAIBSS -DWLAIBSS_PS
-
-# p2P service discovery offload
-# DHDCFLAGS += -DWL_SDO
-
-EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG
-EXTRA_CFLAGS += -DSRCBASE=\"$(src)\"
-EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/
-KBUILD_CFLAGS += -I$(LINUXDIR)/include -I$(shell pwd)
-
-DHDOFILES := dhd_pno.o dhd_common.o dhd_ip.o dhd_custom_gpio.o \
-	dhd_linux.o dhd_linux_sched.o dhd_cfg80211.o dhd_linux_wq.o aiutils.o bcmevent.o \
-	bcmutils.o bcmwifi_channels.o hndpmu.o linux_osl.o sbutils.o siutils.o \
-	wl_android.o wl_cfg80211.o wl_cfgp2p.o wl_cfg_btcoex.o wldev_common.o wl_linux_mon.o  \
-	dhd_linux_platdev.o dhd_pno.o dhd_rtt.o dhd_linux_wq.o wl_cfg_btcoex.o \
-        hnd_pktq.o hnd_pktpool.o wl_cfgvendor.o dhd_debug_linux.o bcmxtlv.o dhd_debug.o bcm_app_utils.o \
-	wl_cfgnan.o
-
-ifeq ($(FW_ALIVE), 1)
-  DHDCFLAGS += -DLOAD_DHD_WITH_FW_ALIVE
-  DHDOFILES += dhd_chip_info.o
+ifneq ($(CONFIG_DHD_MONITOR_INTERFACE),)
+    DHDCFLAGS += -DDHD_MONITOR_INTERFACE
+    DHDOFILES += wl_linux_mon.o
 endif
 
+ifneq ($(CONFIG_DHD_OF_SUPPORT),)
+    DHDCFLAGS += -DDHD_OF_SUPPORT
+    DHDOFILES += dhd_custom_msm.o
+ifneq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),)
+  DHDOFILES += dhd_custom_memprealloc.o
+endif
+endif
 
-ifneq ($(CONFIG_BCMDHD_SDIO),)
-  DHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o
+ifeq ($(CONFIG_BCMDHD_SDMMC),y)
+  DHDOFILES += bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o
+endif
+
+ifeq ($(CONFIG_BCMDHD_SDIO),y)
+  DHDOFILES += bcmsdh.o bcmsdh_linux.o
   DHDOFILES += dhd_cdc.o dhd_wlfc.o dhd_sdio.o
+endif
+
+ifeq ($(CONFIG_BCMDHD_SDIOH_STD),y)
+  DHDOFILES += bcmsdstd.o bcmsdstd_linux.o
 endif
 
 ifneq ($(CONFIG_BCMDHD_PCIE),)
@@ -325,21 +575,28 @@
   DHDOFILES += pcie_core.o
 endif
 
-ifneq ($(CONFIG_BCMDHD_USB),)
-  DHDOFILES += dbus.o dbus_usb.o dbus_usb_linux.o
-  DHDOFILES += dhd_cdc.o dhd_wlfc.o
+ifneq ($(filter -DDHD_LB, $(DHDCFLAGS)),)
+DHDOFILES += dhd_linux_lb.o
+endif
+ifneq ($(filter -DDHD_BANDSTEER, $(DHDCFLAGS)),)
+    DHDOFILES += dhd_bandsteer.o
 endif
 
-ifneq ($(CONFIG_PLAT_ROCKCHIP),)
-  DHDOFILES += dhd_gpio.o
+ifneq ($(CONFIG_QT),y)
+  DHDCFLAGS += -DRTT_SUPPORT -DRTT_DEBUG
+  DHDOFILES += dhd_rtt.o
 endif
+EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG
+EXTRA_CFLAGS += -DSRCBASE=\"$(src)\"
+EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/
+KBUILD_CFLAGS += -I$(KDIR)/include -I$(CURDIR)
 
-cywdhd-objs := $(DHDOFILES)
-obj-$(DRIVER_TYPE)   += cywdhd.o
+bcmdhd-objs := $(DHDOFILES)
+obj-$(DRIVER_TYPE)   += bcmdhd.o
 
 all:
-	@echo "$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules"
-	@$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules
+	@echo "$(MAKE) --no-print-directory -C $(KDIR) M=$(CURDIR) modules"
+	@$(MAKE) --no-print-directory -C $(KDIR) M=$(CURDIR) modules
 
 clean:
 	rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd \

--
Gitblit v1.6.2