ath9k: add TX99 support

TX99 support enables Specific Absorption Rate (SAR) testing.
SAR is the unit of measurement for the amount of radio frequency(RF)
absorbed by the body when using a wireless device. The RF
exposure limits used are expressed in the terms of SAR, which is a
measure of the electric and magnetic field strength and power density
for transmitters operating at frequencies from 300 kHz to 100 GHz.

Regulatory bodies around the world require that wireless device
be evaluated to meet the RF exposure limits set forth in the
governmental SAR regulations.

In the examples below, for more bit rate options see the iw TX bitrate
setting documentation:

http://wireless.kernel.org/en/users/Documentation/iw#Modifying_transmit_bitrates

Example usage:

iw phy phy0 interface add moni0 type monitor
ip link set dev moni0 up

iw dev moni0 set channel 36 HT40+
iw set bitrates mcs-5 4

echo 10 > /sys/kernel/debug/ieee80211/phy0/ath9k/tx99_power
echo 1  > /sys/kernel/debug/ieee80211/phy0/ath9k/tx99

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Luis R. Rodriguez
2013-10-14 17:42:11 -07:00
committed by John W. Linville
부모 09b029b6b6
커밋 89f927af7f
12개의 변경된 파일522개의 추가작업 그리고 17개의 파일을 삭제

파일 보기

@@ -78,6 +78,22 @@ static inline void ath9k_hw_antdiv_comb_conf_set(struct ath_hw *ah,
ath9k_hw_ops(ah)->antdiv_comb_conf_set(ah, antconf);
}
static inline void ath9k_hw_tx99_start(struct ath_hw *ah, u32 qnum)
{
ath9k_hw_ops(ah)->tx99_start(ah, qnum);
}
static inline void ath9k_hw_tx99_stop(struct ath_hw *ah)
{
ath9k_hw_ops(ah)->tx99_stop(ah);
}
static inline void ath9k_hw_tx99_set_txpower(struct ath_hw *ah, u8 power)
{
if (ath9k_hw_ops(ah)->tx99_set_txpower)
ath9k_hw_ops(ah)->tx99_set_txpower(ah, power);
}
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
static inline void ath9k_hw_set_bt_ant_diversity(struct ath_hw *ah, bool enable)