madwifi/ath/if_ath_hal.h
mtaylor 43de3ce1a0 Debugging updates:
*  Updated register dump based on ath5k database (refresh the list)
*  Added a generic debug iwpriv delegation method to if_ath
*  Added some functions to help diagnose lost ath_buf pointers
	[resultant fixes will be checked in subsequent commits]



git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3497 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-09 22:25:51 +00:00

1538 lines
49 KiB
C

/*-
* Copyright (c) 2007 Michael Taylor
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer,
without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
* redistribution must be conditioned upon including a substantially
* similar Disclaimer requirement for further binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*/
/* **************************************************************
* * WARNING: THIS IS A GENERATED FILE. PLEASE DO NOT EDIT *
* ************************************************************** */
#include "if_ath_hal_macros.h"
#ifdef CONFIG_KALLSYMS
#include "linux/kallsyms.h"
#endif /* CONFIG_KALLSYMS */
#ifndef _IF_ATH_HAL_H_
#define _IF_ATH_HAL_H_
static inline void ath_hal_getmac(struct ath_hal *ah, u_int8_t *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_getMacAddress(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_POWER_MODE ath_hal_getPowerMode(struct ath_hal *ah)
{
HAL_POWER_MODE ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getPowerMode(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_getdiagstate(struct ath_hal *ah, int request,
const void *args, u_int32_t argsize,
void **result,
u_int32_t *resultsize)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret =
ah->ah_getDiagState(ah, request, args, argsize, *result,
resultsize);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_beaconreset(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_resetStationBeaconTimers(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_setcoverageclass(struct ath_hal *ah, u_int8_t a1,
int a2)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setCoverageClass(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline u_int64_t ath_hal_gettsf64(struct ath_hal *ah)
{
u_int64_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getTsf64(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_rxena(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_enableReceive(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_ANT_SETTING ath_hal_getantennaswitch(struct ath_hal *ah)
{
HAL_ANT_SETTING ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getAntennaSwitch(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_gpioset(struct ath_hal *ah, u_int32_t gpio,
u_int32_t val)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_gpioSet(ah, gpio, val);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_gpioCfgOutput(struct ath_hal *ah, u_int32_t gpio)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_gpioCfgOutput(ah, gpio);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_clearmcastfilter(struct ath_hal *ah,
u_int32_t index)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_clrMulticastFilterIndex(ah, index);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_txreqintrdesc(struct ath_hal *ah,
struct ath_desc *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_reqTxIntrDesc(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_rxmonitor(struct ath_hal *ah,
const HAL_NODE_STATS *a1, HAL_CHANNEL *a2)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_rxMonitor(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_puttxbuf(struct ath_hal *ah, u_int a1,
u_int32_t txdp)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setTxDP(ah, a1, txdp);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_keyset(struct ath_hal *ah, u_int16_t a1,
const HAL_KEYVAL *a2, const u_int8_t *a3,
int a4)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setKeyCacheEntry(ah, a1, a2, a3, a4);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_setopmode(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setPCUConfig(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_RFGAIN ath_hal_getrfgain(struct ath_hal *ah)
{
HAL_RFGAIN ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getRfGain(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_setmcastfilter(struct ath_hal *ah, u_int32_t filter0,
u_int32_t filter1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setMulticastFilter(ah, filter0, filter1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline u_int ath_hal_getacktimeout(struct ath_hal *ah)
{
u_int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getAckTimeout(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_beacontimers(struct ath_hal *ah,
const HAL_BEACON_STATE *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setStationBeaconTimers(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_detectcardpresent(struct ath_hal *ah)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_detectCardPresent(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int ath_hal_getslottime(struct ath_hal *ah)
{
u_int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getSlotTime(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_beaconinit(struct ath_hal *ah, u_int32_t nexttbtt,
u_int32_t intval)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_beaconInit(ah, nexttbtt, intval);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_gpiosetintr(struct ath_hal *ah, u_int a1,
u_int32_t a2)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_gpioSetIntr(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_releasetxqueue(struct ath_hal *ah, u_int q)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_releaseTxQueue(ah, q);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_keysetmac(struct ath_hal *ah, u_int16_t a1,
const u_int8_t *a2)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setKeyCacheEntryMac(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_STATUS ath_hal_txprocdesc(struct ath_hal *ah,
struct ath_desc *a1,
struct ath_tx_status *a2)
{
HAL_STATUS ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_procTxDesc(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_INT ath_hal_intrget(struct ath_hal *ah)
{
HAL_INT ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getInterrupts(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setacktimeout(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setAckTimeout(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setbssidmask(struct ath_hal *ah,
const u_int8_t *a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setBssIdMask(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setackctsrate(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setAckCTSRate(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_getrxfilter(struct ath_hal *ah)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getRxFilter(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline int16_t ath_hal_get_channel_noise(struct ath_hal *ah,
HAL_CHANNEL *a1)
{
int16_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getChanNoise(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_keyreset(struct ath_hal *ah, u_int16_t a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_resetKeyCacheEntry(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setantennaswitch(struct ath_hal *ah,
HAL_ANT_SETTING a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setAntennaSwitch(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_settxqueueprops(struct ath_hal *ah, int q,
const HAL_TXQ_INFO *qInfo)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setTxQueueProps(ah, q, qInfo);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_putrxbuf(struct ath_hal *ah, u_int32_t rxdp)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setRxDP(ah, rxdp);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_reset(struct ath_hal *ah, HAL_OPMODE a1,
HAL_CHANNEL *a2, HAL_BOOL bChannelChange,
HAL_STATUS *status)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_reset(ah, a1, a2, bChannelChange, status);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setdecompmask(struct ath_hal *ah, u_int16_t a1,
int a2)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setDecompMask(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_gettxqueueprops(struct ath_hal *ah, int q,
HAL_TXQ_INFO *qInfo)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getTxQueueProps(ah, q, qInfo);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_filltxdesc(struct ath_hal *ah,
struct ath_desc *a1, u_int segLen,
HAL_BOOL firstSeg, HAL_BOOL lastSeg,
const struct ath_desc *a5)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_fillTxDesc(ah, a1, segLen, firstSeg, lastSeg, a5);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_numtxpending(struct ath_hal *ah, u_int q)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_numTxPending(ah, q);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_startpcurecv(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_startPcuReceive(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_setdefantenna(struct ath_hal *ah, u_int a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setDefAntenna(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_setpower(struct ath_hal *ah, HAL_POWER_MODE mode,
int setChip)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setPowerMode(ah, mode, setChip);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_STATUS ath_hal_rxprocdesc(struct ath_hal *ah,
struct ath_desc *a1,
u_int32_t phyAddr,
struct ath_desc *next,
u_int64_t tsf,
struct ath_rx_status *a5)
{
HAL_STATUS ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_procRxDesc(ah, a1, phyAddr, next, tsf, a5);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int ath_hal_getackctsrate(struct ath_hal *ah)
{
u_int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getAckCTSRate(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_keycachesize(struct ath_hal *ah)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getKeyCacheSize(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setupxtxdesc(struct ath_hal *ah,
struct ath_desc *a1, u_int txRate1,
u_int txTries1, u_int txRate2,
u_int txTries2, u_int txRate3,
u_int txTries3)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret =
ah->ah_setupXTxDesc(ah, a1, txRate1, txTries1, txRate2, txTries2,
txRate3, txTries3);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_INT ath_hal_intrset(struct ath_hal *ah, HAL_INT a1)
{
HAL_INT ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setInterrupts(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int ath_hal_getctstimeout(struct ath_hal *ah)
{
u_int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getCTSTimeout(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_updatemibcounters(struct ath_hal *ah,
HAL_MIB_STATS *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_updateMibCounters(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_calibrate(struct ath_hal *ah, HAL_CHANNEL *a1,
HAL_BOOL *a2)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_perCalibration(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_getrxbuf(struct ath_hal *ah)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getRxDP(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_settxpowlimit(struct ath_hal *ah, u_int32_t a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setTxPowerLimit(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_getisr(struct ath_hal *ah, HAL_INT *a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getPendingInterrupts(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_updatetxtriglevel(struct ath_hal *ah,
HAL_BOOL incTrigLevel)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_updateTxTrigLevel(ah, incTrigLevel);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_resettxqueue(struct ath_hal *ah, u_int q)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_resetTxQueue(ah, q);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setmac(struct ath_hal *ah, const u_int8_t *a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setMacAddress(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setctstimeout(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setCTSTimeout(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline const HAL_RATE_TABLE *ath_hal_getratetable(struct ath_hal *ah,
u_int mode)
{
const HAL_RATE_TABLE *ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getRateTable(ah, mode);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_gettsf32(struct ath_hal *ah)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getTsf32(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_mibevent(struct ath_hal *ah,
const HAL_NODE_STATS *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_procMibEvent(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_setbeacontimers(struct ath_hal *ah,
const HAL_BEACON_TIMERS *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setBeaconTimers(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_STATUS ath_hal_getcapability(struct ath_hal *ah,
HAL_CAPABILITY_TYPE a1,
u_int32_t capability,
u_int32_t *result)
{
HAL_STATUS ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getCapability(ah, a1, capability, result);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_radar_wait(struct ath_hal *ah, HAL_CHANNEL *a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_radarWait(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setmcastfilterindex(struct ath_hal *ah,
u_int32_t index)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setMulticastFilterIndex(ah, index);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_getbssidmask(struct ath_hal *ah, u_int8_t *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_getBssIdMask(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_intrpend(struct ath_hal *ah)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_isInterruptPending(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_txstart(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_startTxDma(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_gettxintrtxqs(struct ath_hal *ah, u_int32_t *a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_getTxIntrQueue(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_setslottime(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setSlotTime(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_setledstate(struct ath_hal *ah, HAL_LED_STATE a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setLedState(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_setassocid(struct ath_hal *ah, const u_int8_t *bssid,
u_int16_t assocId)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_writeAssocid(ah, bssid, assocId);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline void ath_hal_resettsf(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_resetTsf(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_setuprxdesc(struct ath_hal *ah,
struct ath_desc *a1, u_int32_t size,
u_int flags)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setupRxDesc(ah, a1, size, flags);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_setrxfilter(struct ath_hal *ah, u_int32_t a1)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_setRxFilter(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_keyisvalid(struct ath_hal *ah, u_int16_t a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_isKeyCacheEntryValid(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline void ath_hal_stoppcurecv(struct ath_hal *ah)
{
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ah->ah_stopPcuReceive(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
}
static inline HAL_BOOL ath_hal_stoptxdma(struct ath_hal *ah, u_int a1)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_stopTxDma(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setcapability(struct ath_hal *ah,
HAL_CAPABILITY_TYPE a1,
u_int32_t capability,
u_int32_t setting, HAL_STATUS *a4)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setCapability(ah, a1, capability, setting, a4);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_stopdmarecv(struct ath_hal *ah)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_stopDmaReceive(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_gettxbuf(struct ath_hal *ah, u_int a1)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getTxDP(ah, a1);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline int ath_hal_setuptxqueue(struct ath_hal *ah, HAL_TX_QUEUE a1,
const HAL_TXQ_INFO *qInfo)
{
int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setupTxQueue(ah, a1, qInfo);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int ath_hal_getdefantenna(struct ath_hal *ah)
{
u_int ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_getDefAntenna(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_phydisable(struct ath_hal *ah)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_phyDisable(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setregulatorydomain(struct ath_hal *ah,
u_int16_t a1, HAL_STATUS *a2)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_setRegulatoryDomain(ah, a1, a2);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_setuptxdesc(struct ath_hal *ah,
struct ath_desc *a1, u_int pktLen,
u_int hdrLen, HAL_PKT_TYPE type,
u_int txPower, u_int txRate0,
u_int txTries0, u_int keyIx,
u_int antMode, u_int flags,
u_int rtsctsRate,
u_int rtsctsDuration,
u_int compicvLen, u_int compivLen,
u_int comp)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret =
ah->ah_setupTxDesc(ah, a1, pktLen, hdrLen, type, txPower, txRate0,
txTries0, keyIx, antMode, flags, rtsctsRate,
rtsctsDuration, compicvLen, compivLen, comp);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_gpiCfgInput(struct ath_hal *ah, u_int32_t gpio)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_gpioCfgInput(ah, gpio);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline u_int32_t ath_hal_gpioget(struct ath_hal *ah, u_int32_t gpio)
{
u_int32_t ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_gpioGet(ah, gpio);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
static inline HAL_BOOL ath_hal_disable(struct ath_hal *ah)
{
HAL_BOOL ret;
ATH_HAL_LOCK_IRQ(ah->ah_sc);
ath_hal_set_function(__func__);
ath_hal_set_device(SC_DEV_NAME(ah->ah_sc));
ret = ah->ah_disable(ah);
ath_hal_set_function(NULL);
ath_hal_set_device(NULL);
ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
}
/* Example script to create a HAL function unmangling SED script:
dmesg -c &>/dev/null && iwpriv ath0 dump_hal_map && dmesg | \
sed -n -r -e "/zz[0-9a-f]{8}/ { s~^([^+]*)[^=]*=(.*)~s/\1\/\2 (\1)/g~; p; } " \
>hal_unmangle.sed
* Example usage:
tail -f /var/log/messages | sed -f hal_unmangle.sed
*/
static inline void ath_hal_dump_map(struct ath_hal *ah)
{
#ifdef CONFIG_KALLSYMS
/* void ah_getMacAddress(struct ath_hal *ah, u_int8_t *a1) */
__print_symbol("%s=ah_getMacAddress\n",
(unsigned long)ah->ah_getMacAddress);
/* HAL_POWER_MODE ah_getPowerMode(struct ath_hal *ah) */
__print_symbol("%s=ah_getPowerMode\n",
(unsigned long)ah->ah_getPowerMode);
/* HAL_BOOL ah_getDiagState(struct ath_hal *ah, int request, const void *args, u_int32_t argsize, void **result, u_int32_t *resultsize) */
__print_symbol("%s=ah_getDiagState\n",
(unsigned long)ah->ah_getDiagState);
/* void ah_resetStationBeaconTimers(struct ath_hal *ah) */
__print_symbol("%s=ah_resetStationBeaconTimers\n",
(unsigned long)ah->ah_resetStationBeaconTimers);
/* void ah_setCoverageClass(struct ath_hal *ah, u_int8_t a1, int a2) */
__print_symbol("%s=ah_setCoverageClass\n",
(unsigned long)ah->ah_setCoverageClass);
/* u_int64_t ah_getTsf64(struct ath_hal *ah) */
__print_symbol("%s=ah_getTsf64\n", (unsigned long)ah->ah_getTsf64);
/* void ah_enableReceive(struct ath_hal *ah) */
__print_symbol("%s=ah_enableReceive\n",
(unsigned long)ah->ah_enableReceive);
/* HAL_ANT_SETTING ah_getAntennaSwitch(struct ath_hal *ah) */
__print_symbol("%s=ah_getAntennaSwitch\n",
(unsigned long)ah->ah_getAntennaSwitch);
/* HAL_BOOL ah_gpioSet(struct ath_hal *ah, u_int32_t gpio, u_int32_t val) */
__print_symbol("%s=ah_gpioSet\n", (unsigned long)ah->ah_gpioSet);
/* HAL_BOOL ah_gpioCfgOutput(struct ath_hal *ah, u_int32_t gpio) */
__print_symbol("%s=ah_gpioCfgOutput\n",
(unsigned long)ah->ah_gpioCfgOutput);
/* HAL_BOOL ah_clrMulticastFilterIndex(struct ath_hal *ah, u_int32_t index) */
__print_symbol("%s=ah_clrMulticastFilterIndex\n",
(unsigned long)ah->ah_clrMulticastFilterIndex);
/* void ah_reqTxIntrDesc(struct ath_hal *ah, struct ath_desc *a1) */
__print_symbol("%s=ah_reqTxIntrDesc\n",
(unsigned long)ah->ah_reqTxIntrDesc);
/* void ah_rxMonitor(struct ath_hal *ah, const HAL_NODE_STATS *a1, HAL_CHANNEL *a2) */
__print_symbol("%s=ah_rxMonitor\n", (unsigned long)ah->ah_rxMonitor);
/* HAL_BOOL ah_setTxDP(struct ath_hal *ah, u_int a1, u_int32_t txdp) */
__print_symbol("%s=ah_setTxDP\n", (unsigned long)ah->ah_setTxDP);
/* HAL_BOOL ah_setKeyCacheEntry(struct ath_hal *ah, u_int16_t a1, const HAL_KEYVAL *a2, const u_int8_t *a3, int a4) */
__print_symbol("%s=ah_setKeyCacheEntry\n",
(unsigned long)ah->ah_setKeyCacheEntry);
/* void ah_setPCUConfig(struct ath_hal *ah) */
__print_symbol("%s=ah_setPCUConfig\n",
(unsigned long)ah->ah_setPCUConfig);
/* HAL_RFGAIN ah_getRfGain(struct ath_hal *ah) */
__print_symbol("%s=ah_getRfGain\n", (unsigned long)ah->ah_getRfGain);
/* void ah_setMulticastFilter(struct ath_hal *ah, u_int32_t filter0, u_int32_t filter1) */
__print_symbol("%s=ah_setMulticastFilter\n",
(unsigned long)ah->ah_setMulticastFilter);
/* u_int ah_getAckTimeout(struct ath_hal *ah) */
__print_symbol("%s=ah_getAckTimeout\n",
(unsigned long)ah->ah_getAckTimeout);
/* void ah_setStationBeaconTimers(struct ath_hal *ah, const HAL_BEACON_STATE *a1) */
__print_symbol("%s=ah_setStationBeaconTimers\n",
(unsigned long)ah->ah_setStationBeaconTimers);
/* HAL_BOOL ah_detectCardPresent(struct ath_hal *ah) */
__print_symbol("%s=ah_detectCardPresent\n",
(unsigned long)ah->ah_detectCardPresent);
/* u_int ah_getSlotTime(struct ath_hal *ah) */
__print_symbol("%s=ah_getSlotTime\n",
(unsigned long)ah->ah_getSlotTime);
/* void ah_beaconInit(struct ath_hal *ah, u_int32_t nexttbtt, u_int32_t intval) */
__print_symbol("%s=ah_beaconInit\n", (unsigned long)ah->ah_beaconInit);
/* void ah_gpioSetIntr(struct ath_hal *ah, u_int a1, u_int32_t a2) */
__print_symbol("%s=ah_gpioSetIntr\n",
(unsigned long)ah->ah_gpioSetIntr);
/* HAL_BOOL ah_releaseTxQueue(struct ath_hal *ah, u_int q) */
__print_symbol("%s=ah_releaseTxQueue\n",
(unsigned long)ah->ah_releaseTxQueue);
/* HAL_BOOL ah_setKeyCacheEntryMac(struct ath_hal *ah, u_int16_t a1, const u_int8_t *a2) */
__print_symbol("%s=ah_setKeyCacheEntryMac\n",
(unsigned long)ah->ah_setKeyCacheEntryMac);
/* HAL_STATUS ah_procTxDesc(struct ath_hal *ah, struct ath_desc *a1, struct ath_tx_status *a2) */
__print_symbol("%s=ah_procTxDesc\n", (unsigned long)ah->ah_procTxDesc);
/* HAL_INT ah_getInterrupts(struct ath_hal *ah) */
__print_symbol("%s=ah_getInterrupts\n",
(unsigned long)ah->ah_getInterrupts);
/* HAL_BOOL ah_setAckTimeout(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_setAckTimeout\n",
(unsigned long)ah->ah_setAckTimeout);
/* HAL_BOOL ah_setBssIdMask(struct ath_hal *ah, const u_int8_t *a1) */
__print_symbol("%s=ah_setBssIdMask\n",
(unsigned long)ah->ah_setBssIdMask);
/* HAL_BOOL ah_setAckCTSRate(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_setAckCTSRate\n",
(unsigned long)ah->ah_setAckCTSRate);
/* u_int32_t ah_getRxFilter(struct ath_hal *ah) */
__print_symbol("%s=ah_getRxFilter\n",
(unsigned long)ah->ah_getRxFilter);
/* int16_t ah_getChanNoise(struct ath_hal *ah, HAL_CHANNEL *a1) */
__print_symbol("%s=ah_getChanNoise\n",
(unsigned long)ah->ah_getChanNoise);
/* HAL_BOOL ah_resetKeyCacheEntry(struct ath_hal *ah, u_int16_t a1) */
__print_symbol("%s=ah_resetKeyCacheEntry\n",
(unsigned long)ah->ah_resetKeyCacheEntry);
/* HAL_BOOL ah_setAntennaSwitch(struct ath_hal *ah, HAL_ANT_SETTING a1) */
__print_symbol("%s=ah_setAntennaSwitch\n",
(unsigned long)ah->ah_setAntennaSwitch);
/* HAL_BOOL ah_setTxQueueProps(struct ath_hal *ah, int q, const HAL_TXQ_INFO *qInfo) */
__print_symbol("%s=ah_setTxQueueProps\n",
(unsigned long)ah->ah_setTxQueueProps);
/* void ah_setRxDP(struct ath_hal *ah, u_int32_t rxdp) */
__print_symbol("%s=ah_setRxDP\n", (unsigned long)ah->ah_setRxDP);
/* HAL_BOOL ah_reset(struct ath_hal *ah, HAL_OPMODE a1, HAL_CHANNEL *a2, HAL_BOOL bChannelChange, HAL_STATUS *status) */
__print_symbol("%s=ah_reset\n", (unsigned long)ah->ah_reset);
/* HAL_BOOL ah_setDecompMask(struct ath_hal *ah, u_int16_t a1, int a2) */
__print_symbol("%s=ah_setDecompMask\n",
(unsigned long)ah->ah_setDecompMask);
/* HAL_BOOL ah_getTxQueueProps(struct ath_hal *ah, int q, HAL_TXQ_INFO *qInfo) */
__print_symbol("%s=ah_getTxQueueProps\n",
(unsigned long)ah->ah_getTxQueueProps);
/* HAL_BOOL ah_fillTxDesc(struct ath_hal *ah, struct ath_desc *a1, u_int segLen, HAL_BOOL firstSeg, HAL_BOOL lastSeg, const struct ath_desc *a5) */
__print_symbol("%s=ah_fillTxDesc\n", (unsigned long)ah->ah_fillTxDesc);
/* u_int32_t ah_numTxPending(struct ath_hal *ah, u_int q) */
__print_symbol("%s=ah_numTxPending\n",
(unsigned long)ah->ah_numTxPending);
/* void ah_startPcuReceive(struct ath_hal *ah) */
__print_symbol("%s=ah_startPcuReceive\n",
(unsigned long)ah->ah_startPcuReceive);
/* void ah_setDefAntenna(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_setDefAntenna\n",
(unsigned long)ah->ah_setDefAntenna);
/* HAL_BOOL ah_setPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip) */
__print_symbol("%s=ah_setPowerMode\n",
(unsigned long)ah->ah_setPowerMode);
/* HAL_STATUS ah_procRxDesc(struct ath_hal *ah, struct ath_desc *a1, u_int32_t phyAddr, struct ath_desc *next, u_int64_t tsf, struct ath_rx_status *a5) */
__print_symbol("%s=ah_procRxDesc\n", (unsigned long)ah->ah_procRxDesc);
/* u_int ah_getAckCTSRate(struct ath_hal *ah) */
__print_symbol("%s=ah_getAckCTSRate\n",
(unsigned long)ah->ah_getAckCTSRate);
/* u_int32_t ah_getKeyCacheSize(struct ath_hal *ah) */
__print_symbol("%s=ah_getKeyCacheSize\n",
(unsigned long)ah->ah_getKeyCacheSize);
/* HAL_BOOL ah_setupXTxDesc(struct ath_hal *ah, struct ath_desc *a1, u_int txRate1, u_int txTries1, u_int txRate2, u_int txTries2, u_int txRate3, u_int txTries3) */
__print_symbol("%s=ah_setupXTxDesc\n",
(unsigned long)ah->ah_setupXTxDesc);
/* HAL_INT ah_setInterrupts(struct ath_hal *ah, HAL_INT a1) */
__print_symbol("%s=ah_setInterrupts\n",
(unsigned long)ah->ah_setInterrupts);
/* u_int ah_getCTSTimeout(struct ath_hal *ah) */
__print_symbol("%s=ah_getCTSTimeout\n",
(unsigned long)ah->ah_getCTSTimeout);
/* void ah_updateMibCounters(struct ath_hal *ah, HAL_MIB_STATS *a1) */
__print_symbol("%s=ah_updateMibCounters\n",
(unsigned long)ah->ah_updateMibCounters);
/* HAL_BOOL ah_perCalibration(struct ath_hal *ah, HAL_CHANNEL *a1, HAL_BOOL *a2) */
__print_symbol("%s=ah_perCalibration\n",
(unsigned long)ah->ah_perCalibration);
/* u_int32_t ah_getRxDP(struct ath_hal *ah) */
__print_symbol("%s=ah_getRxDP\n", (unsigned long)ah->ah_getRxDP);
/* HAL_BOOL ah_setTxPowerLimit(struct ath_hal *ah, u_int32_t a1) */
__print_symbol("%s=ah_setTxPowerLimit\n",
(unsigned long)ah->ah_setTxPowerLimit);
/* HAL_BOOL ah_getPendingInterrupts(struct ath_hal *ah, HAL_INT *a1) */
__print_symbol("%s=ah_getPendingInterrupts\n",
(unsigned long)ah->ah_getPendingInterrupts);
/* HAL_BOOL ah_updateTxTrigLevel(struct ath_hal *ah, HAL_BOOL incTrigLevel) */
__print_symbol("%s=ah_updateTxTrigLevel\n",
(unsigned long)ah->ah_updateTxTrigLevel);
/* HAL_BOOL ah_resetTxQueue(struct ath_hal *ah, u_int q) */
__print_symbol("%s=ah_resetTxQueue\n",
(unsigned long)ah->ah_resetTxQueue);
/* HAL_BOOL ah_setMacAddress(struct ath_hal *ah, const u_int8_t *a1) */
__print_symbol("%s=ah_setMacAddress\n",
(unsigned long)ah->ah_setMacAddress);
/* HAL_BOOL ah_setCTSTimeout(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_setCTSTimeout\n",
(unsigned long)ah->ah_setCTSTimeout);
/* const HAL_RATE_TABLE *ah_getRateTable(struct ath_hal *ah, u_int mode) */
__print_symbol("%s=ah_getRateTable\n",
(unsigned long)ah->ah_getRateTable);
/* u_int32_t ah_getTsf32(struct ath_hal *ah) */
__print_symbol("%s=ah_getTsf32\n", (unsigned long)ah->ah_getTsf32);
/* void ah_procMibEvent(struct ath_hal *ah, const HAL_NODE_STATS *a1) */
__print_symbol("%s=ah_procMibEvent\n",
(unsigned long)ah->ah_procMibEvent);
/* void ah_setBeaconTimers(struct ath_hal *ah, const HAL_BEACON_TIMERS *a1) */
__print_symbol("%s=ah_setBeaconTimers\n",
(unsigned long)ah->ah_setBeaconTimers);
/* HAL_STATUS ah_getCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE a1, u_int32_t capability, u_int32_t *result) */
__print_symbol("%s=ah_getCapability\n",
(unsigned long)ah->ah_getCapability);
/* HAL_BOOL ah_radarWait(struct ath_hal *ah, HAL_CHANNEL *a1) */
__print_symbol("%s=ah_radarWait\n", (unsigned long)ah->ah_radarWait);
/* HAL_BOOL ah_setMulticastFilterIndex(struct ath_hal *ah, u_int32_t index) */
__print_symbol("%s=ah_setMulticastFilterIndex\n",
(unsigned long)ah->ah_setMulticastFilterIndex);
/* void ah_getBssIdMask(struct ath_hal *ah, u_int8_t *a1) */
__print_symbol("%s=ah_getBssIdMask\n",
(unsigned long)ah->ah_getBssIdMask);
/* HAL_BOOL ah_isInterruptPending(struct ath_hal *ah) */
__print_symbol("%s=ah_isInterruptPending\n",
(unsigned long)ah->ah_isInterruptPending);
/* HAL_BOOL ah_startTxDma(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_startTxDma\n", (unsigned long)ah->ah_startTxDma);
/* void ah_getTxIntrQueue(struct ath_hal *ah, u_int32_t *a1) */
__print_symbol("%s=ah_getTxIntrQueue\n",
(unsigned long)ah->ah_getTxIntrQueue);
/* HAL_BOOL ah_setSlotTime(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_setSlotTime\n",
(unsigned long)ah->ah_setSlotTime);
/* void ah_setLedState(struct ath_hal *ah, HAL_LED_STATE a1) */
__print_symbol("%s=ah_setLedState\n",
(unsigned long)ah->ah_setLedState);
/* void ah_writeAssocid(struct ath_hal *ah, const u_int8_t *bssid, u_int16_t assocId) */
__print_symbol("%s=ah_writeAssocid\n",
(unsigned long)ah->ah_writeAssocid);
/* void ah_resetTsf(struct ath_hal *ah) */
__print_symbol("%s=ah_resetTsf\n", (unsigned long)ah->ah_resetTsf);
/* HAL_BOOL ah_setupRxDesc(struct ath_hal *ah, struct ath_desc *a1, u_int32_t size, u_int flags) */
__print_symbol("%s=ah_setupRxDesc\n",
(unsigned long)ah->ah_setupRxDesc);
/* void ah_setRxFilter(struct ath_hal *ah, u_int32_t a1) */
__print_symbol("%s=ah_setRxFilter\n",
(unsigned long)ah->ah_setRxFilter);
/* HAL_BOOL ah_isKeyCacheEntryValid(struct ath_hal *ah, u_int16_t a1) */
__print_symbol("%s=ah_isKeyCacheEntryValid\n",
(unsigned long)ah->ah_isKeyCacheEntryValid);
/* void ah_stopPcuReceive(struct ath_hal *ah) */
__print_symbol("%s=ah_stopPcuReceive\n",
(unsigned long)ah->ah_stopPcuReceive);
/* HAL_BOOL ah_stopTxDma(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_stopTxDma\n", (unsigned long)ah->ah_stopTxDma);
/* HAL_BOOL ah_setCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE a1, u_int32_t capability, u_int32_t setting, HAL_STATUS *a4) */
__print_symbol("%s=ah_setCapability\n",
(unsigned long)ah->ah_setCapability);
/* HAL_BOOL ah_stopDmaReceive(struct ath_hal *ah) */
__print_symbol("%s=ah_stopDmaReceive\n",
(unsigned long)ah->ah_stopDmaReceive);
/* u_int32_t ah_getTxDP(struct ath_hal *ah, u_int a1) */
__print_symbol("%s=ah_getTxDP\n", (unsigned long)ah->ah_getTxDP);
/* int ah_setupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE a1, const HAL_TXQ_INFO *qInfo) */
__print_symbol("%s=ah_setupTxQueue\n",
(unsigned long)ah->ah_setupTxQueue);
/* u_int ah_getDefAntenna(struct ath_hal *ah) */
__print_symbol("%s=ah_getDefAntenna\n",
(unsigned long)ah->ah_getDefAntenna);
/* HAL_BOOL ah_phyDisable(struct ath_hal *ah) */
__print_symbol("%s=ah_phyDisable\n", (unsigned long)ah->ah_phyDisable);
/* HAL_BOOL ah_setRegulatoryDomain(struct ath_hal *ah, u_int16_t a1, HAL_STATUS *a2) */
__print_symbol("%s=ah_setRegulatoryDomain\n",
(unsigned long)ah->ah_setRegulatoryDomain);
/* HAL_BOOL ah_setupTxDesc(struct ath_hal *ah, struct ath_desc *a1, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower, u_int txRate0, u_int txTries0, u_int keyIx, u_int antMode, u_int flags, u_int rtsctsRate, u_int rtsctsDuration, u_int compicvLen, u_int compivLen, u_int comp) */
__print_symbol("%s=ah_setupTxDesc\n",
(unsigned long)ah->ah_setupTxDesc);
/* HAL_BOOL ah_gpioCfgInput(struct ath_hal *ah, u_int32_t gpio) */
__print_symbol("%s=ah_gpioCfgInput\n",
(unsigned long)ah->ah_gpioCfgInput);
/* u_int32_t ah_gpioGet(struct ath_hal *ah, u_int32_t gpio) */
__print_symbol("%s=ah_gpioGet\n", (unsigned long)ah->ah_gpioGet);
/* HAL_BOOL ah_disable(struct ath_hal *ah) */
__print_symbol("%s=ah_disable\n", (unsigned long)ah->ah_disable);
#else /* #ifdef CONFIG_KALLSYMS */
printk
("To use this feature you must enable CONFIG_KALLSYMS in your kernel.");
#endif /* #ifndef CONFIG_KALLSYMS */
}
#include "if_ath_hal_wrappers.h"
#include "if_ath_hal_extensions.h"
#endif /* #ifndef _IF_ATH_HAL_H_ */
/* *** THIS IS A GENERATED FILE -- DO NOT EDIT *** */
/* *** THIS IS A GENERATED FILE -- DO NOT EDIT *** */
/* *** THIS IS A GENERATED FILE -- DO NOT EDIT *** */