62eb734b49
Remove misc typedefs. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
186 lines
8.1 KiB
C
186 lines
8.1 KiB
C
/*
|
|
*************************************************************************
|
|
* Ralink Tech Inc.
|
|
* 5F., No.36, Taiyuan St., Jhubei City,
|
|
* Hsinchu County 302,
|
|
* Taiwan, R.O.C.
|
|
*
|
|
* (c) Copyright 2002-2007, Ralink Technology, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., *
|
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
|
* *
|
|
*************************************************************************
|
|
*/
|
|
|
|
#ifndef __RTUSB_IO_H__
|
|
#define __RTUSB_IO_H__
|
|
|
|
#include "rtmp_type.h"
|
|
|
|
/* New for MeetingHouse Api support */
|
|
#define CMDTHREAD_VENDOR_RESET 0x0D730101 /* cmd */
|
|
#define CMDTHREAD_VENDOR_UNPLUG 0x0D730102 /* cmd */
|
|
#define CMDTHREAD_VENDOR_SWITCH_FUNCTION 0x0D730103 /* cmd */
|
|
#define CMDTHREAD_MULTI_WRITE_MAC 0x0D730107 /* cmd */
|
|
#define CMDTHREAD_MULTI_READ_MAC 0x0D730108 /* cmd */
|
|
#define CMDTHREAD_VENDOR_EEPROM_WRITE 0x0D73010A /* cmd */
|
|
#define CMDTHREAD_VENDOR_EEPROM_READ 0x0D73010B /* cmd */
|
|
#define CMDTHREAD_VENDOR_ENTER_TESTMODE 0x0D73010C /* cmd */
|
|
#define CMDTHREAD_VENDOR_EXIT_TESTMODE 0x0D73010D /* cmd */
|
|
#define CMDTHREAD_VENDOR_WRITE_BBP 0x0D730119 /* cmd */
|
|
#define CMDTHREAD_VENDOR_READ_BBP 0x0D730118 /* cmd */
|
|
#define CMDTHREAD_VENDOR_WRITE_RF 0x0D73011A /* cmd */
|
|
#define CMDTHREAD_VENDOR_FLIP_IQ 0x0D73011D /* cmd */
|
|
#define CMDTHREAD_RESET_BULK_OUT 0x0D730210 /* cmd */
|
|
#define CMDTHREAD_RESET_BULK_IN 0x0D730211 /* cmd */
|
|
#define CMDTHREAD_SET_PSM_BIT 0x0D730212 /* cmd */
|
|
#define CMDTHREAD_SET_RADIO 0x0D730214 /* cmd */
|
|
#define CMDTHREAD_UPDATE_TX_RATE 0x0D730216 /* cmd */
|
|
#define CMDTHREAD_802_11_ADD_KEY_WEP 0x0D730218 /* cmd */
|
|
#define CMDTHREAD_RESET_FROM_ERROR 0x0D73021A /* cmd */
|
|
#define CMDTHREAD_LINK_DOWN 0x0D73021B /* cmd */
|
|
#define CMDTHREAD_RESET_FROM_NDIS 0x0D73021C /* cmd */
|
|
#define CMDTHREAD_CHECK_GPIO 0x0D730215 /* cmd */
|
|
#define CMDTHREAD_FORCE_WAKE_UP 0x0D730222 /* cmd */
|
|
#define CMDTHREAD_SET_BW 0x0D730225 /* cmd */
|
|
#define CMDTHREAD_SET_ASIC_WCID 0x0D730226 /* cmd */
|
|
#define CMDTHREAD_SET_ASIC_WCID_CIPHER 0x0D730227 /* cmd */
|
|
#define CMDTHREAD_QKERIODIC_EXECUT 0x0D73023D /* cmd */
|
|
#define RT_CMD_SET_KEY_TABLE 0x0D730228 /* cmd */
|
|
#define RT_CMD_SET_RX_WCID_TABLE 0x0D730229 /* cmd */
|
|
#define CMDTHREAD_SET_CLIENT_MAC_ENTRY 0x0D73023E /* cmd */
|
|
#define CMDTHREAD_SET_GROUP_KEY 0x0D73023F /* cmd */
|
|
#define CMDTHREAD_SET_PAIRWISE_KEY 0x0D730240 /* cmd */
|
|
|
|
#define CMDTHREAD_802_11_QUERY_HARDWARE_REGISTER 0x0D710105 /* cmd */
|
|
#define CMDTHREAD_802_11_SET_PHY_MODE 0x0D79010C /* cmd */
|
|
#define CMDTHREAD_802_11_SET_STA_CONFIG 0x0D790111 /* cmd */
|
|
#define CMDTHREAD_802_11_SET_PREAMBLE 0x0D790101 /* cmd */
|
|
#define CMDTHREAD_802_11_COUNTER_MEASURE 0x0D790102 /* cmd */
|
|
/* add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet */
|
|
#define CMDTHREAD_UPDATE_PROTECT 0x0D790103 /* cmd */
|
|
/* end johnli */
|
|
|
|
/*CMDTHREAD_MULTI_READ_MAC */
|
|
/*CMDTHREAD_MULTI_WRITE_MAC */
|
|
/*CMDTHREAD_VENDOR_EEPROM_READ */
|
|
/*CMDTHREAD_VENDOR_EEPROM_WRITE */
|
|
struct rt_cmdhandler_tlv {
|
|
u16 Offset;
|
|
u16 Length;
|
|
u8 DataFirst;
|
|
};
|
|
|
|
struct rt_cmdqelmt;
|
|
|
|
struct rt_cmdqelmt {
|
|
u32 command;
|
|
void *buffer;
|
|
unsigned long bufferlength;
|
|
BOOLEAN CmdFromNdis;
|
|
BOOLEAN SetOperation;
|
|
struct rt_cmdqelmt *next;
|
|
};
|
|
|
|
struct rt_cmdq {
|
|
u32 size;
|
|
struct rt_cmdqelmt *head;
|
|
struct rt_cmdqelmt *tail;
|
|
u32 CmdQState;
|
|
};
|
|
|
|
#define EnqueueCmd(cmdq, cmdqelmt) \
|
|
{ \
|
|
if (cmdq->size == 0) \
|
|
cmdq->head = cmdqelmt; \
|
|
else \
|
|
cmdq->tail->next = cmdqelmt; \
|
|
cmdq->tail = cmdqelmt; \
|
|
cmdqelmt->next = NULL; \
|
|
cmdq->size++; \
|
|
}
|
|
|
|
/******************************************************************************
|
|
|
|
USB Cmd to ASIC Related MACRO
|
|
|
|
******************************************************************************/
|
|
/* reset MAC of a station entry to 0xFFFFFFFFFFFF */
|
|
#define RTMP_STA_ENTRY_MAC_RESET(pAd, Wcid) \
|
|
{ struct rt_set_asic_wcid SetAsicWcid; \
|
|
SetAsicWcid.WCID = Wcid; \
|
|
SetAsicWcid.SetTid = 0xffffffff; \
|
|
SetAsicWcid.DeleteTid = 0xffffffff; \
|
|
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID, \
|
|
&SetAsicWcid, sizeof(struct rt_set_asic_wcid)); }
|
|
|
|
/* add this entry into ASIC RX WCID search table */
|
|
#define RTMP_STA_ENTRY_ADD(pAd, pEntry) \
|
|
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_CLIENT_MAC_ENTRY, \
|
|
pEntry, sizeof(struct rt_mac_table_entry));
|
|
|
|
/* add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet */
|
|
/* Set MAC register value according operation mode */
|
|
#define RTMP_UPDATE_PROTECT(pAd) \
|
|
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_UPDATE_PROTECT, NULL, 0);
|
|
/* end johnli */
|
|
|
|
/* remove Pair-wise key material from ASIC */
|
|
/* yet implement */
|
|
#define RTMP_STA_ENTRY_KEY_DEL(pAd, BssIdx, Wcid)
|
|
|
|
/* add Client security information into ASIC WCID table and IVEIV table */
|
|
#define RTMP_STA_SECURITY_INFO_ADD(pAd, apidx, KeyID, pEntry) \
|
|
{ RTMP_STA_ENTRY_MAC_RESET(pAd, pEntry->Aid); \
|
|
if (pEntry->Aid >= 1) { \
|
|
struct rt_set_asic_wcid_attri SetAsicWcidAttri; \
|
|
SetAsicWcidAttri.WCID = pEntry->Aid; \
|
|
if ((pEntry->AuthMode <= Ndis802_11AuthModeAutoSwitch) && \
|
|
(pEntry->WepStatus == Ndis802_11Encryption1Enabled)) \
|
|
{ \
|
|
SetAsicWcidAttri.Cipher = pAd->SharedKey[apidx][KeyID].CipherAlg; \
|
|
} \
|
|
else if (pEntry->AuthMode == Ndis802_11AuthModeWPANone) \
|
|
{ \
|
|
SetAsicWcidAttri.Cipher = pAd->SharedKey[apidx][KeyID].CipherAlg; \
|
|
} \
|
|
else SetAsicWcidAttri.Cipher = 0; \
|
|
DBGPRINT(RT_DEBUG_TRACE, ("aid cipher = %ld\n",SetAsicWcidAttri.Cipher)); \
|
|
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID_CIPHER, \
|
|
&SetAsicWcidAttri, sizeof(struct rt_set_asic_wcid_attri)); } }
|
|
|
|
/* Insert the BA bitmap to ASIC for the Wcid entry */
|
|
#define RTMP_ADD_BA_SESSION_TO_ASIC(_pAd, _Aid, _TID) \
|
|
do{ \
|
|
struct rt_set_asic_wcid SetAsicWcid; \
|
|
SetAsicWcid.WCID = (_Aid); \
|
|
SetAsicWcid.SetTid = (0x10000<<(_TID)); \
|
|
SetAsicWcid.DeleteTid = 0xffffffff; \
|
|
RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(struct rt_set_asic_wcid)); \
|
|
}while(0)
|
|
|
|
/* Remove the BA bitmap from ASIC for the Wcid entry */
|
|
#define RTMP_DEL_BA_SESSION_FROM_ASIC(_pAd, _Wcid, _TID) \
|
|
do{ \
|
|
struct rt_set_asic_wcid SetAsicWcid; \
|
|
SetAsicWcid.WCID = (_Wcid); \
|
|
SetAsicWcid.SetTid = (0xffffffff); \
|
|
SetAsicWcid.DeleteTid = (0x10000<<(_TID) ); \
|
|
RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(struct rt_set_asic_wcid)); \
|
|
}while(0)
|
|
|
|
#endif /* __RTUSB_IO_H__ // */
|