diff options
author | Srikant Patnaik | 2015-01-13 15:08:24 +0530 |
---|---|---|
committer | Srikant Patnaik | 2015-01-13 15:08:24 +0530 |
commit | 97327692361306d1e6259021bc425e32832fdb50 (patch) | |
tree | fe9088f3248ec61e24f404f21b9793cb644b7f01 /drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h | |
parent | 2d05a8f663478a44e088d122e0d62109bbc801d0 (diff) | |
parent | a3a8b90b61e21be3dde9101c4e86c881e0f06210 (diff) | |
download | FOSSEE-netbook-kernel-source-97327692361306d1e6259021bc425e32832fdb50.tar.gz FOSSEE-netbook-kernel-source-97327692361306d1e6259021bc425e32832fdb50.tar.bz2 FOSSEE-netbook-kernel-source-97327692361306d1e6259021bc425e32832fdb50.zip |
dirty fix to merging
Diffstat (limited to 'drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h')
-rwxr-xr-x | drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h b/drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h new file mode 100755 index 00000000..104048b5 --- /dev/null +++ b/drivers/net/wireless/bcmdhd.1.88.45.x.cn/dhd_config.h @@ -0,0 +1,174 @@ + +#ifndef _dhd_config_ +#define _dhd_config_ + +#include <bcmdevs.h> +#include <dngl_stats.h> +#include <dhd.h> +#include <wlioctl.h> +#include <proto/802.11.h> +#ifdef POWER_OFF_IN_SUSPEND +#include <wl_android.h> +#include <bcmsdbus.h> +#include <linux/mmc/sdio_func.h> +#endif + +#define FW_PATH_AUTO_SELECT 1 +extern char firmware_path[MOD_PARAM_PATHLEN]; +extern int disable_proptx; +extern uint dhd_doflow; + +/* mac range */ +typedef struct wl_mac_range { + uint32 oui; + uint32 nic_start; + uint32 nic_end; +} wl_mac_range_t; + +/* mac list */ +typedef struct wl_mac_list { + int count; + wl_mac_range_t *mac; + char name[MOD_PARAM_PATHLEN]; /* path */ +} wl_mac_list_t; + +/* mac list head */ +typedef struct wl_mac_list_ctrl { + int count; + struct wl_mac_list *m_mac_list_head; +} wl_mac_list_ctrl_t; + +/* channel list */ +typedef struct wl_channel_list { + /* in - # of channels, out - # of entries */ + uint32 count; + /* variable length channel list */ + uint32 channel[WL_NUMCHANNELS]; +} wl_channel_list_t; + +typedef struct wmes_param { + int aifsn[AC_COUNT]; + int cwmin[AC_COUNT]; + int cwmax[AC_COUNT]; +} wme_param_t; + +#ifdef PKT_FILTER_SUPPORT +#define DHD_CONF_FILTER_MAX 8 +/* filter list */ +#define PKT_FILTER_LEN 150 +typedef struct conf_pkt_filter_add { + /* in - # of channels, out - # of entries */ + uint32 count; + /* variable length filter list */ + char filter[DHD_CONF_FILTER_MAX][PKT_FILTER_LEN]; +} conf_pkt_filter_add_t; + +/* pkt_filter_del list */ +typedef struct conf_pkt_filter_del { + /* in - # of channels, out - # of entries */ + uint32 count; + /* variable length filter list */ + uint32 id[DHD_CONF_FILTER_MAX]; +} conf_pkt_filter_del_t; +#endif + +typedef struct dhd_conf { + wl_mac_list_ctrl_t fw_by_mac; /* Firmware auto selection by MAC */ + wl_mac_list_ctrl_t nv_by_mac; /* NVRAM auto selection by MAC */ + char fw_path[MOD_PARAM_PATHLEN]; /* Firmware path */ + char nv_path[MOD_PARAM_PATHLEN]; /* NVRAM path */ + uint band; /* Band, b:2.4G only, otherwise for auto */ + int mimo_bw_cap; /* Bandwidth, 0:HT20ALL, 1: HT40ALL, 2:HT20IN2G_HT40PIN5G */ + wl_country_t cspec; /* Country */ + wl_channel_list_t channels; /* Support channels */ + uint roam_off; /* Roaming, 0:enable, 1:disable */ + uint roam_off_suspend; /* Roaming in suspend, 0:enable, 1:disable */ + int roam_trigger[2]; /* The RSSI threshold to trigger roaming */ + int roam_scan_period[2]; /* Roaming scan period */ + int roam_delta[2]; /* Roaming candidate qualification delta */ + int fullroamperiod; /* Full Roaming period */ + uint keep_alive_period; /* The perioid in ms to send keep alive packet */ + uint force_wme_ac; + wme_param_t wme; /* WME parameters */ + int stbc; /* STBC for Tx/Rx */ + int phy_oclscdenable; /* phy_oclscdenable */ +#ifdef PKT_FILTER_SUPPORT + conf_pkt_filter_add_t pkt_filter_add; /* Packet filter add */ + conf_pkt_filter_del_t pkt_filter_del; /* Packet filter add */ +#endif + int srl; /* short retry limit */ + int lrl; /* long retry limit */ + uint bcn_timeout; /* beacon timeout */ + uint32 bus_txglom; /* bus:txglom */ + uint32 ampdu_ba_wsize; + bool kso_enable; + int spect; +} dhd_conf_t; + +extern void *bcmsdh_get_drvdata(void); +void dhd_conf_set_fw_name_by_mac(dhd_pub_t *dhd, bcmsdh_info_t *sdh, char *fw_path); +void dhd_conf_set_nv_name_by_mac(dhd_pub_t *dhd, bcmsdh_info_t *sdh, char *nv_path); +void dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *dst, char *src); +#if defined(HW_OOB) +void dhd_conf_set_hw_oob_intr(bcmsdh_info_t *sdh, uint chip); +#endif +#if defined(CUSTOMER_HW) && defined(CONFIG_DHD_USE_STATIC_BUF) +void* dhd_conf_prealloc(int section, unsigned long size); +#endif +void dhd_conf_set_fw_path(dhd_pub_t *dhd, char *fw_path); +void dhd_conf_set_nv_path(dhd_pub_t *dhd, char *nv_path); +int dhd_conf_set_band(dhd_pub_t *dhd); +uint dhd_conf_get_band(dhd_pub_t *dhd); +int dhd_conf_set_country(dhd_pub_t *dhd); +int dhd_conf_get_country(dhd_pub_t *dhd, wl_country_t *cspec); +int dhd_conf_fix_country(dhd_pub_t *dhd); +bool dhd_conf_match_channel(dhd_pub_t *dhd, uint32 channel); +int dhd_conf_set_roam(dhd_pub_t *dhd); +void dhd_conf_set_mimo_bw_cap(dhd_pub_t *dhd); +void dhd_conf_force_wme(dhd_pub_t *dhd); +void dhd_conf_get_wme(dhd_pub_t *dhd, edcf_acparam_t *acp); +void dhd_conf_set_wme(dhd_pub_t *dhd); +void dhd_conf_set_stbc(dhd_pub_t *dhd); +void dhd_conf_set_phyoclscdenable(dhd_pub_t *dhd); +void dhd_conf_add_pkt_filter(dhd_pub_t *dhd); +bool dhd_conf_del_pkt_filter(dhd_pub_t *dhd, uint32 id); +void dhd_conf_discard_pkt_filter(dhd_pub_t *dhd); +void dhd_conf_set_srl(dhd_pub_t *dhd); +void dhd_conf_set_lrl(dhd_pub_t *dhd); +void dhd_conf_set_glom(dhd_pub_t *dhd); +void dhd_conf_set_ampdu_ba_wsize(dhd_pub_t *dhd); +void dhd_conf_set_spect(dhd_pub_t *dhd); +int dhd_conf_read_config(dhd_pub_t *dhd); +int dhd_conf_preinit(dhd_pub_t *dhd); +int dhd_conf_attach(dhd_pub_t *dhd); +void dhd_conf_detach(dhd_pub_t *dhd); + +#ifdef POWER_OFF_IN_SUSPEND +extern struct net_device *g_netdev; +#if defined(CONFIG_HAS_EARLYSUSPEND) +extern int g_wifi_on; +#if defined(WL_ENABLE_P2P_IF) +extern struct net_device *g_p2pnetdev; +extern bool g_p2pnet_enabled; +#endif +#ifdef WL_CFG80211 +void wl_cfg80211_stop(void); +void wl_cfg80211_send_disconnect(void); +void wl_cfg80211_user_sync(bool lock); +extern s32 wl_cfg80211_up2(void *para); +extern s32 wl_cfg80211_down2(void *para); +void wl_cfgp2p_start(void); +void wl_cfgp2p_stop(void); +void dhd_cleanup_virt_ifaces2(struct net_device *net); +#endif +void dhd_wlfc_cleanup2(struct net_device *net); +extern int dhd_dev_init_ioctl(struct net_device *dev); +void dhd_cleanup_wlfc(struct net_device *net); + +#endif +void dhd_conf_wifi_suspend(struct sdio_func *func); +void dhd_conf_register_wifi_suspend(struct sdio_func *func); +void dhd_conf_unregister_wifi_suspend(struct sdio_func *func); +#endif + +#endif /* _dhd_config_ */ |