提交 9c531149 编写于 作者: E Eliad Peller 提交者: Luciano Coelho

wl12xx: fw api change - add role_id to tsf_info

The ACX_TSF_INFO command now takes role_id as param.
change the struct accordingly, and pass the wlvif
to the wl1271_acx_tsf_info() function.
Signed-off-by: NEliad Peller <eliad@wizery.com>
Signed-off-by: NLuciano Coelho <coelho@ti.com>
上级 c059beb2
...@@ -1459,9 +1459,10 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, ...@@ -1459,9 +1459,10 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
return ret; return ret;
} }
int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime) int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
u64 *mactime)
{ {
struct wl1271_acx_fw_tsf_information *tsf_info; struct wl12xx_acx_fw_tsf_information *tsf_info;
int ret; int ret;
tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL); tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL);
...@@ -1470,6 +1471,8 @@ int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime) ...@@ -1470,6 +1471,8 @@ int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime)
goto out; goto out;
} }
tsf_info->role_id = wlvif->role_id;
ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO, ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO,
tsf_info, sizeof(*tsf_info)); tsf_info, sizeof(*tsf_info));
if (ret < 0) { if (ret < 0) {
......
...@@ -995,15 +995,17 @@ struct wl1271_acx_ba_receiver_setup { ...@@ -995,15 +995,17 @@ struct wl1271_acx_ba_receiver_setup {
u8 padding[2]; u8 padding[2];
} __packed; } __packed;
struct wl1271_acx_fw_tsf_information { struct wl12xx_acx_fw_tsf_information {
struct acx_header header; struct acx_header header;
u8 role_id;
u8 padding1[3];
__le32 current_tsf_high; __le32 current_tsf_high;
__le32 current_tsf_low; __le32 current_tsf_low;
__le32 last_bttt_high; __le32 last_bttt_high;
__le32 last_tbtt_low; __le32 last_tbtt_low;
u8 last_dtim_count; u8 last_dtim_count;
u8 padding[3]; u8 padding2[3];
} __packed; } __packed;
struct wl1271_acx_ps_rx_streaming { struct wl1271_acx_ps_rx_streaming {
...@@ -1296,7 +1298,8 @@ int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl, ...@@ -1296,7 +1298,8 @@ int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
struct wl12xx_vif *wlvif); struct wl12xx_vif *wlvif);
int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
u16 ssn, bool enable, u8 peer_hlid); u16 ssn, bool enable, u8 peer_hlid);
int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime); int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
u64 *mactime);
int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
bool enable); bool enable);
int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif); int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif);
......
...@@ -4047,6 +4047,7 @@ static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw, ...@@ -4047,6 +4047,7 @@ static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw,
{ {
struct wl1271 *wl = hw->priv; struct wl1271 *wl = hw->priv;
struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
u64 mactime = ULLONG_MAX; u64 mactime = ULLONG_MAX;
int ret; int ret;
...@@ -4061,7 +4062,7 @@ static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw, ...@@ -4061,7 +4062,7 @@ static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw,
if (ret < 0) if (ret < 0)
goto out; goto out;
ret = wl1271_acx_tsf_info(wl, &mactime); ret = wl12xx_acx_tsf_info(wl, wlvif, &mactime);
if (ret < 0) if (ret < 0)
goto out_sleep; goto out_sleep;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册