[PATCH 4/4] ath10k: add abstraction layer for vdev subtype
Ben Greear
greearb at candelatech.com
Wed Jan 27 11:11:01 PST 2016
On 01/27/2016 10:55 AM, Peter Oh wrote:
> Abstraction layer for vdev subtype is added to solve
> subtype mismatch and to give flexible compatibility
> among different firmware revisions.
>
> For instance, 10.2 and 10.4 firmware has different
> definition of their vdev subtypes for Mesh.
> 10.4 defined subtype 6 for 802.11s Mesh while 10.2 uses 5.
> Hence use the abstraction API to get right subtype to use.
>
> Signed-off-by: Peter Oh <poh at qca.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath10k/mac.c | 15 ++++---
> drivers/net/wireless/ath/ath10k/wmi-ops.h | 11 +++++
> drivers/net/wireless/ath/ath10k/wmi-tlv.c | 1 +
> drivers/net/wireless/ath/ath10k/wmi.c | 70 +++++++++++++++++++++++++++++++
> drivers/net/wireless/ath/ath10k/wmi.h | 42 ++++++++++++++++---
> 5 files changed, 128 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index 2940b00..c9a39ab 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -4345,25 +4345,29 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
> bit, ar->free_vdev_map);
>
> arvif->vdev_id = bit;
> - arvif->vdev_subtype = WMI_VDEV_SUBTYPE_NONE;
> + arvif->vdev_subtype =
> + ath10k_wmi_get_vdev_subtype(ar, WMI_VDEV_SUBTYPE_NONE);
>
> switch (vif->type) {
> case NL80211_IFTYPE_P2P_DEVICE:
> arvif->vdev_type = WMI_VDEV_TYPE_STA;
> - arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_DEVICE;
> + arvif->vdev_subtype = ath10k_wmi_get_vdev_subtype
> + (ar, WMI_VDEV_SUBTYPE_P2P_DEVICE);
Would it maybe be simpler code to just assign these types to the ar struct at
firmware init time. And then do something like:
arvif->vdev_subtype = ar->p2p_subtype;
Or even maybe:
arvif->vdev_subtype = ar->subtype_for_viftype[vif->type];
I'm not sure how much it matters, but in general I find the abstraction in
ath10k makes it hard to read through the code.
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list