Skip to content

Commit

Permalink
wl12xx: update BT coex configuration params
Browse files Browse the repository at this point in the history
The BT coex params api have been changed.
Update it, and init coex for both sta and ap.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information
Eliad Peller authored and Luciano Coelho committed Aug 22, 2011
1 parent 251c177 commit 3be4112
Show file tree
Hide file tree
Showing 5 changed files with 177 additions and 367 deletions.
40 changes: 5 additions & 35 deletions drivers/net/wireless/wl12xx/acx.c
Original file line number Diff line number Diff line change
Expand Up @@ -528,13 +528,13 @@ int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable)
return ret;
}

int wl1271_acx_sta_sg_cfg(struct wl1271 *wl)
int wl12xx_acx_sg_cfg(struct wl1271 *wl)
{
struct acx_sta_bt_wlan_coex_param *param;
struct acx_bt_wlan_coex_param *param;
struct conf_sg_settings *c = &wl->conf.sg;
int i, ret;

wl1271_debug(DEBUG_ACX, "acx sg sta cfg");
wl1271_debug(DEBUG_ACX, "acx sg cfg");

param = kzalloc(sizeof(*param), GFP_KERNEL);
if (!param) {
Expand All @@ -543,38 +543,8 @@ int wl1271_acx_sta_sg_cfg(struct wl1271 *wl)
}

/* BT-WLAN coext parameters */
for (i = 0; i < CONF_SG_STA_PARAMS_MAX; i++)
param->params[i] = cpu_to_le32(c->sta_params[i]);
param->param_idx = CONF_SG_PARAMS_ALL;

ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
if (ret < 0) {
wl1271_warning("failed to set sg config: %d", ret);
goto out;
}

out:
kfree(param);
return ret;
}

int wl1271_acx_ap_sg_cfg(struct wl1271 *wl)
{
struct acx_ap_bt_wlan_coex_param *param;
struct conf_sg_settings *c = &wl->conf.sg;
int i, ret;

wl1271_debug(DEBUG_ACX, "acx sg ap cfg");

param = kzalloc(sizeof(*param), GFP_KERNEL);
if (!param) {
ret = -ENOMEM;
goto out;
}

/* BT-WLAN coext parameters */
for (i = 0; i < CONF_SG_AP_PARAMS_MAX; i++)
param->params[i] = cpu_to_le32(c->ap_params[i]);
for (i = 0; i < CONF_SG_PARAMS_MAX; i++)
param->params[i] = cpu_to_le32(c->params[i]);
param->param_idx = CONF_SG_PARAMS_ALL;

ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
Expand Down
16 changes: 3 additions & 13 deletions drivers/net/wireless/wl12xx/acx.h
Original file line number Diff line number Diff line change
Expand Up @@ -302,23 +302,14 @@ struct acx_bt_wlan_coex {
u8 pad[3];
} __packed;

struct acx_sta_bt_wlan_coex_param {
struct acx_bt_wlan_coex_param {
struct acx_header header;

__le32 params[CONF_SG_STA_PARAMS_MAX];
__le32 params[CONF_SG_PARAMS_MAX];
u8 param_idx;
u8 padding[3];
} __packed;

struct acx_ap_bt_wlan_coex_param {
struct acx_header header;

__le32 params[CONF_SG_AP_PARAMS_MAX];
u8 param_idx;
u8 padding[3];
} __packed;


struct acx_dco_itrim_params {
struct acx_header header;

Expand Down Expand Up @@ -1269,8 +1260,7 @@ int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, bool enable_filter);
int wl1271_acx_beacon_filter_table(struct wl1271 *wl);
int wl1271_acx_conn_monit_params(struct wl1271 *wl, bool enable);
int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable);
int wl1271_acx_sta_sg_cfg(struct wl1271 *wl);
int wl1271_acx_ap_sg_cfg(struct wl1271 *wl);
int wl12xx_acx_sg_cfg(struct wl1271 *wl);
int wl1271_acx_cca_threshold(struct wl1271 *wl);
int wl1271_acx_bcn_dtim_options(struct wl1271 *wl);
int wl1271_acx_aid(struct wl1271 *wl, u16 aid);
Expand Down
Loading

0 comments on commit 3be4112

Please sign in to comment.