Loading drivers/net/wireless/iwlwifi/iwl-agn-lib.c +0 −69 Original line number Diff line number Diff line Loading @@ -186,75 +186,6 @@ void iwlagn_dev_txfifo_flush(struct iwl_priv *priv, u16 flush_control) /* * BT coex */ /* * Macros to access the lookup table. * * The lookup table has 7 inputs: bt3_prio, bt3_txrx, bt_rf_act, wifi_req, * wifi_prio, wifi_txrx and wifi_sh_ant_req. * * It has three outputs: WLAN_ACTIVE, WLAN_KILL and ANT_SWITCH * * The format is that "registers" 8 through 11 contain the WLAN_ACTIVE bits * one after another in 32-bit registers, and "registers" 0 through 7 contain * the WLAN_KILL and ANT_SWITCH bits interleaved (in that order). * * These macros encode that format. */ #define LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, wifi_req, wifi_prio, \ wifi_txrx, wifi_sh_ant_req) \ (bt3_prio | (bt3_txrx << 1) | (bt_rf_act << 2) | (wifi_req << 3) | \ (wifi_prio << 4) | (wifi_txrx << 5) | (wifi_sh_ant_req << 6)) #define LUT_PTA_WLAN_ACTIVE_OP(lut, op, val) \ lut[8 + ((val) >> 5)] op (cpu_to_le32(BIT((val) & 0x1f))) #define LUT_TEST_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_PTA_WLAN_ACTIVE_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)))) #define LUT_SET_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_PTA_WLAN_ACTIVE_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)) #define LUT_CLEAR_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req) \ LUT_PTA_WLAN_ACTIVE_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)) #define LUT_WLAN_KILL_OP(lut, op, val) \ lut[(val) >> 4] op (cpu_to_le32(BIT(((val) << 1) & 0x1e))) #define LUT_TEST_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_WLAN_KILL_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)))) #define LUT_SET_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_WLAN_KILL_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_CLEAR_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_WLAN_KILL_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_ANT_SWITCH_OP(lut, op, val) \ lut[(val) >> 4] op (cpu_to_le32(BIT((((val) << 1) & 0x1e) + 1))) #define LUT_TEST_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_ANT_SWITCH_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)))) #define LUT_SET_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_ANT_SWITCH_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_CLEAR_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_ANT_SWITCH_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) static const __le32 iwlagn_def_3w_lookup[12] = { cpu_to_le32(0xaaaaaaaa), cpu_to_le32(0xaaaaaaaa), Loading Loading
drivers/net/wireless/iwlwifi/iwl-agn-lib.c +0 −69 Original line number Diff line number Diff line Loading @@ -186,75 +186,6 @@ void iwlagn_dev_txfifo_flush(struct iwl_priv *priv, u16 flush_control) /* * BT coex */ /* * Macros to access the lookup table. * * The lookup table has 7 inputs: bt3_prio, bt3_txrx, bt_rf_act, wifi_req, * wifi_prio, wifi_txrx and wifi_sh_ant_req. * * It has three outputs: WLAN_ACTIVE, WLAN_KILL and ANT_SWITCH * * The format is that "registers" 8 through 11 contain the WLAN_ACTIVE bits * one after another in 32-bit registers, and "registers" 0 through 7 contain * the WLAN_KILL and ANT_SWITCH bits interleaved (in that order). * * These macros encode that format. */ #define LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, wifi_req, wifi_prio, \ wifi_txrx, wifi_sh_ant_req) \ (bt3_prio | (bt3_txrx << 1) | (bt_rf_act << 2) | (wifi_req << 3) | \ (wifi_prio << 4) | (wifi_txrx << 5) | (wifi_sh_ant_req << 6)) #define LUT_PTA_WLAN_ACTIVE_OP(lut, op, val) \ lut[8 + ((val) >> 5)] op (cpu_to_le32(BIT((val) & 0x1f))) #define LUT_TEST_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_PTA_WLAN_ACTIVE_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)))) #define LUT_SET_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_PTA_WLAN_ACTIVE_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)) #define LUT_CLEAR_PTA_WLAN_ACTIVE(lut, bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req) \ LUT_PTA_WLAN_ACTIVE_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, \ bt_rf_act, wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)) #define LUT_WLAN_KILL_OP(lut, op, val) \ lut[(val) >> 4] op (cpu_to_le32(BIT(((val) << 1) & 0x1e))) #define LUT_TEST_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_WLAN_KILL_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)))) #define LUT_SET_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_WLAN_KILL_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_CLEAR_WLAN_KILL(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_WLAN_KILL_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_ANT_SWITCH_OP(lut, op, val) \ lut[(val) >> 4] op (cpu_to_le32(BIT((((val) << 1) & 0x1e) + 1))) #define LUT_TEST_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ (!!(LUT_ANT_SWITCH_OP(lut, &, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, \ wifi_sh_ant_req)))) #define LUT_SET_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_ANT_SWITCH_OP(lut, |=, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) #define LUT_CLEAR_ANT_SWITCH(lut, bt3_prio, bt3_txrx, bt_rf_act, wifi_req, \ wifi_prio, wifi_txrx, wifi_sh_ant_req) \ LUT_ANT_SWITCH_OP(lut, &= ~, LUT_VALUE(bt3_prio, bt3_txrx, bt_rf_act, \ wifi_req, wifi_prio, wifi_txrx, wifi_sh_ant_req)) static const __le32 iwlagn_def_3w_lookup[12] = { cpu_to_le32(0xaaaaaaaa), cpu_to_le32(0xaaaaaaaa), Loading