hw.c (69dbdd819599e2f3b77c172e83af512845bca5ad) hw.c (5f841b4130a639e5f0fbcf4a9b26045d734e4ee6)
1/*
2 * Copyright (c) 2008-2010 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 938 unchanged lines hidden (view full) ---

947 break;
948 case NL80211_IFTYPE_ADHOC:
949 case NL80211_IFTYPE_MESH_POINT:
950 REG_WRITE(ah, AR_STA_ID1, val | AR_STA_ID1_ADHOC
951 | AR_STA_ID1_KSRCH_MODE);
952 REG_SET_BIT(ah, AR_CFG, AR_CFG_AP_ADHOC_INDICATION);
953 break;
954 case NL80211_IFTYPE_STATION:
1/*
2 * Copyright (c) 2008-2010 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 938 unchanged lines hidden (view full) ---

947 break;
948 case NL80211_IFTYPE_ADHOC:
949 case NL80211_IFTYPE_MESH_POINT:
950 REG_WRITE(ah, AR_STA_ID1, val | AR_STA_ID1_ADHOC
951 | AR_STA_ID1_KSRCH_MODE);
952 REG_SET_BIT(ah, AR_CFG, AR_CFG_AP_ADHOC_INDICATION);
953 break;
954 case NL80211_IFTYPE_STATION:
955 case NL80211_IFTYPE_MONITOR:
956 REG_WRITE(ah, AR_STA_ID1, val | AR_STA_ID1_KSRCH_MODE);
957 break;
955 REG_WRITE(ah, AR_STA_ID1, val | AR_STA_ID1_KSRCH_MODE);
956 break;
957 default:
958 if (ah->is_monitoring)
959 REG_WRITE(ah, AR_STA_ID1, val | AR_STA_ID1_KSRCH_MODE);
960 break;
958 }
959}
960
961void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled,
962 u32 *coef_mantissa, u32 *coef_exponent)
963{
964 u32 coef_exp, coef_man;
965

--- 663 unchanged lines hidden (view full) ---

1629 int flags = 0;
1630
1631 ah->beacon_interval = beacon_period;
1632
1633 ENABLE_REGWRITE_BUFFER(ah);
1634
1635 switch (ah->opmode) {
1636 case NL80211_IFTYPE_STATION:
961 }
962}
963
964void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled,
965 u32 *coef_mantissa, u32 *coef_exponent)
966{
967 u32 coef_exp, coef_man;
968

--- 663 unchanged lines hidden (view full) ---

1632 int flags = 0;
1633
1634 ah->beacon_interval = beacon_period;
1635
1636 ENABLE_REGWRITE_BUFFER(ah);
1637
1638 switch (ah->opmode) {
1639 case NL80211_IFTYPE_STATION:
1637 case NL80211_IFTYPE_MONITOR:
1638 REG_WRITE(ah, AR_NEXT_TBTT_TIMER, TU_TO_USEC(next_beacon));
1639 REG_WRITE(ah, AR_NEXT_DMA_BEACON_ALERT, 0xffff);
1640 REG_WRITE(ah, AR_NEXT_SWBA, 0x7ffff);
1641 flags |= AR_TBTT_TIMER_EN;
1642 break;
1643 case NL80211_IFTYPE_ADHOC:
1644 case NL80211_IFTYPE_MESH_POINT:
1645 REG_SET_BIT(ah, AR_TXCFG,

--- 12 unchanged lines hidden (view full) ---

1658 REG_WRITE(ah, AR_NEXT_SWBA,
1659 TU_TO_USEC(next_beacon -
1660 ah->config.
1661 sw_beacon_response_time));
1662 flags |=
1663 AR_TBTT_TIMER_EN | AR_DBA_TIMER_EN | AR_SWBA_TIMER_EN;
1664 break;
1665 default:
1640 REG_WRITE(ah, AR_NEXT_TBTT_TIMER, TU_TO_USEC(next_beacon));
1641 REG_WRITE(ah, AR_NEXT_DMA_BEACON_ALERT, 0xffff);
1642 REG_WRITE(ah, AR_NEXT_SWBA, 0x7ffff);
1643 flags |= AR_TBTT_TIMER_EN;
1644 break;
1645 case NL80211_IFTYPE_ADHOC:
1646 case NL80211_IFTYPE_MESH_POINT:
1647 REG_SET_BIT(ah, AR_TXCFG,

--- 12 unchanged lines hidden (view full) ---

1660 REG_WRITE(ah, AR_NEXT_SWBA,
1661 TU_TO_USEC(next_beacon -
1662 ah->config.
1663 sw_beacon_response_time));
1664 flags |=
1665 AR_TBTT_TIMER_EN | AR_DBA_TIMER_EN | AR_SWBA_TIMER_EN;
1666 break;
1667 default:
1668 if (ah->is_monitoring) {
1669 REG_WRITE(ah, AR_NEXT_TBTT_TIMER,
1670 TU_TO_USEC(next_beacon));
1671 REG_WRITE(ah, AR_NEXT_DMA_BEACON_ALERT, 0xffff);
1672 REG_WRITE(ah, AR_NEXT_SWBA, 0x7ffff);
1673 flags |= AR_TBTT_TIMER_EN;
1674 break;
1675 }
1666 ath_print(ath9k_hw_common(ah), ATH_DBG_BEACON,
1667 "%s: unsupported opmode: %d\n",
1668 __func__, ah->opmode);
1669 return;
1670 break;
1671 }
1672
1673 REG_WRITE(ah, AR_BEACON_PERIOD, TU_TO_USEC(beacon_period));

--- 884 unchanged lines hidden ---
1676 ath_print(ath9k_hw_common(ah), ATH_DBG_BEACON,
1677 "%s: unsupported opmode: %d\n",
1678 __func__, ah->opmode);
1679 return;
1680 break;
1681 }
1682
1683 REG_WRITE(ah, AR_BEACON_PERIOD, TU_TO_USEC(beacon_period));

--- 884 unchanged lines hidden ---