ath10k: add abstraction layer for vdev subtype
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@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
此提交包含在:
@@ -186,6 +186,8 @@ struct wmi_ops {
|
||||
u8 enable,
|
||||
u32 detect_level,
|
||||
u32 detect_margin);
|
||||
int (*get_vdev_subtype)(struct ath10k *ar,
|
||||
enum wmi_vdev_subtype subtype);
|
||||
};
|
||||
|
||||
int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
|
||||
@@ -1327,4 +1329,13 @@ ath10k_wmi_pdev_enable_adaptive_cca(struct ath10k *ar, u8 enable,
|
||||
ar->wmi.cmd->pdev_enable_adaptive_cca_cmdid);
|
||||
}
|
||||
|
||||
static inline int
|
||||
ath10k_wmi_get_vdev_subtype(struct ath10k *ar, enum wmi_vdev_subtype subtype)
|
||||
{
|
||||
if (!ar->wmi.ops->get_vdev_subtype)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return ar->wmi.ops->get_vdev_subtype(ar, subtype);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
新增問題並參考
封鎖使用者