/* * Set power mgt to the requested mode, and conditionally set * the chip as well */ HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int set_chip) { struct ath_hal_5416 *ahp = AH5416(ah); #ifdef AH_DEBUG static const char* modes[] = { "AWAKE", "FULL-SLEEP", "NETWORK SLEEP", "UNDEFINED" }; #endif int status = AH_TRUE; HDPRINTF(ah, HAL_DBG_POWER_MGMT, "%s: %s -> %s (%s)\n", __func__, modes[ahp->ah_powerMode], modes[mode], set_chip ? "set chip " : ""); switch (mode) { case HAL_PM_AWAKE: status = ar5416SetPowerModeAwake(ah, set_chip); break; case HAL_PM_FULL_SLEEP: ar5416SetPowerModeSleep(ah, set_chip); ahp->ah_chipFullSleep = AH_TRUE; break; case HAL_PM_NETWORK_SLEEP: ar5416SetPowerModeNetworkSleep(ah, set_chip); break; default: HDPRINTF(ah, HAL_DBG_POWER_MGMT, "%s: unknown power mode %u\n", __func__, mode); return AH_FALSE; } ahp->ah_powerMode = mode; HTC_SET_PS_STATE(ah, mode); return status; }
/* * Set power mgt to the requested mode, and conditionally set * the chip as well */ HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip) { struct ath_hal_5212 *ahp = AH5212(ah); #ifdef AH_DEBUG static const char* modes[] = { "AWAKE", "FULL-SLEEP", "NETWORK SLEEP", "UNDEFINED" }; #endif int status = AH_TRUE; if (!setChip) return AH_TRUE; HALDEBUG(ah, HAL_DEBUG_POWER, "%s: %s -> %s (%s)\n", __func__, modes[ahp->ah_powerMode], modes[mode], setChip ? "set chip " : ""); switch (mode) { case HAL_PM_AWAKE: status = ar5416SetPowerModeAwake(ah, setChip); break; case HAL_PM_FULL_SLEEP: ar5416SetPowerModeSleep(ah, setChip); break; case HAL_PM_NETWORK_SLEEP: ar5416SetPowerModeNetworkSleep(ah, setChip); break; default: HALDEBUG(ah, HAL_DEBUG_ANY, "%s: unknown power mode 0x%x\n", __func__, mode); return AH_FALSE; } ahp->ah_powerMode = mode; return status; }