diff options
Diffstat (limited to 'target/linux/s3c24xx/files-2.6.31/drivers/ar6000/ar6000/ar6000_drv.h')
-rw-r--r-- | target/linux/s3c24xx/files-2.6.31/drivers/ar6000/ar6000/ar6000_drv.h | 360 |
1 files changed, 0 insertions, 360 deletions
diff --git a/target/linux/s3c24xx/files-2.6.31/drivers/ar6000/ar6000/ar6000_drv.h b/target/linux/s3c24xx/files-2.6.31/drivers/ar6000/ar6000/ar6000_drv.h deleted file mode 100644 index 784f158..0000000 --- a/target/linux/s3c24xx/files-2.6.31/drivers/ar6000/ar6000/ar6000_drv.h +++ /dev/null @@ -1,360 +0,0 @@ -/* - * - * Copyright (c) 2004-2007 Atheros Communications Inc. - * All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation; - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * - * - */ - -#ifndef _AR6000_H_ -#define _AR6000_H_ - -#include <linux/version.h> - - -#include <linux/autoconf.h> -#include <linux/init.h> -#include <linux/kernel.h> -#include <linux/spinlock.h> -#include <linux/skbuff.h> -#include <linux/if_ether.h> -#include <linux/netdevice.h> -#include <linux/etherdevice.h> -#include <net/iw_handler.h> -#include <linux/if_arp.h> -#include <linux/ip.h> -#include <linux/semaphore.h> -#include <linux/wireless.h> -#include <linux/module.h> -#include <asm/io.h> - -#include <a_config.h> -#include <athdefs.h> -#include "a_types.h" -#include "a_osapi.h" -#include "htc_api.h" -#include "wmi.h" -#include "a_drv.h" -#include "bmi.h" -#include <ieee80211.h> -#include <ieee80211_ioctl.h> -#include <wlan_api.h> -#include <wmi_api.h> -#include "gpio_api.h" -#include "gpio.h" -#include <host_version.h> -#include <linux/rtnetlink.h> -#include <linux/init.h> -#include <linux/moduleparam.h> -#include "AR6Khwreg.h" -#include "ar6000_api.h" -#ifdef CONFIG_HOST_TCMD_SUPPORT -#include <testcmd.h> -#endif - -#include "targaddrs.h" -#include "dbglog_api.h" -#include "ar6000_diag.h" -#include "common_drv.h" - -#ifndef __dev_put -#define __dev_put(dev) dev_put(dev) -#endif - -#ifdef USER_KEYS - -#define USER_SAVEDKEYS_STAT_INIT 0 -#define USER_SAVEDKEYS_STAT_RUN 1 - -// TODO this needs to move into the AR_SOFTC struct -struct USER_SAVEDKEYS { - struct ieee80211req_key ucast_ik; - struct ieee80211req_key bcast_ik; - CRYPTO_TYPE keyType; - A_BOOL keyOk; -}; -#endif - -#define DBG_INFO 0x00000001 -#define DBG_ERROR 0x00000002 -#define DBG_WARNING 0x00000004 -#define DBG_SDIO 0x00000008 -#define DBG_HIF 0x00000010 -#define DBG_HTC 0x00000020 -#define DBG_WMI 0x00000040 -#define DBG_WMI2 0x00000080 -#define DBG_DRIVER 0x00000100 - -#define DBG_DEFAULTS (DBG_ERROR|DBG_WARNING) - - -#ifdef DEBUG -#define AR_DEBUG_PRINTF(args...) if (debugdriver) A_PRINTF(args); -#define AR_DEBUG2_PRINTF(args...) if (debugdriver >= 2) A_PRINTF(args); -extern int debugdriver; -#else -#define AR_DEBUG_PRINTF(args...) -#define AR_DEBUG2_PRINTF(args...) -#endif - -A_STATUS ar6000_ReadRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data); -A_STATUS ar6000_WriteRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data); - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_AR6000 1 -#define AR6000_MAX_RX_BUFFERS 16 -#define AR6000_BUFFER_SIZE 1664 -#define AR6000_TX_TIMEOUT 10 -#define AR6000_ETH_ADDR_LEN 6 -#define AR6000_MAX_ENDPOINTS 4 -#define MAX_NODE_NUM 15 -#define MAX_COOKIE_NUM 150 -#define AR6000_HB_CHALLENGE_RESP_FREQ_DEFAULT 1 -#define AR6000_HB_CHALLENGE_RESP_MISS_THRES_DEFAULT 1 - -enum { - DRV_HB_CHALLENGE = 0, - APP_HB_CHALLENGE -}; - -/* HTC RAW streams */ -typedef enum _HTC_RAW_STREAM_ID { - HTC_RAW_STREAM_NOT_MAPPED = -1, - HTC_RAW_STREAM_0 = 0, - HTC_RAW_STREAM_1 = 1, - HTC_RAW_STREAM_2 = 2, - HTC_RAW_STREAM_3 = 3, - HTC_RAW_STREAM_NUM_MAX -} HTC_RAW_STREAM_ID; - -#define RAW_HTC_READ_BUFFERS_NUM 4 -#define RAW_HTC_WRITE_BUFFERS_NUM 4 - -typedef struct { - int currPtr; - int length; - unsigned char data[AR6000_BUFFER_SIZE]; - HTC_PACKET HTCPacket; -} raw_htc_buffer; - -#ifdef CONFIG_HOST_TCMD_SUPPORT -/* - * add TCMD_MODE besides wmi and bypasswmi - * in TCMD_MODE, only few TCMD releated wmi commands - * counld be hanlder - */ -enum { - AR6000_WMI_MODE = 0, - AR6000_BYPASS_MODE, - AR6000_TCMD_MODE, - AR6000_WLAN_MODE -}; -#endif /* CONFIG_HOST_TCMD_SUPPORT */ - -struct ar_wep_key { - A_UINT8 arKeyIndex; - A_UINT8 arKeyLen; - A_UINT8 arKey[64]; -} ; - -struct ar_node_mapping { - A_UINT8 macAddress[6]; - A_UINT8 epId; - A_UINT8 txPending; -}; - -struct ar_cookie { - A_UINT32 arc_bp[2]; /* Must be first field */ - HTC_PACKET HtcPkt; /* HTC packet wrapper */ - struct ar_cookie *arc_list_next; -}; - -struct ar_hb_chlng_resp { - A_TIMER timer; - A_UINT32 frequency; - A_UINT32 seqNum; - A_BOOL outstanding; - A_UINT8 missCnt; - A_UINT8 missThres; -}; - -typedef struct ar6_softc { - struct net_device *arNetDev; /* net_device pointer */ - void *arWmi; - int arTxPending[WMI_PRI_MAX_COUNT]; - int arTotalTxDataPending; - A_UINT8 arNumDataEndPts; - A_BOOL arWmiEnabled; - A_BOOL arWmiReady; - A_BOOL arConnected; - A_BOOL arRadioSwitch; - HTC_HANDLE arHtcTarget; - void *arHifDevice; - spinlock_t arLock; - struct semaphore arSem; - int arRxBuffers[WMI_PRI_MAX_COUNT]; - int arSsidLen; - u_char arSsid[32]; - A_UINT8 arNetworkType; - A_UINT8 arDot11AuthMode; - A_UINT8 arAuthMode; - A_UINT8 arPairwiseCrypto; - A_UINT8 arPairwiseCryptoLen; - A_UINT8 arGroupCrypto; - A_UINT8 arGroupCryptoLen; - A_UINT8 arDefTxKeyIndex; - struct ar_wep_key arWepKeyList[WMI_MAX_KEY_INDEX + 1]; - A_UINT8 arBssid[6]; - A_UINT8 arReqBssid[6]; - A_UINT16 arChannelHint; - A_UINT16 arBssChannel; - A_UINT16 arListenInterval; - struct ar6000_version arVersion; - A_UINT32 arTargetType; - A_INT8 arRssi; - A_UINT8 arTxPwr; - A_BOOL arTxPwrSet; - A_INT32 arBitRate; - struct net_device_stats arNetStats; - struct iw_statistics arIwStats; - A_INT8 arNumChannels; - A_UINT16 arChannelList[32]; - A_UINT32 arRegCode; - A_BOOL statsUpdatePending; - TARGET_STATS arTargetStats; - A_INT8 arMaxRetries; - A_UINT8 arPhyCapability; -#ifdef CONFIG_HOST_TCMD_SUPPORT - A_UINT8 tcmdRxReport; - A_UINT32 tcmdRxTotalPkt; - A_INT32 tcmdRxRssi; - A_UINT32 tcmdPm; - A_UINT32 arTargetMode; -#endif - AR6000_WLAN_STATE arWlanState; - struct ar_node_mapping arNodeMap[MAX_NODE_NUM]; - A_UINT8 arIbssPsEnable; - A_UINT8 arNodeNum; - A_UINT8 arNexEpId; - struct ar_cookie *arCookieList; - A_UINT16 arRateMask; - A_UINT8 arSkipScan; - A_UINT16 arBeaconInterval; - A_BOOL arConnectPending; - A_BOOL arWmmEnabled; - struct ar_hb_chlng_resp arHBChallengeResp; - A_UINT8 arKeepaliveConfigured; - A_UINT32 arMgmtFilter; - HTC_ENDPOINT_ID arWmi2EpMapping[WMI_PRI_MAX_COUNT]; - WMI_PRI_STREAM_ID arEp2WmiMapping[ENDPOINT_MAX]; -#ifdef HTC_RAW_INTERFACE - HTC_ENDPOINT_ID arRaw2EpMapping[HTC_RAW_STREAM_NUM_MAX]; - HTC_RAW_STREAM_ID arEp2RawMapping[ENDPOINT_MAX]; - struct semaphore raw_htc_read_sem[HTC_RAW_STREAM_NUM_MAX]; - struct semaphore raw_htc_write_sem[HTC_RAW_STREAM_NUM_MAX]; - wait_queue_head_t raw_htc_read_queue[HTC_RAW_STREAM_NUM_MAX]; - wait_queue_head_t raw_htc_write_queue[HTC_RAW_STREAM_NUM_MAX]; - raw_htc_buffer *raw_htc_read_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_READ_BUFFERS_NUM]; - raw_htc_buffer *raw_htc_write_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_WRITE_BUFFERS_NUM]; - A_BOOL write_buffer_available[HTC_RAW_STREAM_NUM_MAX]; - A_BOOL read_buffer_available[HTC_RAW_STREAM_NUM_MAX]; -#endif - A_BOOL arRawIfInit; - int arDeviceIndex; - COMMON_CREDIT_STATE_INFO arCreditStateInfo; - A_BOOL arWMIControlEpFull; - A_BOOL dbgLogFetchInProgress; - A_UCHAR log_buffer[DBGLOG_HOST_LOG_BUFFER_SIZE]; - A_UINT32 log_cnt; - A_UINT32 dbglog_init_done; - A_UINT32 arConnectCtrlFlags; - A_UINT32 scan_complete; -#ifdef USER_KEYS - A_INT32 user_savedkeys_stat; - A_UINT32 user_key_ctrl; - struct USER_SAVEDKEYS user_saved_keys; -#endif -} AR_SOFTC_T; - - -#define arWMIStream2EndpointID(ar,wmi) (ar)->arWmi2EpMapping[(wmi)] -#define arSetWMIStream2EndpointIDMap(ar,wmi,ep) \ -{ (ar)->arWmi2EpMapping[(wmi)] = (ep); \ - (ar)->arEp2WmiMapping[(ep)] = (wmi); } -#define arEndpoint2WMIStreamID(ar,ep) (ar)->arEp2WmiMapping[(ep)] - -#define arRawIfEnabled(ar) (ar)->arRawIfInit -#define arRawStream2EndpointID(ar,raw) (ar)->arRaw2EpMapping[(raw)] -#define arSetRawStream2EndpointIDMap(ar,raw,ep) \ -{ (ar)->arRaw2EpMapping[(raw)] = (ep); \ - (ar)->arEp2RawMapping[(ep)] = (raw); } -#define arEndpoint2RawStreamID(ar,ep) (ar)->arEp2RawMapping[(ep)] - -struct ar_giwscan_param { - char *current_ev; - char *end_buf; - A_BOOL firstPass; -}; - -#define AR6000_STAT_INC(ar, stat) (ar->arNetStats.stat++) - -#define AR6000_SPIN_LOCK(lock, param) do { \ - if (irqs_disabled()) { \ - AR_DEBUG_PRINTF("IRQs disabled:AR6000_LOCK\n"); \ - } \ - spin_lock_bh(lock); \ -} while (0) - -#define AR6000_SPIN_UNLOCK(lock, param) do { \ - if (irqs_disabled()) { \ - AR_DEBUG_PRINTF("IRQs disabled: AR6000_UNLOCK\n"); \ - } \ - spin_unlock_bh(lock); \ -} while (0) - -int ar6000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); -int ar6000_ioctl_dispatcher(struct net_device *dev, struct ifreq *rq, int cmd); -void ar6000_ioctl_iwsetup(struct iw_handler_def *def); -void ar6000_gpio_init(void); -void ar6000_init_profile_info(AR_SOFTC_T *ar); -void ar6000_install_static_wep_keys(AR_SOFTC_T *ar); -int ar6000_init(struct net_device *dev); -int ar6000_dbglog_get_debug_logs(AR_SOFTC_T *ar); -A_STATUS ar6000_SetHTCBlockSize(AR_SOFTC_T *ar); - -#ifdef HTC_RAW_INTERFACE - -#ifndef __user -#define __user -#endif - -int ar6000_htc_raw_open(AR_SOFTC_T *ar); -int ar6000_htc_raw_close(AR_SOFTC_T *ar); -ssize_t ar6000_htc_raw_read(AR_SOFTC_T *ar, - HTC_RAW_STREAM_ID StreamID, - char __user *buffer, size_t count); -ssize_t ar6000_htc_raw_write(AR_SOFTC_T *ar, - HTC_RAW_STREAM_ID StreamID, - char __user *buffer, size_t count); - -#endif /* HTC_RAW_INTERFACE */ - -#ifdef __cplusplus -} -#endif - -#endif /* _AR6000_H_ */ |