提交 8fffc15d 编写于 作者: A Al Viro 提交者: David S. Miller

eliminate byteswapping in struct ieee80211_qos_parameters

Make it match the on-the-wire endianness, eliminate byteswapping.
The only driver that used this sucker (ipw2200) updated.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 c0ddd04d
...@@ -6904,7 +6904,7 @@ static int ipw_qos_activate(struct ipw_priv *priv, ...@@ -6904,7 +6904,7 @@ static int ipw_qos_activate(struct ipw_priv *priv,
burst_duration = ipw_qos_get_burst_duration(priv); burst_duration = ipw_qos_get_burst_duration(priv);
for (i = 0; i < QOS_QUEUE_NUM; i++) for (i = 0; i < QOS_QUEUE_NUM; i++)
qos_parameters[QOS_PARAM_SET_ACTIVE].tx_op_limit[i] = qos_parameters[QOS_PARAM_SET_ACTIVE].tx_op_limit[i] =
(u16)burst_duration; cpu_to_le16(burst_duration);
} else if (priv->ieee->iw_mode == IW_MODE_ADHOC) { } else if (priv->ieee->iw_mode == IW_MODE_ADHOC) {
if (type == IEEE_B) { if (type == IEEE_B) {
IPW_DEBUG_QOS("QoS activate IBSS nework mode %d\n", IPW_DEBUG_QOS("QoS activate IBSS nework mode %d\n",
...@@ -6936,20 +6936,11 @@ static int ipw_qos_activate(struct ipw_priv *priv, ...@@ -6936,20 +6936,11 @@ static int ipw_qos_activate(struct ipw_priv *priv,
burst_duration = ipw_qos_get_burst_duration(priv); burst_duration = ipw_qos_get_burst_duration(priv);
for (i = 0; i < QOS_QUEUE_NUM; i++) for (i = 0; i < QOS_QUEUE_NUM; i++)
qos_parameters[QOS_PARAM_SET_ACTIVE]. qos_parameters[QOS_PARAM_SET_ACTIVE].
tx_op_limit[i] = (u16)burst_duration; tx_op_limit[i] = cpu_to_le16(burst_duration);
} }
} }
IPW_DEBUG_QOS("QoS sending IPW_CMD_QOS_PARAMETERS\n"); IPW_DEBUG_QOS("QoS sending IPW_CMD_QOS_PARAMETERS\n");
for (i = 0; i < 3; i++) {
int j;
for (j = 0; j < QOS_QUEUE_NUM; j++) {
qos_parameters[i].cw_min[j] = cpu_to_le16(qos_parameters[i].cw_min[j]);
qos_parameters[i].cw_max[j] = cpu_to_le16(qos_parameters[i].cw_max[j]);
qos_parameters[i].tx_op_limit[j] = cpu_to_le16(qos_parameters[i].tx_op_limit[j]);
}
}
err = ipw_send_qos_params_command(priv, err = ipw_send_qos_params_command(priv,
(struct ieee80211_qos_parameters *) (struct ieee80211_qos_parameters *)
&(qos_parameters[0])); &(qos_parameters[0]));
......
...@@ -267,25 +267,25 @@ enum connection_manager_assoc_states { ...@@ -267,25 +267,25 @@ enum connection_manager_assoc_states {
#define CW_MIN_CCK 31 #define CW_MIN_CCK 31
#define CW_MAX_CCK 1023 #define CW_MAX_CCK 1023
#define QOS_TX0_CW_MIN_OFDM CW_MIN_OFDM #define QOS_TX0_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define QOS_TX1_CW_MIN_OFDM CW_MIN_OFDM #define QOS_TX1_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define QOS_TX2_CW_MIN_OFDM ( (CW_MIN_OFDM + 1) / 2 - 1 ) #define QOS_TX2_CW_MIN_OFDM cpu_to_le16((CW_MIN_OFDM + 1)/2 - 1)
#define QOS_TX3_CW_MIN_OFDM ( (CW_MIN_OFDM + 1) / 4 - 1 ) #define QOS_TX3_CW_MIN_OFDM cpu_to_le16((CW_MIN_OFDM + 1)/4 - 1)
#define QOS_TX0_CW_MIN_CCK CW_MIN_CCK #define QOS_TX0_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define QOS_TX1_CW_MIN_CCK CW_MIN_CCK #define QOS_TX1_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define QOS_TX2_CW_MIN_CCK ( (CW_MIN_CCK + 1) / 2 - 1 ) #define QOS_TX2_CW_MIN_CCK cpu_to_le16((CW_MIN_CCK + 1)/2 - 1)
#define QOS_TX3_CW_MIN_CCK ( (CW_MIN_CCK + 1) / 4 - 1 ) #define QOS_TX3_CW_MIN_CCK cpu_to_le16((CW_MIN_CCK + 1)/4 - 1)
#define QOS_TX0_CW_MAX_OFDM CW_MAX_OFDM #define QOS_TX0_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define QOS_TX1_CW_MAX_OFDM CW_MAX_OFDM #define QOS_TX1_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define QOS_TX2_CW_MAX_OFDM CW_MIN_OFDM #define QOS_TX2_CW_MAX_OFDM cpu_to_le16(CW_MIN_OFDM)
#define QOS_TX3_CW_MAX_OFDM ( (CW_MIN_OFDM + 1) / 2 - 1 ) #define QOS_TX3_CW_MAX_OFDM cpu_to_le16((CW_MIN_OFDM + 1)/2 - 1)
#define QOS_TX0_CW_MAX_CCK CW_MAX_CCK #define QOS_TX0_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define QOS_TX1_CW_MAX_CCK CW_MAX_CCK #define QOS_TX1_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define QOS_TX2_CW_MAX_CCK CW_MIN_CCK #define QOS_TX2_CW_MAX_CCK cpu_to_le16(CW_MIN_CCK)
#define QOS_TX3_CW_MAX_CCK ( (CW_MIN_CCK + 1) / 2 - 1 ) #define QOS_TX3_CW_MAX_CCK cpu_to_le16((CW_MIN_CCK + 1)/2 - 1)
#define QOS_TX0_AIFS (3 - QOS_AIFSN_MIN_VALUE) #define QOS_TX0_AIFS (3 - QOS_AIFSN_MIN_VALUE)
#define QOS_TX1_AIFS (7 - QOS_AIFSN_MIN_VALUE) #define QOS_TX1_AIFS (7 - QOS_AIFSN_MIN_VALUE)
...@@ -299,33 +299,33 @@ enum connection_manager_assoc_states { ...@@ -299,33 +299,33 @@ enum connection_manager_assoc_states {
#define QOS_TX0_TXOP_LIMIT_CCK 0 #define QOS_TX0_TXOP_LIMIT_CCK 0
#define QOS_TX1_TXOP_LIMIT_CCK 0 #define QOS_TX1_TXOP_LIMIT_CCK 0
#define QOS_TX2_TXOP_LIMIT_CCK 6016 #define QOS_TX2_TXOP_LIMIT_CCK cpu_to_le16(6016)
#define QOS_TX3_TXOP_LIMIT_CCK 3264 #define QOS_TX3_TXOP_LIMIT_CCK cpu_to_le16(3264)
#define QOS_TX0_TXOP_LIMIT_OFDM 0 #define QOS_TX0_TXOP_LIMIT_OFDM 0
#define QOS_TX1_TXOP_LIMIT_OFDM 0 #define QOS_TX1_TXOP_LIMIT_OFDM 0
#define QOS_TX2_TXOP_LIMIT_OFDM 3008 #define QOS_TX2_TXOP_LIMIT_OFDM cpu_to_le16(3008)
#define QOS_TX3_TXOP_LIMIT_OFDM 1504 #define QOS_TX3_TXOP_LIMIT_OFDM cpu_to_le16(1504)
#define DEF_TX0_CW_MIN_OFDM CW_MIN_OFDM #define DEF_TX0_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define DEF_TX1_CW_MIN_OFDM CW_MIN_OFDM #define DEF_TX1_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define DEF_TX2_CW_MIN_OFDM CW_MIN_OFDM #define DEF_TX2_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define DEF_TX3_CW_MIN_OFDM CW_MIN_OFDM #define DEF_TX3_CW_MIN_OFDM cpu_to_le16(CW_MIN_OFDM)
#define DEF_TX0_CW_MIN_CCK CW_MIN_CCK #define DEF_TX0_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define DEF_TX1_CW_MIN_CCK CW_MIN_CCK #define DEF_TX1_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define DEF_TX2_CW_MIN_CCK CW_MIN_CCK #define DEF_TX2_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define DEF_TX3_CW_MIN_CCK CW_MIN_CCK #define DEF_TX3_CW_MIN_CCK cpu_to_le16(CW_MIN_CCK)
#define DEF_TX0_CW_MAX_OFDM CW_MAX_OFDM #define DEF_TX0_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define DEF_TX1_CW_MAX_OFDM CW_MAX_OFDM #define DEF_TX1_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define DEF_TX2_CW_MAX_OFDM CW_MAX_OFDM #define DEF_TX2_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define DEF_TX3_CW_MAX_OFDM CW_MAX_OFDM #define DEF_TX3_CW_MAX_OFDM cpu_to_le16(CW_MAX_OFDM)
#define DEF_TX0_CW_MAX_CCK CW_MAX_CCK #define DEF_TX0_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define DEF_TX1_CW_MAX_CCK CW_MAX_CCK #define DEF_TX1_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define DEF_TX2_CW_MAX_CCK CW_MAX_CCK #define DEF_TX2_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define DEF_TX3_CW_MAX_CCK CW_MAX_CCK #define DEF_TX3_CW_MAX_CCK cpu_to_le16(CW_MAX_CCK)
#define DEF_TX0_AIFS 0 #define DEF_TX0_AIFS 0
#define DEF_TX1_AIFS 0 #define DEF_TX1_AIFS 0
......
...@@ -1032,16 +1032,16 @@ static int ieee80211_qos_convert_ac_to_parameters(struct ...@@ -1032,16 +1032,16 @@ static int ieee80211_qos_convert_ac_to_parameters(struct
qos_param->aifs[i] -= (qos_param->aifs[i] < 2) ? 0 : 2; qos_param->aifs[i] -= (qos_param->aifs[i] < 2) ? 0 : 2;
cw_min = ac_params->ecw_min_max & 0x0F; cw_min = ac_params->ecw_min_max & 0x0F;
qos_param->cw_min[i] = (u16) ((1 << cw_min) - 1); qos_param->cw_min[i] = cpu_to_le16((1 << cw_min) - 1);
cw_max = (ac_params->ecw_min_max & 0xF0) >> 4; cw_max = (ac_params->ecw_min_max & 0xF0) >> 4;
qos_param->cw_max[i] = (u16) ((1 << cw_max) - 1); qos_param->cw_max[i] = cpu_to_le16((1 << cw_max) - 1);
qos_param->flag[i] = qos_param->flag[i] =
(ac_params->aci_aifsn & 0x10) ? 0x01 : 0x00; (ac_params->aci_aifsn & 0x10) ? 0x01 : 0x00;
txop = le16_to_cpu(ac_params->tx_op_limit) * 32; txop = le16_to_cpu(ac_params->tx_op_limit) * 32;
qos_param->tx_op_limit[i] = (u16) txop; qos_param->tx_op_limit[i] = cpu_to_le16(txop);
} }
return rc; return rc;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册