Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f6d4ca3 authored by Maxim Altshul's avatar Maxim Altshul Committed by Kalle Valo
Browse files

wlcore: Add support for get_expected_throughput opcode



Adding this opcode, allows the TI wireless driver,
to report throughput directly from FW to mac80211.

This is used mainly for mesh metric calculation.

Signed-off-by: default avatarMaxim Altshul <maxim.altshul@ti.com>
[kvalo@codeaurora.org: fix indentation]
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 88f07e70
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -5700,6 +5700,16 @@ static void wlcore_op_sta_statistics(struct ieee80211_hw *hw,
	mutex_unlock(&wl->mutex);
}

static u32 wlcore_op_get_expected_throughput(struct ieee80211_sta *sta)
{
	struct wl1271_station *wl_sta = (struct wl1271_station *)sta->drv_priv;
	struct wl1271 *wl = wl_sta->wl;
	u8 hlid = wl_sta->hlid;

	/* return in units of Kbps */
	return (wl->links[hlid].fw_rate_mbps * 1000);
}

static bool wl1271_tx_frames_pending(struct ieee80211_hw *hw)
{
	struct wl1271 *wl = hw->priv;
@@ -5900,6 +5910,7 @@ static const struct ieee80211_ops wl1271_ops = {
	.switch_vif_chanctx = wlcore_op_switch_vif_chanctx,
	.sta_rc_update = wlcore_op_sta_rc_update,
	.sta_statistics = wlcore_op_sta_statistics,
	.get_expected_throughput = wlcore_op_get_expected_throughput,
	CFG80211_TESTMODE_CMD(wl1271_tm_cmd)
};