mirror of
https://github.com/torvalds/linux.git
synced 2024-11-07 12:41:55 +00:00
wl12xx: configure rate policy for p2p operations
p2p packets should go out only with OFDM rates. Configure a new rate policy that will (later) be used during p2p_find (when the p2p_cli / p2p_go interfaces are in use, we won't have to use this policy, as the configured rates should already be OFDM-only). Additionally, update CONF_TX_MAX_RATE_CLASSES to reflect the current value from the fw api. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
d6222fb0d6
commit
4b29886feb
@ -777,7 +777,23 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl)
|
|||||||
acx->rate_policy.long_retry_limit = c->long_retry_limit;
|
acx->rate_policy.long_retry_limit = c->long_retry_limit;
|
||||||
acx->rate_policy.aflags = c->aflags;
|
acx->rate_policy.aflags = c->aflags;
|
||||||
|
|
||||||
|
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
|
||||||
|
if (ret < 0) {
|
||||||
|
wl1271_warning("Setting of rate policies failed: %d", ret);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* configure one rate class for basic p2p operations.
|
||||||
|
* (p2p packets should always go out with OFDM rates, even
|
||||||
|
* if we are currently connected to 11b AP)
|
||||||
|
*/
|
||||||
|
acx->rate_policy_idx = cpu_to_le32(ACX_TX_BASIC_RATE_P2P);
|
||||||
|
acx->rate_policy.enabled_rates =
|
||||||
|
cpu_to_le32(CONF_TX_RATE_MASK_BASIC_P2P);
|
||||||
|
acx->rate_policy.short_retry_limit = c->short_retry_limit;
|
||||||
|
acx->rate_policy.long_retry_limit = c->long_retry_limit;
|
||||||
|
acx->rate_policy.aflags = c->aflags;
|
||||||
|
|
||||||
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
|
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -656,6 +656,7 @@ struct acx_rate_class {
|
|||||||
|
|
||||||
#define ACX_TX_BASIC_RATE 0
|
#define ACX_TX_BASIC_RATE 0
|
||||||
#define ACX_TX_AP_FULL_RATE 1
|
#define ACX_TX_AP_FULL_RATE 1
|
||||||
|
#define ACX_TX_BASIC_RATE_P2P 2
|
||||||
#define ACX_TX_AP_MODE_MGMT_RATE 4
|
#define ACX_TX_AP_MODE_MGMT_RATE 4
|
||||||
#define ACX_TX_AP_MODE_BCST_RATE 5
|
#define ACX_TX_AP_MODE_BCST_RATE 5
|
||||||
struct acx_rate_policy {
|
struct acx_rate_policy {
|
||||||
|
@ -416,13 +416,17 @@ struct conf_rx_settings {
|
|||||||
u8 queue_type;
|
u8 queue_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CONF_TX_MAX_RATE_CLASSES 8
|
#define CONF_TX_MAX_RATE_CLASSES 10
|
||||||
|
|
||||||
#define CONF_TX_RATE_MASK_UNSPECIFIED 0
|
#define CONF_TX_RATE_MASK_UNSPECIFIED 0
|
||||||
#define CONF_TX_RATE_MASK_BASIC (CONF_HW_BIT_RATE_1MBPS | \
|
#define CONF_TX_RATE_MASK_BASIC (CONF_HW_BIT_RATE_1MBPS | \
|
||||||
CONF_HW_BIT_RATE_2MBPS)
|
CONF_HW_BIT_RATE_2MBPS)
|
||||||
#define CONF_TX_RATE_RETRY_LIMIT 10
|
#define CONF_TX_RATE_RETRY_LIMIT 10
|
||||||
|
|
||||||
|
/* basic rates for p2p operations (probe req/resp, etc.) */
|
||||||
|
#define CONF_TX_RATE_MASK_BASIC_P2P (CONF_HW_BIT_RATE_6MBPS | \
|
||||||
|
CONF_HW_BIT_RATE_12MBPS | CONF_HW_BIT_RATE_24MBPS)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Rates supported for data packets when operating as AP. Note the absence
|
* Rates supported for data packets when operating as AP. Note the absence
|
||||||
* of the 22Mbps rate. There is a FW limitation on 12 rates so we must drop
|
* of the 22Mbps rate. There is a FW limitation on 12 rates so we must drop
|
||||||
|
Loading…
Reference in New Issue
Block a user