From 297b60346df8beafee954a0fd7c2d64f33f3b9bc Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Sat, 11 May 2024 01:44:05 +0000
Subject: [PATCH] rtl8211F_led_control
---
kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/bcmdefs.h | 407 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 319 insertions(+), 88 deletions(-)
diff --git a/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/bcmdefs.h b/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/bcmdefs.h
index 6e17cf0..014c7ce 100644
--- a/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/bcmdefs.h
+++ b/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/bcmdefs.h
@@ -1,15 +1,16 @@
-/* SPDX-License-Identifier: GPL-2.0 */
/*
* Misc system wide definitions
*
- * Copyright (C) 1999-2019, Broadcom Corporation
- *
+ * 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
@@ -17,7 +18,7 @@
* 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.
@@ -25,7 +26,7 @@
*
* <<Broadcom-WL-IPTag/Open:>>
*
- * $Id: bcmdefs.h 715966 2019-05-30 02:36:59Z $
+ * $Id: bcmdefs.h 700870 2017-05-22 19:05:22Z $
*/
#ifndef _bcmdefs_h_
@@ -40,23 +41,58 @@
* arguments or local variables.
*/
#define BCM_REFERENCE(data) ((void)(data))
-
+#include <linux/compiler.h>
/* Allow for suppressing unused variable warnings. */
#ifdef __GNUC__
#define UNUSED_VAR __attribute__ ((unused))
#else
#define UNUSED_VAR
-#endif
+#endif // endif
+/* GNU GCC 4.6+ supports selectively turning off a warning.
+ * Define these diagnostic macros to help suppress cast-qual warning
+ * until all the work can be done to fix the casting issues.
+ */
+#if (defined(__GNUC__) && defined(STRICT_GCC_WARNINGS) && (__GNUC__ > 4 || (__GNUC__ == \
+ 4 && __GNUC_MINOR__ >= 6)))
+#define GCC_DIAGNOSTIC_PUSH_SUPPRESS_CAST() \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
+#define GCC_DIAGNOSTIC_POP() \
+ _Pragma("GCC diagnostic pop")
+#else
+#define GCC_DIAGNOSTIC_PUSH_SUPPRESS_CAST()
+#define GCC_DIAGNOSTIC_POP()
+#endif /* Diagnostic macros not defined */
+
+/* Support clang for MACOSX compiler */
+#ifdef __clang__
+#define CLANG_DIAGNOSTIC_PUSH_SUPPRESS_CAST() \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
+#define CLANG_DIAGNOSTIC_PUSH_SUPPRESS_FORMAT() \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wformat-nonliteral\"")
+#define CLANG_DIAGNOSTIC_POP() \
+ _Pragma("clang diagnostic pop")
+#else
+#define CLANG_DIAGNOSTIC_PUSH_SUPPRESS_CAST()
+#define CLANG_DIAGNOSTIC_PUSH_SUPPRESS_FORMAT()
+#define CLANG_DIAGNOSTIC_POP()
+#endif // endif
/* Compile-time assert can be used in place of ASSERT if the expression evaluates
* to a constant at compile time.
*/
+#if (__GNUC__ <= 4 && __GNUC_MINOR__ >= 4)
#define STATIC_ASSERT(expr) { \
/* Make sure the expression is constant. */ \
typedef enum { _STATIC_ASSERT_NOT_CONSTANT = (expr) } _static_assert_e UNUSED_VAR; \
/* Make sure the expression is true. */ \
typedef char STATIC_ASSERT_FAIL[(expr) ? 1 : -1] UNUSED_VAR; \
}
+#else
+#define STATIC_ASSERT(expr) compiletime_assert(expr, "Compile time condition failure");
+#endif /* __GNUC__ <= 4 && __GNUC_MINOR__ >= 4 */
/* Reclaiming text and data :
* The following macros specify special linker sections that can be reclaimed
@@ -64,33 +100,173 @@
* BCMATTACHFN is also used for detach functions (it's not worth having a BCMDETACHFN,
* as in most cases, the attach function calls the detach function to clean up on error).
*/
+#if defined(BCM_RECLAIM)
-#define bcmreclaimed 0
+extern bool bcm_reclaimed;
+extern bool bcm_attach_part_reclaimed;
+extern bool bcm_preattach_part_reclaimed;
+extern bool bcm_postattach_part_reclaimed;
+
+#define RECLAIMED() (bcm_reclaimed)
+#define ATTACH_PART_RECLAIMED() (bcm_attach_part_reclaimed)
+#define PREATTACH_PART_RECLAIMED() (bcm_preattach_part_reclaimed)
+#define POSTATTACH_PART_RECLAIMED() (bcm_postattach_part_reclaimed)
+
+#if defined(BCM_RECLAIM_ATTACH_FN_DATA)
+#define _data __attribute__ ((__section__ (".dataini2." #_data))) _data
+#define _fn __attribute__ ((__section__ (".textini2." #_fn), noinline)) _fn
+
+/* Relocate attach symbols to save-restore region to increase pre-reclaim heap size. */
+#define BCM_SRM_ATTACH_DATA(_data) __attribute__ ((__section__ (".datasrm." #_data))) _data
+#define BCM_SRM_ATTACH_FN(_fn) __attribute__ ((__section__ (".textsrm." #_fn), noinline)) _fn
+
+#ifndef PREATTACH_NORECLAIM
+#define BCMPREATTACHDATA(_data) __attribute__ ((__section__ (".dataini3." #_data))) _data
+#define BCMPREATTACHFN(_fn) __attribute__ ((__section__ (".textini3." #_fn), noinline)) _fn
+#else
+#define BCMPREATTACHDATA(_data) __attribute__ ((__section__ (".dataini2." #_data))) _data
+#define BCMPREATTACHFN(_fn) __attribute__ ((__section__ (".textini2." #_fn), noinline)) _fn
+#endif /* PREATTACH_NORECLAIM */
+#define BCMPOSTATTACHDATA(_data) __attribute__ ((__section__ (".dataini5." #_data))) _data
+#define BCMPOSTATTACHFN(_fn) __attribute__ ((__section__ (".textini5." #_fn), noinline)) _fn
+#else /* BCM_RECLAIM_ATTACH_FN_DATA */
#define _data _data
#define _fn _fn
#define BCMPREATTACHDATA(_data) _data
#define BCMPREATTACHFN(_fn) _fn
+#define BCMPOSTATTACHDATA(_data) _data
+#define BCMPOSTATTACHFN(_fn) _fn
+#endif /* BCM_RECLAIM_ATTACH_FN_DATA */
+
+#ifdef BCMDBG_SR
+/*
+ * Don't reclaim so we can compare SR ASM
+ */
+#define BCMPREATTACHDATASR(_data) _data
+#define BCMPREATTACHFNSR(_fn) _fn
+#define BCMATTACHDATASR(_data) _data
+#define BCMATTACHFNSR(_fn) _fn
+#else
+#define BCMPREATTACHDATASR(_data) BCMPREATTACHDATA(_data)
+#define BCMPREATTACHFNSR(_fn) BCMPREATTACHFN(_fn)
+#define BCMATTACHDATASR(_data) _data
+#define BCMATTACHFNSR(_fn) _fn
+#endif // endif
+
+#if defined(BCM_RECLAIM_INIT_FN_DATA)
+#define _data __attribute__ ((__section__ (".dataini1." #_data))) _data
+#define _fn __attribute__ ((__section__ (".textini1." #_fn), noinline)) _fn
+#define CONST
+#else /* BCM_RECLAIM_INIT_FN_DATA */
#define _data _data
#define _fn _fn
-#define _fn _fn
+#ifndef CONST
+#define CONST const
+#endif // endif
+#endif /* BCM_RECLAIM_INIT_FN_DATA */
+
+/* Non-manufacture or internal attach function/dat */
#define BCMNMIATTACHFN(_fn) _fn
#define BCMNMIATTACHDATA(_data) _data
-#define CONST const
+
+#if defined(BCM_CISDUMP_NO_RECLAIM)
+#define BCMCISDUMPATTACHFN(_fn) _fn
+#define BCMCISDUMPATTACHDATA(_data) _data
+#else
+#define BCMCISDUMPATTACHFN(_fn) BCMNMIATTACHFN(_fn)
+#define BCMCISDUMPATTACHDATA(_data) BCMNMIATTACHDATA(_data)
+#endif // endif
+
+/* SROM with OTP support */
+#if defined(BCMOTPSROM)
+#define BCMSROMATTACHFN(_fn) _fn
+#define BCMSROMATTACHDATA(_data) _data
+#else
+#define BCMSROMATTACHFN(_fn) BCMNMIATTACHFN(_fn)
+#define BCMSROMATTACHDATA(_data) BCMNMIATTACHFN(_data)
+#endif /* BCMOTPSROM */
+
+#if defined(BCM_CISDUMP_NO_RECLAIM)
+#define BCMSROMCISDUMPATTACHFN(_fn) _fn
+#define BCMSROMCISDUMPATTACHDATA(_data) _data
+#else
+#define BCMSROMCISDUMPATTACHFN(_fn) BCMSROMATTACHFN(_fn)
+#define BCMSROMCISDUMPATTACHDATA(_data) BCMSROMATTACHDATA(_data)
+#endif /* BCM_CISDUMP_NO_RECLAIM */
+
+#ifdef BCMNODOWN
+#define _fn _fn
+#else
+#define _fn _fn
+#endif // endif
+
+#else /* BCM_RECLAIM */
+
+#define bcm_reclaimed (1)
+#define bcm_attach_part_reclaimed (1)
+#define bcm_preattach_part_reclaimed (1)
+#define bcm_postattach_part_reclaimed (1)
+#define _data _data
+#define _fn _fn
+#define BCM_SRM_ATTACH_DATA(_data) _data
+#define BCM_SRM_ATTACH_FN(_fn) _fn
+#define BCMPREATTACHDATA(_data) _data
+#define BCMPREATTACHFN(_fn) _fn
+#define BCMPOSTATTACHDATA(_data) _data
+#define BCMPOSTATTACHFN(_fn) _fn
+#define _data _data
+#define _fn _fn
+#define _fn _fn
+#define BCMNMIATTACHFN(_fn) _fn
+#define BCMNMIATTACHDATA(_data) _data
+#define BCMSROMATTACHFN(_fn) _fn
+#define BCMSROMATTACHDATA(_data) _data
+#define BCMPREATTACHFNSR(_fn) _fn
+#define BCMPREATTACHDATASR(_data) _data
+#define BCMATTACHFNSR(_fn) _fn
+#define BCMATTACHDATASR(_data) _data
+#define BCMSROMATTACHFN(_fn) _fn
+#define BCMSROMATTACHDATA(_data) _data
+#define BCMCISDUMPATTACHFN(_fn) _fn
+#define BCMCISDUMPATTACHDATA(_data) _data
+#define BCMSROMCISDUMPATTACHFN(_fn) _fn
+#define BCMSROMCISDUMPATTACHDATA(_data) _data
+#define CONST const
+
+#define RECLAIMED() (bcm_reclaimed)
+#define ATTACH_PART_RECLAIMED() (bcm_attach_part_reclaimed)
+#define PREATTACH_PART_RECLAIMED() (bcm_preattach_part_reclaimed)
+#define POSTATTACH_PART_RECLAIMED() (bcm_postattach_part_reclaimed)
+
+#endif /* BCM_RECLAIM */
+
+#define BCMUCODEDATA(_data) _data
+
+#if defined(BCM_DMA_CT) && !defined(BCM_DMA_CT_DISABLED)
+#define BCMUCODEFN(_fn) _fn
+#else
+#define BCMUCODEFN(_fn) _fn
+#endif /* BCM_DMA_CT */
#if !defined STB
+#if defined(BCM47XX) && defined(__ARM_ARCH_7A__) && !defined(OEM_ANDROID)
+#define BCM47XX_CA9
+#else
#undef BCM47XX_CA9
+#endif /* BCM47XX && __ARM_ARCH_7A__ && !OEM_ANDROID */
#endif /* STB */
+/* BCMFASTPATH Related Macro defines
+*/
#ifndef BCMFASTPATH
#if defined(STB)
#define BCMFASTPATH __attribute__ ((__section__ (".text.fastpath")))
#define BCMFASTPATH_HOST __attribute__ ((__section__ (".text.fastpath_host")))
-#else
+#else /* mips || BCM47XX_CA9 || STB */
#define BCMFASTPATH
#define BCMFASTPATH_HOST
-#endif
+#endif // endif
#endif /* BCMFASTPATH */
-
/* Use the BCMRAMFN() macro to tag functions in source that must be included in RAM (excluded from
* ROM). This should eliminate the need to manually specify these functions in the ROM config file.
@@ -98,6 +274,9 @@
* chips.
*/
#define BCMRAMFN(_fn) _fn
+
+/* Use BCMSPECSYM() macro to tag symbols going to a special output section in the binary. */
+#define BCMSPECSYM(_sym) __attribute__ ((__section__ (".special." #_sym))) _sym
#define STATIC static
@@ -113,18 +292,23 @@
/* Allows size optimization for single-bus image */
#ifdef BCMBUSTYPE
-#define BUSTYPE(bus) (BCMBUSTYPE)
+#define BUSTYPE(bus) (BCMBUSTYPE)
#else
-#define BUSTYPE(bus) (bus)
-#endif
+#define BUSTYPE(bus) (bus)
+#endif // endif
+
+#ifdef BCMBUSCORETYPE
+#define BUSCORETYPE(ct) (BCMBUSCORETYPE)
+#else
+#define BUSCORETYPE(ct) (ct)
+#endif // endif
/* Allows size optimization for single-backplane image */
#ifdef BCMCHIPTYPE
-#define CHIPTYPE(bus) (BCMCHIPTYPE)
+#define CHIPTYPE(bus) (BCMCHIPTYPE)
#else
-#define CHIPTYPE(bus) (bus)
-#endif
-
+#define CHIPTYPE(bus) (bus)
+#endif // endif
/* Allows size optimization for SPROM support */
#if defined(BCMSPROMBUS)
@@ -133,26 +317,48 @@
#define SPROMBUS (PCMCIA_BUS)
#else
#define SPROMBUS (PCI_BUS)
-#endif
+#endif // endif
/* Allows size optimization for single-chip image */
#ifdef BCMCHIPID
#define CHIPID(chip) (BCMCHIPID)
#else
#define CHIPID(chip) (chip)
-#endif
+#endif // endif
#ifdef BCMCHIPREV
#define CHIPREV(rev) (BCMCHIPREV)
#else
#define CHIPREV(rev) (rev)
-#endif
+#endif // endif
#ifdef BCMPCIEREV
#define PCIECOREREV(rev) (BCMPCIEREV)
#else
#define PCIECOREREV(rev) (rev)
-#endif
+#endif // endif
+
+#ifdef BCMPMUREV
+#define PMUREV(rev) (BCMPMUREV)
+#else
+#define PMUREV(rev) (rev)
+#endif // endif
+
+#ifdef BCMCCREV
+#define CCREV(rev) (BCMCCREV)
+#else
+#define CCREV(rev) (rev)
+#endif // endif
+
+#ifdef BCMGCIREV
+#define GCIREV(rev) (BCMGCIREV)
+#else
+#define GCIREV(rev) (rev)
+#endif // endif
+
+#ifdef BCMCR4REV
+#define CR4REV (BCMCR4REV)
+#endif // endif
/* Defines for DMA Address Width - Shared between OSL and HNDDMA */
#define DMADDR_MASK_32 0x0 /* Address mask for 32-bits */
@@ -188,6 +394,10 @@
#define PHYSADDRHISET(_pa, _val) PHYSADDR64HISET(_pa, _val)
#define PHYSADDRLO(_pa) PHYSADDR64LO(_pa)
#define PHYSADDRLOSET(_pa, _val) PHYSADDR64LOSET(_pa, _val)
+#define PHYSADDRTOULONG(_pa, _ulong) \
+ do { \
+ _ulong = ((unsigned long long)(_pa).hiaddr << 32) | ((_pa).loaddr); \
+ } while (0)
#else
typedef unsigned long dmaaddr_t;
@@ -209,14 +419,12 @@
#define MAX_DMA_SEGS 8
-
typedef struct {
void *oshdmah; /* Opaque handle for OSL to store its information */
uint origsize; /* Size of the virtual packet */
uint nsegs;
hnddma_seg_t segs[MAX_DMA_SEGS];
} hnddma_seg_map_t;
-
/* packet headroom necessary to accommodate the largest header in the system, (i.e TXOFF).
* By doing, we avoid the need to allocate an extra buffer for the header when bridging to WL.
@@ -229,20 +437,16 @@
#define BCMEXTRAHDROOM 260
#else /* BCM_RPC_NOCOPY || BCM_RPC_TXNOCOPY */
#if defined(STB)
-#if defined(BCM_GMAC3)
-#define BCMEXTRAHDROOM 32 /* For FullDongle, no D11 headroom space required. */
-#else
#define BCMEXTRAHDROOM 224
-#endif /* ! BCM_GMAC3 */
#else
#define BCMEXTRAHDROOM 204
-#endif
+#endif // endif
#endif /* BCM_RPC_NOCOPY || BCM_RPC_TXNOCOPY */
/* Packet alignment for most efficient SDIO (can change based on platform) */
#ifndef SDALIGN
#define SDALIGN 32
-#endif
+#endif // endif
/* Headroom required for dongle-to-host communication. Packets allocated
* locally in the dongle (e.g. for CDC ioctls or RNDIS messages) should
@@ -256,15 +460,14 @@
#define BCMDONGLEOVERHEAD (BCMDONGLEHDRSZ + BCMDONGLEPADSZ)
-
#if defined(NO_BCMDBG_ASSERT)
# undef BCMDBG_ASSERT
# undef BCMASSERT_LOG
-#endif
+#endif // endif
#if defined(BCMASSERT_LOG)
#define BCMASSERT_SUPPORT
-#endif
+#endif // endif
/* Macros for doing definition and get/set of bitfields
* Usage example, e.g. a three-bit field (bits 4-6):
@@ -291,28 +494,25 @@
#else
#define BCMSPACE
#define bcmspace TRUE /* if (bcmspace) code is retained */
-#endif
+#endif // endif
/* Max. nvram variable table size */
#ifndef MAXSZ_NVRAM_VARS
#ifdef LARGE_NVRAM_MAXSZ
-#define MAXSZ_NVRAM_VARS LARGE_NVRAM_MAXSZ
+#define MAXSZ_NVRAM_VARS (LARGE_NVRAM_MAXSZ * 2)
#else
-/* SROM12 changes */
-#define MAXSZ_NVRAM_VARS 6144
+#define LARGE_NVRAM_MAXSZ 8192
+#define MAXSZ_NVRAM_VARS (LARGE_NVRAM_MAXSZ * 2)
#endif /* LARGE_NVRAM_MAXSZ */
#endif /* !MAXSZ_NVRAM_VARS */
-
-
-/* WL_ENAB_RUNTIME_CHECK may be set based upon the #define below (for ROM builds). It may also
+/* ROM_ENAB_RUNTIME_CHECK may be set based upon the #define below (for ROM builds). It may also
* be defined via makefiles (e.g. ROM auto abandon unoptimized compiles).
*/
-
#ifdef BCMLFRAG /* BCMLFRAG support enab macros */
extern bool _bcmlfrag;
- #if defined(WL_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
+ #if defined(ROM_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
#define BCMLFRAG_ENAB() (_bcmlfrag)
#elif defined(BCMLFRAG_DISABLED)
#define BCMLFRAG_ENAB() (0)
@@ -322,32 +522,10 @@
#else
#define BCMLFRAG_ENAB() (0)
#endif /* BCMLFRAG_ENAB */
-#define RXMODE1 1 /* descriptor split */
-#define RXMODE2 2 /* descriptor split + classification */
-#define RXMODE3 3 /* fifo split + classification */
-#define RXMODE4 4 /* fifo split + classification + hdr conversion */
-
-#ifdef BCMSPLITRX /* BCMLFRAG support enab macros */
- extern bool _bcmsplitrx;
- extern uint8 _bcmsplitrx_mode;
- #if defined(WL_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
- #define BCMSPLITRX_ENAB() (_bcmsplitrx)
- #define BCMSPLITRX_MODE() (_bcmsplitrx_mode)
- #elif defined(BCMSPLITRX_DISABLED)
- #define BCMSPLITRX_ENAB() (0)
- #define BCMSPLITRX_MODE() (0)
- #else
- #define BCMSPLITRX_ENAB() (1)
- #define BCMSPLITRX_MODE() (_bcmsplitrx_mode)
- #endif
-#else
- #define BCMSPLITRX_ENAB() (0)
- #define BCMSPLITRX_MODE() (0)
-#endif /* BCMSPLITRX */
#ifdef BCMPCIEDEV /* BCMPCIEDEV support enab macros */
extern bool _pciedevenab;
- #if defined(WL_ENAB_RUNTIME_CHECK)
+ #if defined(ROM_ENAB_RUNTIME_CHECK)
#define BCMPCIEDEV_ENAB() (_pciedevenab)
#elif defined(BCMPCIEDEV_ENABLED)
#define BCMPCIEDEV_ENAB() 1
@@ -358,28 +536,20 @@
#define BCMPCIEDEV_ENAB() 0
#endif /* BCMPCIEDEV */
-#define SPLIT_RXMODE1() ((BCMSPLITRX_MODE() == RXMODE1))
-#define SPLIT_RXMODE2() ((BCMSPLITRX_MODE() == RXMODE2))
-#define SPLIT_RXMODE3() ((BCMSPLITRX_MODE() == RXMODE3))
-#define SPLIT_RXMODE4() ((BCMSPLITRX_MODE() == RXMODE4))
-
-#define PKT_CLASSIFY() (SPLIT_RXMODE2() || SPLIT_RXMODE3() || SPLIT_RXMODE4())
-#define RXFIFO_SPLIT() (SPLIT_RXMODE3() || SPLIT_RXMODE4())
-#define HDR_CONV() (SPLIT_RXMODE4())
-
-#define PKT_CLASSIFY_EN(x) ((PKT_CLASSIFY()) && (PKT_CLASSIFY_FIFO == (x)))
-#ifdef BCM_SPLITBUF
- extern bool _bcmsplitbuf;
- #if defined(WL_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
- #define BCM_SPLITBUF_ENAB() (_bcmsplitbuf)
- #elif defined(BCM_SPLITBUF_DISABLED)
- #define BCM_SPLITBUF_ENAB() (0)
+#ifdef BCMRESVFRAGPOOL /* BCMRESVFRAGPOOL support enab macros */
+extern bool _resvfragpool_enab;
+ #if defined(ROM_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
+ #define BCMRESVFRAGPOOL_ENAB() (_resvfragpool_enab)
+ #elif defined(BCMRESVFRAGPOOL_ENABLED)
+ #define BCMRESVFRAGPOOL_ENAB() 1
#else
- #define BCM_SPLITBUF_ENAB() (1)
+ #define BCMRESVFRAGPOOL_ENAB() 0
#endif
#else
- #define BCM_SPLITBUF_ENAB() (0)
-#endif /* BCM_SPLITBUF */
+ #define BCMRESVFRAGPOOL_ENAB() 0
+#endif /* BCMPCIEDEV */
+
+ #define BCMSDIODEV_ENAB() 0
/* Max size for reclaimable NVRAM array */
#ifdef DL_NVRAM
@@ -389,6 +559,67 @@
#endif /* DL_NVRAM */
extern uint32 gFWID;
-#define SEC_ENHANCEMENT
+
+#ifdef BCMFRWDPOOLREORG /* BCMFRWDPOOLREORG support enab macros */
+ extern bool _bcmfrwdpoolreorg;
+ #if defined(ROM_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
+ #define BCMFRWDPOOLREORG_ENAB() (_bcmfrwdpoolreorg)
+ #elif defined(BCMFRWDPOOLREORG_DISABLED)
+ #define BCMFRWDPOOLREORG_ENAB() (0)
+ #else
+ #define BCMFRWDPOOLREORG_ENAB() (1)
+ #endif
+#else
+ #define BCMFRWDPOOLREORG_ENAB() (0)
+#endif /* BCMFRWDPOOLREORG */
+
+#ifdef BCMPOOLRECLAIM /* BCMPOOLRECLAIM support enab macros */
+ extern bool _bcmpoolreclaim;
+ #if defined(ROM_ENAB_RUNTIME_CHECK) || !defined(DONGLEBUILD)
+ #define BCMPOOLRECLAIM_ENAB() (_bcmpoolreclaim)
+ #elif defined(BCMPOOLRECLAIM_DISABLED)
+ #define BCMPOOLRECLAIM_ENAB() (0)
+ #else
+ #define BCMPOOLRECLAIM_ENAB() (1)
+ #endif
+#else
+ #define BCMPOOLRECLAIM_ENAB() (0)
+#endif /* BCMPOOLRECLAIM */
+
+/* Chip related low power flags (lpflags) */
+
+#ifndef PAD
+#define _PADLINE(line) pad ## line
+#define _XSTR(line) _PADLINE(line)
+#define PAD _XSTR(__LINE__)
+#endif // endif
+
+#ifndef FRAG_HEADROOM
+#define FRAG_HEADROOM 224 /* In absence of SFD, use default headroom of 224 */
+#endif // endif
+
+#define MODULE_DETACH(var, detach_func)\
+ if (var) { \
+ detach_func(var); \
+ (var) = NULL; \
+ }
+#define MODULE_DETACH_2(var1, var2, detach_func) detach_func(var1, var2)
+#define MODULE_DETACH_TYPECASTED(var, detach_func) detach_func(var)
+
+/* When building ROML image use runtime conditional to cause the compiler
+ * to compile everything but not to complain "defined but not used"
+ * as #ifdef would cause at the callsites.
+ * In the end functions called under if (0) {} will not be linked
+ * into the final binary if they're not called from other places either.
+ */
+#define BCM_ATTACH_REF_DECL()
+#define BCM_ATTACH_REF() (1)
+
+/* Const in ROM else normal data in RAM */
+#if defined(ROM_ENAB_RUNTIME_CHECK)
+ #define ROMCONST CONST
+#else
+ #define ROMCONST
+#endif // endif
#endif /* _bcmdefs_h_ */
--
Gitblit v1.6.2