aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-10-30 17:36:18 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-11-02 15:39:48 -0500
commit1933ac4d9377ed44caba45abe1531ec1bc14bb63 (patch)
tree43ccdb0d06168f07ab94dd3442debb4151cd42a3 /drivers/net/wireless/iwlwifi/iwl-commands.h
parent3f3e0376bb14ac7bfd8ac3e9824b2ad04d945e18 (diff)
iwlwifi: add wimax/wifi coexist support for 6x50 series
For 6x50 series, it is wimax/wifi combo device, so driver need to enable the wimax/wifi co-exist function and send the coexist event priority table to uCode for operation. The priority table will be used by uCode to determine what is the proper action it should take when co-exist with WiMAX. For example, when WiFi runs a scan, it must own radio exclusively, therefore will disconnect WiMAX if WiMAX is connected. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 43dd6af00892..b62c90ec9e1e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -3507,6 +3507,98 @@ struct iwl_led_cmd {
3507 * also used as potential "events" value for both 3507 * also used as potential "events" value for both
3508 * COEX_MEDIUM_NOTIFICATION and COEX_EVENT_CMD 3508 * COEX_MEDIUM_NOTIFICATION and COEX_EVENT_CMD
3509 */ 3509 */
3510
3511/*
3512 * COEX events entry flag masks
3513 * RP - Requested Priority
3514 * WP - Win Medium Priority: priority assigned when the contention has been won
3515 */
3516#define COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG (0x1)
3517#define COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG (0x2)
3518#define COEX_EVT_FLAG_DELAY_MEDIUM_FREE_NTFY_FLG (0x4)
3519
3520#define COEX_CU_UNASSOC_IDLE_RP 4
3521#define COEX_CU_UNASSOC_MANUAL_SCAN_RP 4
3522#define COEX_CU_UNASSOC_AUTO_SCAN_RP 4
3523#define COEX_CU_CALIBRATION_RP 4
3524#define COEX_CU_PERIODIC_CALIBRATION_RP 4
3525#define COEX_CU_CONNECTION_ESTAB_RP 4
3526#define COEX_CU_ASSOCIATED_IDLE_RP 4
3527#define COEX_CU_ASSOC_MANUAL_SCAN_RP 4
3528#define COEX_CU_ASSOC_AUTO_SCAN_RP 4
3529#define COEX_CU_ASSOC_ACTIVE_LEVEL_RP 4
3530#define COEX_CU_RF_ON_RP 6
3531#define COEX_CU_RF_OFF_RP 4
3532#define COEX_CU_STAND_ALONE_DEBUG_RP 6
3533#define COEX_CU_IPAN_ASSOC_LEVEL_RP 4
3534#define COEX_CU_RSRVD1_RP 4
3535#define COEX_CU_RSRVD2_RP 4
3536
3537#define COEX_CU_UNASSOC_IDLE_WP 3
3538#define COEX_CU_UNASSOC_MANUAL_SCAN_WP 3
3539#define COEX_CU_UNASSOC_AUTO_SCAN_WP 3
3540#define COEX_CU_CALIBRATION_WP 3
3541#define COEX_CU_PERIODIC_CALIBRATION_WP 3
3542#define COEX_CU_CONNECTION_ESTAB_WP 3
3543#define COEX_CU_ASSOCIATED_IDLE_WP 3
3544#define COEX_CU_ASSOC_MANUAL_SCAN_WP 3
3545#define COEX_CU_ASSOC_AUTO_SCAN_WP 3
3546#define COEX_CU_ASSOC_ACTIVE_LEVEL_WP 3
3547#define COEX_CU_RF_ON_WP 3
3548#define COEX_CU_RF_OFF_WP 3
3549#define COEX_CU_STAND_ALONE_DEBUG_WP 6
3550#define COEX_CU_IPAN_ASSOC_LEVEL_WP 3
3551#define COEX_CU_RSRVD1_WP 3
3552#define COEX_CU_RSRVD2_WP 3
3553
3554#define COEX_UNASSOC_IDLE_FLAGS 0
3555#define COEX_UNASSOC_MANUAL_SCAN_FLAGS \
3556 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3557 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3558#define COEX_UNASSOC_AUTO_SCAN_FLAGS \
3559 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3560 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3561#define COEX_CALIBRATION_FLAGS \
3562 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3563 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3564#define COEX_PERIODIC_CALIBRATION_FLAGS 0
3565/*
3566 * COEX_CONNECTION_ESTAB:
3567 * we need DELAY_MEDIUM_FREE_NTFY to let WiMAX disconnect from network.
3568 */
3569#define COEX_CONNECTION_ESTAB_FLAGS \
3570 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3571 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG | \
3572 COEX_EVT_FLAG_DELAY_MEDIUM_FREE_NTFY_FLG)
3573#define COEX_ASSOCIATED_IDLE_FLAGS 0
3574#define COEX_ASSOC_MANUAL_SCAN_FLAGS \
3575 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3576 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3577#define COEX_ASSOC_AUTO_SCAN_FLAGS \
3578 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3579 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3580#define COEX_ASSOC_ACTIVE_LEVEL_FLAGS 0
3581#define COEX_RF_ON_FLAGS 0
3582#define COEX_RF_OFF_FLAGS 0
3583#define COEX_STAND_ALONE_DEBUG_FLAGS \
3584 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3585 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG)
3586#define COEX_IPAN_ASSOC_LEVEL_FLAGS \
3587 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3588 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG | \
3589 COEX_EVT_FLAG_DELAY_MEDIUM_FREE_NTFY_FLG)
3590#define COEX_RSRVD1_FLAGS 0
3591#define COEX_RSRVD2_FLAGS 0
3592/*
3593 * COEX_CU_RF_ON is the event wrapping all radio ownership.
3594 * We need DELAY_MEDIUM_FREE_NTFY to let WiMAX disconnect from network.
3595 */
3596#define COEX_CU_RF_ON_FLAGS \
3597 (COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG | \
3598 COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG | \
3599 COEX_EVT_FLAG_DELAY_MEDIUM_FREE_NTFY_FLG)
3600
3601
3510enum { 3602enum {
3511 /* un-association part */ 3603 /* un-association part */
3512 COEX_UNASSOC_IDLE = 0, 3604 COEX_UNASSOC_IDLE = 0,