Commit e40514c2 authored by Roland Vossen's avatar Roland Vossen Committed by Greg Kroah-Hartman

staging: brcm80211: cleaned bcmdefs.h

Code cleanup.
Signed-off-by: default avatarRoland Vossen <rvossen@broadcom.com>
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 31c9f6d9
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <stdarg.h> #include <stdarg.h>
#include "wlc_types.h"
#include <bcmutils.h> #include <bcmutils.h>
#include <bcmsoc.h> #include <bcmsoc.h>
#include <sbchipc.h> #include <sbchipc.h>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <bcmutils.h> #include <bcmutils.h>
#include <aiutils.h> #include <aiutils.h>
#include "wlc_types.h"
#include <sbdma.h> #include <sbdma.h>
#include <bcmdma.h> #include <bcmdma.h>
...@@ -148,6 +149,19 @@ ...@@ -148,6 +149,19 @@
#define D64_RX_FRM_STS_DSCRCNT 0x0f000000 /* no. of descriptors used - 1 */ #define D64_RX_FRM_STS_DSCRCNT 0x0f000000 /* no. of descriptors used - 1 */
#define D64_RX_FRM_STS_DATATYPE 0xf0000000 /* core-dependent data type */ #define D64_RX_FRM_STS_DATATYPE 0xf0000000 /* core-dependent data type */
#define DMADDRWIDTH_30 30 /* 30-bit addressing capability */
#define DMADDRWIDTH_32 32 /* 32-bit addressing capability */
#define DMADDRWIDTH_63 63 /* 64-bit addressing capability */
#define DMADDRWIDTH_64 64 /* 64-bit addressing capability */
/* 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.
* There is a compile time check in wlc.c which ensure that this value is at least as big
* as TXOFF. This value is used in dma_rxfill (dma.c).
*/
#define BCMEXTRAHDROOM 172
/* debug/trace */ /* debug/trace */
#ifdef BCMDBG #ifdef BCMDBG
#define DMA_ERROR(args) \ #define DMA_ERROR(args) \
...@@ -171,6 +185,15 @@ ...@@ -171,6 +185,15 @@
#define DMA_NONE(args) #define DMA_NONE(args)
typedef unsigned long dmaaddr_t;
#define PHYSADDRHI(_pa) (0)
#define PHYSADDRHISET(_pa, _val)
#define PHYSADDRLO(_pa) ((_pa))
#define PHYSADDRLOSET(_pa, _val) \
do { \
(_pa) = (_val); \
} while (0)
#define d64txregs dregs.d64_u.txregs_64 #define d64txregs dregs.d64_u.txregs_64
#define d64rxregs dregs.d64_u.rxregs_64 #define d64rxregs dregs.d64_u.rxregs_64
#define txd64 dregs.d64_u.txd_64 #define txd64 dregs.d64_u.txd_64
...@@ -186,6 +209,19 @@ static uint dma_msg_level; ...@@ -186,6 +209,19 @@ static uint dma_msg_level;
#define R_SM(r) (*(r)) #define R_SM(r) (*(r))
#define W_SM(r, v) (*(r) = (v)) #define W_SM(r, v) (*(r) = (v))
/* One physical DMA segment */
typedef struct {
dmaaddr_t addr;
u32 length;
} dma_seg_t;
typedef struct {
void *oshdmah; /* Opaque handle for OSL to store its information */
uint origsize; /* Size of the virtual packet */
uint nsegs;
dma_seg_t segs[MAX_DMA_SEGS];
} dma_seg_map_t;
/* /*
* DMA Descriptor * DMA Descriptor
* Descriptors are only read by the hardware, never written back. * Descriptors are only read by the hardware, never written back.
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <bcmdevs.h> #include <bcmdevs.h>
#include <sbdma.h> #include <sbdma.h>
#include <wlc_types.h>
#include <wlc_phy_int.h> #include <wlc_phy_int.h>
#include <wlc_phyreg_n.h> #include <wlc_phyreg_n.h>
#include <wlc_phy_radio.h> #include <wlc_phy_radio.h>
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <bcmdevs.h> #include <bcmdevs.h>
#include <sbdma.h> #include <sbdma.h>
#include <wlc_types.h>
#include <wlc_phy_radio.h> #include <wlc_phy_radio.h>
#include <wlc_phy_int.h> #include <wlc_phy_int.h>
#include <wlc_phyreg_n.h> #include <wlc_phyreg_n.h>
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "wlc_types.h" /* forward structure declarations */
#define MIN_FW_SIZE 40000 /* minimum firmware file size in bytes */ #define MIN_FW_SIZE 40000 /* minimum firmware file size in bytes */
#define MAX_FW_SIZE 150000 #define MAX_FW_SIZE 150000
......
...@@ -47,6 +47,24 @@ ...@@ -47,6 +47,24 @@
#define AC_COUNT 4 #define AC_COUNT 4
/* Macros for doing definition and get/set of bitfields
* Usage example, e.g. a three-bit field (bits 4-6):
* #define <NAME>_M BITFIELD_MASK(3)
* #define <NAME>_S 4
* ...
* regval = R_REG(osh, &regs->regfoo);
* field = GFIELD(regval, <NAME>);
* regval = SFIELD(regval, <NAME>, 1);
* W_REG(osh, &regs->regfoo, regval);
*/
#define BITFIELD_MASK(width) \
(((unsigned)1 << (width)) - 1)
#define GFIELD(val, field) \
(((val) >> field ## _S) & field ## _M)
#define SFIELD(val, field, bits) \
(((val) & (~(field ## _M << field ## _S))) | \
((unsigned)(bits) << field ## _S))
/* For managing scan result lists */ /* For managing scan result lists */
struct wlc_bss_list { struct wlc_bss_list {
uint count; uint count;
...@@ -158,6 +176,8 @@ extern const u8 prio2fifo[]; ...@@ -158,6 +176,8 @@ extern const u8 prio2fifo[];
#define EDCF_LONG_M BITFIELD_MASK(4) #define EDCF_LONG_M BITFIELD_MASK(4)
#define EDCF_LFB_M BITFIELD_MASK(4) #define EDCF_LFB_M BITFIELD_MASK(4)
#define NFIFO 6 /* # tx/rx fifopairs */
#define WLC_WME_RETRY_SHORT_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_SHORT) #define WLC_WME_RETRY_SHORT_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_SHORT)
#define WLC_WME_RETRY_SFB_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_SFB) #define WLC_WME_RETRY_SFB_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_SFB)
#define WLC_WME_RETRY_LONG_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_LONG) #define WLC_WME_RETRY_LONG_GET(wlc, ac) GFIELD(wlc->wme_retries[ac], EDCF_LONG)
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#ifndef _wlc_pub_h_ #ifndef _wlc_pub_h_
#define _wlc_pub_h_ #define _wlc_pub_h_
#include "wlc_types.h" /* forward structure declarations */
#include "bcmwifi.h" /* for chanspec_t */ #include "bcmwifi.h" /* for chanspec_t */
#define WLC_NUMRATES 16 /* max # of rates in a rateset */ #define WLC_NUMRATES 16 /* max # of rates in a rateset */
......
...@@ -17,7 +17,24 @@ ...@@ -17,7 +17,24 @@
#ifndef _wlc_types_h_ #ifndef _wlc_types_h_
#define _wlc_types_h_ #define _wlc_types_h_
/* Bus types */
#define SI_BUS 0 /* SOC Interconnect */
#define PCI_BUS 1 /* PCI target */
#define SDIO_BUS 3 /* SDIO target */
#define JTAG_BUS 4 /* JTAG */
#define USB_BUS 5 /* USB (does not support R/W REG) */
#define SPI_BUS 6 /* gSPI target */
#define RPC_BUS 7 /* RPC target */
#define WL_CHAN_FREQ_RANGE_2G 0
#define WL_CHAN_FREQ_RANGE_5GL 1
#define WL_CHAN_FREQ_RANGE_5GM 2
#define WL_CHAN_FREQ_RANGE_5GH 3
#define MAX_DMA_SEGS 4
/* forward declarations */ /* forward declarations */
struct wl_info;
struct wlc_info; struct wlc_info;
struct wlc_hw_info; struct wlc_hw_info;
struct wlc_if; struct wlc_if;
...@@ -27,5 +44,6 @@ struct antsel_info; ...@@ -27,5 +44,6 @@ struct antsel_info;
struct bmac_pmq; struct bmac_pmq;
struct d11init; struct d11init;
struct dma_pub; struct dma_pub;
struct wlc_bsscfg;
#endif /* _wlc_types_h_ */ #endif /* _wlc_types_h_ */
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#define USB_BUS 5 #define USB_BUS 5
#define SPI_BUS 6 #define SPI_BUS 6
#ifndef OFF #ifndef OFF
#define OFF 0 #define OFF 0
#endif #endif
...@@ -36,96 +35,6 @@ ...@@ -36,96 +35,6 @@
#define AUTO (-1) /* Auto = -1 */ #define AUTO (-1) /* Auto = -1 */
/* Bus types */
#define SI_BUS 0 /* SOC Interconnect */
#define PCI_BUS 1 /* PCI target */
#define SDIO_BUS 3 /* SDIO target */
#define JTAG_BUS 4 /* JTAG */
#define USB_BUS 5 /* USB (does not support R/W REG) */
#define SPI_BUS 6 /* gSPI target */
#define RPC_BUS 7 /* RPC target */
/* Defines for DMA Address Width - Shared between OSL and HNDDMA */
#define DMADDR_MASK_32 0x0 /* Address mask for 32-bits */
#define DMADDR_MASK_30 0xc0000000 /* Address mask for 30-bits */
#define DMADDR_MASK_0 0xffffffff /* Address mask for 0-bits (hi-part) */
#define DMADDRWIDTH_30 30 /* 30-bit addressing capability */
#define DMADDRWIDTH_32 32 /* 32-bit addressing capability */
#define DMADDRWIDTH_63 63 /* 64-bit addressing capability */
#define DMADDRWIDTH_64 64 /* 64-bit addressing capability */
#ifdef BCMDMA64OSL
typedef struct {
u32 loaddr;
u32 hiaddr;
} dma64addr_t;
typedef dma64addr_t dmaaddr_t;
#define PHYSADDRHI(_pa) ((_pa).hiaddr)
#define PHYSADDRHISET(_pa, _val) \
do { \
(_pa).hiaddr = (_val); \
} while (0)
#define PHYSADDRLO(_pa) ((_pa).loaddr)
#define PHYSADDRLOSET(_pa, _val) \
do { \
(_pa).loaddr = (_val); \
} while (0)
#else
typedef unsigned long dmaaddr_t;
#define PHYSADDRHI(_pa) (0)
#define PHYSADDRHISET(_pa, _val)
#define PHYSADDRLO(_pa) ((_pa))
#define PHYSADDRLOSET(_pa, _val) \
do { \
(_pa) = (_val); \
} while (0)
#endif /* BCMDMA64OSL */
/* One physical DMA segment */
typedef struct {
dmaaddr_t addr;
u32 length;
} dma_seg_t;
#define MAX_DMA_SEGS 4
typedef struct {
void *oshdmah; /* Opaque handle for OSL to store its information */
uint origsize; /* Size of the virtual packet */
uint nsegs;
dma_seg_t segs[MAX_DMA_SEGS];
} dma_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.
* There is a compile time check in wlc.c which ensure that this value is at least as big
* as TXOFF. This value is used in dma_rxfill (dma.c).
*/
#define BCMEXTRAHDROOM 172
/* Macros for doing definition and get/set of bitfields
* Usage example, e.g. a three-bit field (bits 4-6):
* #define <NAME>_M BITFIELD_MASK(3)
* #define <NAME>_S 4
* ...
* regval = R_REG(osh, &regs->regfoo);
* field = GFIELD(regval, <NAME>);
* regval = SFIELD(regval, <NAME>, 1);
* W_REG(osh, &regs->regfoo, regval);
*/
#define BITFIELD_MASK(width) \
(((unsigned)1 << (width)) - 1)
#define GFIELD(val, field) \
(((val) >> field ## _S) & field ## _M)
#define SFIELD(val, field, bits) \
(((val) & (~(field ## _M << field ## _S))) | \
((unsigned)(bits) << field ## _S))
/* /*
* Priority definitions according 802.1D * Priority definitions according 802.1D
*/ */
...@@ -137,17 +46,12 @@ typedef struct { ...@@ -137,17 +46,12 @@ typedef struct {
#define PRIO_8021D_VI 5 #define PRIO_8021D_VI 5
#define PRIO_8021D_VO 6 #define PRIO_8021D_VO 6
#define PRIO_8021D_NC 7 #define PRIO_8021D_NC 7
#define MAXPRIO 7 #define MAXPRIO 7
#define NUMPRIO (MAXPRIO + 1) #define NUMPRIO (MAXPRIO + 1)
/* Max. nvram variable table size */
#define MAXSZ_NVRAM_VARS 4096
/* handle forward declaration */
struct wl_info;
struct wlc_bsscfg;
#define WL_NUMRATES 16 /* max # of rates in a rateset */ #define WL_NUMRATES 16 /* max # of rates in a rateset */
typedef struct wl_rateset { typedef struct wl_rateset {
u32 count; /* # rates in this set */ u32 count; /* # rates in this set */
u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */ u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
...@@ -187,16 +91,8 @@ typedef struct wl_rateset { ...@@ -187,16 +91,8 @@ typedef struct wl_rateset {
#define WL_ERROR_VAL 0x00000001 #define WL_ERROR_VAL 0x00000001
#define WL_TRACE_VAL 0x00000002 #define WL_TRACE_VAL 0x00000002
#define NFIFO 6 /* # tx/rx fifopairs */
#define PM_OFF 0 #define PM_OFF 0
#define PM_MAX 1 #define PM_MAX 1
#define PM_FAST 2 #define PM_FAST 2
/* band range returned by band_range iovar */
#define WL_CHAN_FREQ_RANGE_2G 0
#define WL_CHAN_FREQ_RANGE_5GL 1
#define WL_CHAN_FREQ_RANGE_5GM 2
#define WL_CHAN_FREQ_RANGE_5GH 3
#endif /* _bcmdefs_h_ */ #endif /* _bcmdefs_h_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment