mirror of
https://github.com/proski/madwifi
synced 2024-11-21 22:11:32 +03:00
ar5416: initialize AR_CFG on little-endian systems
Reference: FreeBSD r195426 git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@4084 0192ed92-7a03-0410-a25b-9323aeb14dbd
This commit is contained in:
parent
5ca67e983b
commit
ec0aeb9411
@ -1738,7 +1738,7 @@ ar5416SetResetPowerOn(struct ath_hal *ah)
|
||||
static HAL_BOOL
|
||||
ar5416SetReset(struct ath_hal *ah, int type)
|
||||
{
|
||||
uint32_t tmpReg;
|
||||
uint32_t tmpReg, mask;
|
||||
|
||||
/*
|
||||
* Force wake
|
||||
@ -1784,23 +1784,22 @@ ar5416SetReset(struct ath_hal *ah, int type)
|
||||
/* Clear AHB reset */
|
||||
OS_REG_WRITE(ah, AR_RC, 0);
|
||||
|
||||
/* Set register and descriptor swapping on
|
||||
* Bigendian platforms on cold reset
|
||||
*/
|
||||
#ifdef __BIG_ENDIAN__
|
||||
if (type == HAL_RESET_COLD) {
|
||||
uint32_t mask;
|
||||
|
||||
HALDEBUG(ah, HAL_DEBUG_RESET,
|
||||
"%s Applying descriptor swap\n", __func__);
|
||||
|
||||
mask = INIT_CONFIG_STATUS | AR_CFG_SWRD | AR_CFG_SWRG;
|
||||
if (type == HAL_RESET_COLD) {
|
||||
if (isBigEndian()) {
|
||||
/*
|
||||
* Set CFG, little-endian for register
|
||||
* and descriptor accesses.
|
||||
*/
|
||||
mask = INIT_CONFIG_STATUS | AR_CFG_SWRD | AR_CFG_SWRG;
|
||||
#ifndef AH_NEED_DESC_SWAP
|
||||
mask |= AR_CFG_SWTD;
|
||||
mask |= AR_CFG_SWTD;
|
||||
#endif
|
||||
OS_REG_WRITE(ah, AR_CFG, LE_READ_4(&mask));
|
||||
HALDEBUG(ah, HAL_DEBUG_RESET,
|
||||
"%s Applying descriptor swap\n", __func__);
|
||||
OS_REG_WRITE(ah, AR_CFG, LE_READ_4(&mask));
|
||||
} else
|
||||
OS_REG_WRITE(ah, AR_CFG, INIT_CONFIG_STATUS);
|
||||
}
|
||||
#endif
|
||||
|
||||
ar5416InitPLL(ah, AH_NULL);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user