/* * Copyright (c) 2010-2011 Atheros Communications Inc. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "hw.h" #include "hw-ops.h" #include "ar9003_phy.h" #include "ar9003_rtt.h" #define RTT_RESTORE_TIMEOUT … #define RTT_ACCESS_TIMEOUT … #define RTT_BAD_VALUE … /* * RTT (Radio Retention Table) hardware implementation information * * There is an internal table (i.e. the rtt) for each chain (or bank). * Each table contains 6 entries and each entry is corresponding to * a specific calibration parameter as depicted below. * 0~2 - DC offset DAC calibration: loop, low, high (offsetI/Q_...) * 3 - Filter cal (filterfc) * 4 - RX gain settings * 5 - Peak detector offset calibration (agc_caldac) */ void ar9003_hw_rtt_enable(struct ath_hw *ah) { … } void ar9003_hw_rtt_disable(struct ath_hw *ah) { … } void ar9003_hw_rtt_set_mask(struct ath_hw *ah, u32 rtt_mask) { … } bool ar9003_hw_rtt_force_restore(struct ath_hw *ah) { … } static void ar9003_hw_rtt_load_hist_entry(struct ath_hw *ah, u8 chain, u32 index, u32 data28) { … } void ar9003_hw_rtt_load_hist(struct ath_hw *ah) { … } static void ar9003_hw_patch_rtt(struct ath_hw *ah, int index, int chain) { … } static int ar9003_hw_rtt_fill_hist_entry(struct ath_hw *ah, u8 chain, u32 index) { … } void ar9003_hw_rtt_fill_hist(struct ath_hw *ah) { … } void ar9003_hw_rtt_clear_hist(struct ath_hw *ah) { … } bool ar9003_hw_rtt_restore(struct ath_hw *ah, struct ath9k_channel *chan) { … }