xref: /linux/drivers/net/wireless/ath/ath9k/ar9003_rtt.h (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1324c74adSRajkumar Manoharan /*
2324c74adSRajkumar Manoharan  * Copyright (c) 2010-2011 Atheros Communications Inc.
3324c74adSRajkumar Manoharan  *
4324c74adSRajkumar Manoharan  * Permission to use, copy, modify, and/or distribute this software for any
5324c74adSRajkumar Manoharan  * purpose with or without fee is hereby granted, provided that the above
6324c74adSRajkumar Manoharan  * copyright notice and this permission notice appear in all copies.
7324c74adSRajkumar Manoharan  *
8324c74adSRajkumar Manoharan  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9324c74adSRajkumar Manoharan  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10324c74adSRajkumar Manoharan  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11324c74adSRajkumar Manoharan  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12324c74adSRajkumar Manoharan  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13324c74adSRajkumar Manoharan  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14324c74adSRajkumar Manoharan  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15324c74adSRajkumar Manoharan  */
16324c74adSRajkumar Manoharan 
17324c74adSRajkumar Manoharan #ifndef AR9003_RTT_H
18324c74adSRajkumar Manoharan #define AR9003_RTT_H
19324c74adSRajkumar Manoharan 
20*935477edSFelix Fietkau #ifdef CONFIG_ATH9K_PCOEM
21324c74adSRajkumar Manoharan void ar9003_hw_rtt_enable(struct ath_hw *ah);
22324c74adSRajkumar Manoharan void ar9003_hw_rtt_disable(struct ath_hw *ah);
23324c74adSRajkumar Manoharan void ar9003_hw_rtt_set_mask(struct ath_hw *ah, u32 rtt_mask);
24324c74adSRajkumar Manoharan bool ar9003_hw_rtt_force_restore(struct ath_hw *ah);
258a90555fSSujith Manoharan void ar9003_hw_rtt_load_hist(struct ath_hw *ah);
268a90555fSSujith Manoharan void ar9003_hw_rtt_fill_hist(struct ath_hw *ah);
27324c74adSRajkumar Manoharan void ar9003_hw_rtt_clear_hist(struct ath_hw *ah);
288a90555fSSujith Manoharan bool ar9003_hw_rtt_restore(struct ath_hw *ah, struct ath9k_channel *chan);
29*935477edSFelix Fietkau #else
30*935477edSFelix Fietkau static inline void ar9003_hw_rtt_enable(struct ath_hw *ah)
31*935477edSFelix Fietkau {
32*935477edSFelix Fietkau }
33*935477edSFelix Fietkau 
34*935477edSFelix Fietkau static inline void ar9003_hw_rtt_disable(struct ath_hw *ah)
35*935477edSFelix Fietkau {
36*935477edSFelix Fietkau }
37*935477edSFelix Fietkau 
38*935477edSFelix Fietkau static inline void ar9003_hw_rtt_set_mask(struct ath_hw *ah, u32 rtt_mask)
39*935477edSFelix Fietkau {
40*935477edSFelix Fietkau }
41*935477edSFelix Fietkau 
42*935477edSFelix Fietkau static inline bool ar9003_hw_rtt_force_restore(struct ath_hw *ah)
43*935477edSFelix Fietkau {
44*935477edSFelix Fietkau 	return false;
45*935477edSFelix Fietkau }
46*935477edSFelix Fietkau 
47*935477edSFelix Fietkau static inline void ar9003_hw_rtt_load_hist(struct ath_hw *ah)
48*935477edSFelix Fietkau {
49*935477edSFelix Fietkau }
50*935477edSFelix Fietkau 
51*935477edSFelix Fietkau static inline void ar9003_hw_rtt_fill_hist(struct ath_hw *ah)
52*935477edSFelix Fietkau {
53*935477edSFelix Fietkau }
54*935477edSFelix Fietkau 
55*935477edSFelix Fietkau static inline void ar9003_hw_rtt_clear_hist(struct ath_hw *ah)
56*935477edSFelix Fietkau {
57*935477edSFelix Fietkau }
58*935477edSFelix Fietkau 
59*935477edSFelix Fietkau static inline bool ar9003_hw_rtt_restore(struct ath_hw *ah, struct ath9k_channel *chan)
60*935477edSFelix Fietkau {
61*935477edSFelix Fietkau 	return false;
62*935477edSFelix Fietkau }
63*935477edSFelix Fietkau #endif
64324c74adSRajkumar Manoharan 
65324c74adSRajkumar Manoharan #endif
66