~ubuntu-branches/ubuntu/natty/linux-backports-modules-2.6.38/natty-proposed

« back to all changes in this revision

Viewing changes to updates/compat-wireless-2.6.37/drivers/net/wireless/ath/ath9k/btcoex.h

  • Committer: Bazaar Package Importer
  • Author(s): Tim Gardner, Tim Gardner
  • Date: 2011-06-08 10:44:09 UTC
  • Revision ID: james.westby@ubuntu.com-20110608104409-fnl8carkdo15bwsz
Tags: 2.6.38-10.6
[ Tim Gardner ]

Shorten compat-wireless package name to cw to accomodate
CDROM file name length restrictions.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (c) 2009 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
9
 
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
 
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
 
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
 
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
 
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
 
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
 
 */
16
 
 
17
 
#ifndef BTCOEX_H
18
 
#define BTCOEX_H
19
 
 
20
 
#include "hw.h"
21
 
 
22
 
#define ATH_WLANACTIVE_GPIO     5
23
 
#define ATH_BTACTIVE_GPIO       6
24
 
#define ATH_BTPRIORITY_GPIO     7
25
 
 
26
 
#define ATH_BTCOEX_DEF_BT_PERIOD  45
27
 
#define ATH_BTCOEX_DEF_DUTY_CYCLE 55
28
 
#define ATH_BTCOEX_BTSCAN_DUTY_CYCLE 90
29
 
#define ATH_BTCOEX_BMISS_THRESH   50
30
 
 
31
 
#define ATH_BT_PRIORITY_TIME_THRESHOLD 1000 /* ms */
32
 
#define ATH_BT_CNT_THRESHOLD           3
33
 
#define ATH_BT_CNT_SCAN_THRESHOLD      15
34
 
 
35
 
enum ath_btcoex_scheme {
36
 
        ATH_BTCOEX_CFG_NONE,
37
 
        ATH_BTCOEX_CFG_2WIRE,
38
 
        ATH_BTCOEX_CFG_3WIRE,
39
 
};
40
 
 
41
 
struct ath_btcoex_hw {
42
 
        enum ath_btcoex_scheme scheme;
43
 
        bool enabled;
44
 
        u8 wlanactive_gpio;
45
 
        u8 btactive_gpio;
46
 
        u8 btpriority_gpio;
47
 
        u32 bt_coex_mode;       /* Register setting for AR_BT_COEX_MODE */
48
 
        u32 bt_coex_weights;    /* Register setting for AR_BT_COEX_WEIGHT */
49
 
        u32 bt_coex_mode2;      /* Register setting for AR_BT_COEX_MODE2 */
50
 
};
51
 
 
52
 
bool ath9k_hw_btcoex_supported(struct ath_hw *ah);
53
 
void ath9k_hw_btcoex_init_2wire(struct ath_hw *ah);
54
 
void ath9k_hw_btcoex_init_3wire(struct ath_hw *ah);
55
 
void ath9k_hw_init_btcoex_hw(struct ath_hw *ah, int qnum);
56
 
void ath9k_hw_btcoex_set_weight(struct ath_hw *ah,
57
 
                                u32 bt_weight,
58
 
                                u32 wlan_weight);
59
 
void ath9k_hw_btcoex_enable(struct ath_hw *ah);
60
 
void ath9k_hw_btcoex_disable(struct ath_hw *ah);
61
 
 
62
 
#endif