Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 135075
b: refs/heads/master
c: 14d2aac
h: refs/heads/master
i:
  135073: 4c84583
  135071: 2772d75
v: v3
  • Loading branch information
Abhijeet Kolekar authored and John W. Linville committed Mar 5, 2009
1 parent 22feac6 commit 5e56e04
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 78 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2a4ddaabe0055962fbfffb72633a97eadc7e93ac
refs/heads/master: 14d2aac580993ac8faeac0d903207e316c0881c3
32 changes: 0 additions & 32 deletions trunk/drivers/net/wireless/iwlwifi/iwl-agn.c
Original file line number Diff line number Diff line change
Expand Up @@ -601,38 +601,6 @@ static void iwl_ht_conf(struct iwl_priv *priv,
IWL_DEBUG_MAC80211(priv, "leave\n");
}

/*
* QoS support
*/
static void iwl_activate_qos(struct iwl_priv *priv, u8 force)
{
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
return;

priv->qos_data.def_qos_parm.qos_flags = 0;

if (priv->qos_data.qos_cap.q_AP.queue_request &&
!priv->qos_data.qos_cap.q_AP.txop_request)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_TXOP_TYPE_MSK;
if (priv->qos_data.qos_active)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_UPDATE_EDCA_MSK;

if (priv->current_ht_config.is_ht)
priv->qos_data.def_qos_parm.qos_flags |= QOS_PARAM_FLG_TGN_MSK;

if (force || iwl_is_associated(priv)) {
IWL_DEBUG_QOS(priv, "send QoS cmd with Qos active=%d FLAGS=0x%X\n",
priv->qos_data.qos_active,
priv->qos_data.def_qos_parm.qos_flags);

iwl_send_cmd_pdu_async(priv, REPLY_QOS_PARAM,
sizeof(struct iwl_qosparam_cmd),
&priv->qos_data.def_qos_parm, NULL);
}
}

#define MAX_UCODE_BEACON_INTERVAL 4096

static u16 iwl_adjust_beacon_interval(u16 beacon_val)
Expand Down
33 changes: 33 additions & 0 deletions trunk/drivers/net/wireless/iwlwifi/iwl-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,39 @@ int iwl_hw_nic_init(struct iwl_priv *priv)
}
EXPORT_SYMBOL(iwl_hw_nic_init);

/*
* QoS support
*/
void iwl_activate_qos(struct iwl_priv *priv, u8 force)
{
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
return;

priv->qos_data.def_qos_parm.qos_flags = 0;

if (priv->qos_data.qos_cap.q_AP.queue_request &&
!priv->qos_data.qos_cap.q_AP.txop_request)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_TXOP_TYPE_MSK;
if (priv->qos_data.qos_active)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_UPDATE_EDCA_MSK;

if (priv->current_ht_config.is_ht)
priv->qos_data.def_qos_parm.qos_flags |= QOS_PARAM_FLG_TGN_MSK;

if (force || iwl_is_associated(priv)) {
IWL_DEBUG_QOS(priv, "send QoS cmd with Qos active=%d FLAGS=0x%X\n",
priv->qos_data.qos_active,
priv->qos_data.def_qos_parm.qos_flags);

iwl_send_cmd_pdu_async(priv, REPLY_QOS_PARAM,
sizeof(struct iwl_qosparam_cmd),
&priv->qos_data.def_qos_parm, NULL);
}
}
EXPORT_SYMBOL(iwl_activate_qos);

void iwl_reset_qos(struct iwl_priv *priv)
{
u16 cw_min = 15;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/iwlwifi/iwl-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ struct ieee80211_hw *iwl_alloc_all(struct iwl_cfg *cfg,
struct ieee80211_ops *hw_ops);
void iwl_hw_detect(struct iwl_priv *priv);
void iwl_reset_qos(struct iwl_priv *priv);
void iwl_activate_qos(struct iwl_priv *priv, u8 force);
void iwl_set_rxon_hwcrypto(struct iwl_priv *priv, int hw_decrypt);
int iwl_check_rxon_cmd(struct iwl_priv *priv);
int iwl_full_rxon_required(struct iwl_priv *priv);
Expand Down
48 changes: 3 additions & 45 deletions trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c
Original file line number Diff line number Diff line change
Expand Up @@ -689,48 +689,6 @@ static void iwl3945_unset_hw_params(struct iwl_priv *priv)
priv->shared_phys);
}

/*
* QoS support
*/
static int iwl3945_send_qos_params_command(struct iwl_priv *priv,
struct iwl_qosparam_cmd *qos)
{

return iwl_send_cmd_pdu(priv, REPLY_QOS_PARAM,
sizeof(struct iwl_qosparam_cmd), qos);
}

static void iwl3945_activate_qos(struct iwl_priv *priv, u8 force)
{
unsigned long flags;

if (test_bit(STATUS_EXIT_PENDING, &priv->status))
return;

spin_lock_irqsave(&priv->lock, flags);
priv->qos_data.def_qos_parm.qos_flags = 0;

if (priv->qos_data.qos_cap.q_AP.queue_request &&
!priv->qos_data.qos_cap.q_AP.txop_request)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_TXOP_TYPE_MSK;

if (priv->qos_data.qos_active)
priv->qos_data.def_qos_parm.qos_flags |=
QOS_PARAM_FLG_UPDATE_EDCA_MSK;

spin_unlock_irqrestore(&priv->lock, flags);

if (force || iwl_is_associated(priv)) {
IWL_DEBUG_QOS(priv, "send QoS cmd with QoS active %d \n",
priv->qos_data.qos_active);

iwl3945_send_qos_params_command(priv,
&(priv->qos_data.def_qos_parm));
}
}


#define MAX_UCODE_BEACON_INTERVAL 1024
#define INTEL_CONN_LISTEN_INTERVAL cpu_to_le16(0xA)

Expand Down Expand Up @@ -3663,7 +3621,7 @@ static void iwl3945_post_associate(struct iwl_priv *priv)
break;
}

iwl3945_activate_qos(priv, 0);
iwl_activate_qos(priv, 0);

/* we have just associated, don't start scan too early */
priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN;
Expand Down Expand Up @@ -4262,9 +4220,9 @@ static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, u16 queue,

mutex_lock(&priv->mutex);
if (priv->iw_mode == NL80211_IFTYPE_AP)
iwl3945_activate_qos(priv, 1);
iwl_activate_qos(priv, 1);
else if (priv->assoc_id && iwl_is_associated(priv))
iwl3945_activate_qos(priv, 0);
iwl_activate_qos(priv, 0);

mutex_unlock(&priv->mutex);

Expand Down

0 comments on commit 5e56e04

Please sign in to comment.