mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
This commit is contained in:
commit
222b048cb2
|
@ -172,7 +172,7 @@ int iwl_calib_set(struct iwl_priv *priv,
|
|||
const struct iwl_calib_hdr *cmd, int len);
|
||||
void iwl_calib_free_results(struct iwl_priv *priv);
|
||||
int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
|
||||
char **buf, bool display);
|
||||
char **buf);
|
||||
int iwlagn_hw_valid_rtc_data_addr(u32 addr);
|
||||
|
||||
/* lib */
|
||||
|
|
|
@ -2237,15 +2237,13 @@ static ssize_t iwl_dbgfs_log_event_read(struct file *file,
|
|||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct iwl_priv *priv = file->private_data;
|
||||
char *buf;
|
||||
int pos = 0;
|
||||
ssize_t ret = -ENOMEM;
|
||||
char *buf = NULL;
|
||||
ssize_t ret;
|
||||
|
||||
ret = pos = iwl_dump_nic_event_log(priv, true, &buf, true);
|
||||
if (buf) {
|
||||
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
||||
ret = iwl_dump_nic_event_log(priv, true, &buf);
|
||||
if (ret > 0)
|
||||
ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret);
|
||||
kfree(buf);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -2269,7 +2267,7 @@ static ssize_t iwl_dbgfs_log_event_write(struct file *file,
|
|||
if (sscanf(buf, "%d", &event_log_flag) != 1)
|
||||
return -EFAULT;
|
||||
if (event_log_flag == 1)
|
||||
iwl_dump_nic_event_log(priv, true, NULL, false);
|
||||
iwl_dump_nic_event_log(priv, true, NULL);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
|
|
@ -1795,7 +1795,7 @@ static int iwl_print_last_event_logs(struct iwl_priv *priv, u32 capacity,
|
|||
#define DEFAULT_DUMP_EVENT_LOG_ENTRIES (20)
|
||||
|
||||
int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
|
||||
char **buf, bool display)
|
||||
char **buf)
|
||||
{
|
||||
u32 base; /* SRAM byte address of event log header */
|
||||
u32 capacity; /* event log capacity in # entries */
|
||||
|
@ -1866,7 +1866,7 @@ int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
|
|||
size);
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
if (display) {
|
||||
if (buf) {
|
||||
if (full_log)
|
||||
bufsz = capacity * 48;
|
||||
else
|
||||
|
@ -1962,7 +1962,7 @@ static void iwl_nic_error(struct iwl_op_mode *op_mode)
|
|||
priv->fw->fw_version);
|
||||
|
||||
iwl_dump_nic_error_log(priv);
|
||||
iwl_dump_nic_event_log(priv, false, NULL, false);
|
||||
iwl_dump_nic_event_log(priv, false, NULL);
|
||||
|
||||
iwlagn_fw_error(priv, false);
|
||||
}
|
||||
|
|
|
@ -695,6 +695,7 @@ void iwl_clear_ucode_stations(struct iwl_priv *priv,
|
|||
void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
|
||||
{
|
||||
struct iwl_addsta_cmd sta_cmd;
|
||||
static const struct iwl_link_quality_cmd zero_lq = {};
|
||||
struct iwl_link_quality_cmd lq;
|
||||
int i;
|
||||
bool found = false;
|
||||
|
@ -733,6 +734,8 @@ void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
|
|||
else
|
||||
memcpy(&lq, priv->stations[i].lq,
|
||||
sizeof(struct iwl_link_quality_cmd));
|
||||
|
||||
if (!memcmp(&lq, &zero_lq, sizeof(lq)))
|
||||
send_lq = true;
|
||||
}
|
||||
spin_unlock_bh(&priv->sta_lock);
|
||||
|
|
|
@ -207,7 +207,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
|||
|
||||
hw->wiphy->hw_version = mvm->trans->hw_id;
|
||||
|
||||
if (iwlwifi_mod_params.power_save)
|
||||
if (iwlmvm_mod_params.power_scheme != IWL_POWER_SCHEME_CAM)
|
||||
hw->wiphy->flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT;
|
||||
else
|
||||
hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
|
||||
|
|
|
@ -153,11 +153,6 @@ static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm,
|
|||
cmd->ci.ctrl_pos = iwl_mvm_get_ctrl_pos(chandef);
|
||||
|
||||
/* Set rx the chains */
|
||||
|
||||
/* TODO:
|
||||
* Need to add on chain noise calibration limitations, and
|
||||
* BT coex considerations.
|
||||
*/
|
||||
idle_cnt = chains_static;
|
||||
active_cnt = chains_dynamic;
|
||||
|
||||
|
|
|
@ -111,8 +111,7 @@ void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
|||
*/
|
||||
cmd->keep_alive_seconds = POWER_KEEP_ALIVE_PERIOD_SEC;
|
||||
|
||||
if ((iwlmvm_mod_params.power_scheme == IWL_POWER_SCHEME_CAM) ||
|
||||
!iwlwifi_mod_params.power_save)
|
||||
if (iwlmvm_mod_params.power_scheme == IWL_POWER_SCHEME_CAM)
|
||||
return;
|
||||
|
||||
cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_SAVE_ENA_MSK);
|
||||
|
@ -146,15 +145,9 @@ void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
|||
keep_alive = DIV_ROUND_UP(keep_alive, MSEC_PER_SEC);
|
||||
cmd->keep_alive_seconds = keep_alive;
|
||||
|
||||
if (iwlmvm_mod_params.power_scheme == IWL_POWER_SCHEME_LP) {
|
||||
/* TODO: Also for D3 (device sleep / WoWLAN) */
|
||||
cmd->rx_data_timeout = cpu_to_le32(10 * USEC_PER_MSEC);
|
||||
cmd->tx_data_timeout = cpu_to_le32(10 * USEC_PER_MSEC);
|
||||
} else {
|
||||
cmd->rx_data_timeout = cpu_to_le32(100 * USEC_PER_MSEC);
|
||||
cmd->tx_data_timeout = cpu_to_le32(100 * USEC_PER_MSEC);
|
||||
}
|
||||
}
|
||||
|
||||
int iwl_mvm_power_update_mode(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||
{
|
||||
|
@ -177,8 +170,7 @@ int iwl_mvm_power_disable(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
|||
if (vif->type != NL80211_IFTYPE_STATION || vif->p2p)
|
||||
return 0;
|
||||
|
||||
if ((iwlmvm_mod_params.power_scheme != IWL_POWER_SCHEME_CAM) &&
|
||||
iwlwifi_mod_params.power_save)
|
||||
if (iwlmvm_mod_params.power_scheme != IWL_POWER_SCHEME_CAM)
|
||||
cmd.flags |= cpu_to_le16(POWER_FLAGS_POWER_SAVE_ENA_MSK);
|
||||
|
||||
iwl_mvm_power_log(mvm, &cmd);
|
||||
|
|
|
@ -253,8 +253,9 @@ int iwl_mvm_rx_fw_error(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb,
|
|||
u8 first_antenna(u8 mask)
|
||||
{
|
||||
BUILD_BUG_ON(ANT_A != BIT(0)); /* using ffs is wrong if not */
|
||||
WARN_ON_ONCE(!mask); /* ffs will return 0 if mask is zeroed */
|
||||
return (u8)(BIT(ffs(mask)));
|
||||
if (WARN_ON_ONCE(!mask)) /* ffs will return 0 if mask is zeroed */
|
||||
return BIT(0);
|
||||
return BIT(ffs(mask) - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -256,6 +256,7 @@ static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = {
|
|||
|
||||
/* 7000 Series */
|
||||
{IWL_PCI_DEVICE(0x08B1, 0x4070, iwl7260_2ac_cfg)},
|
||||
{IWL_PCI_DEVICE(0x08B1, 0x4062, iwl7260_2ac_cfg)},
|
||||
{IWL_PCI_DEVICE(0x08B1, 0xC070, iwl7260_2ac_cfg)},
|
||||
{IWL_PCI_DEVICE(0x08B3, 0x0070, iwl3160_ac_cfg)},
|
||||
{IWL_PCI_DEVICE(0x08B3, 0x8070, iwl3160_ac_cfg)},
|
||||
|
|
Loading…
Reference in New Issue