Loading drivers/net/wireless/ath/wil6210/cfg80211.c +21 −1 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ static struct ieee80211_channel wil_60ghz_channels[] = { CHAN60G(1, 0), CHAN60G(1, 0), CHAN60G(2, 0), CHAN60G(2, 0), CHAN60G(3, 0), CHAN60G(3, 0), /* channel 4 not supported yet */ CHAN60G(4, 0), }; }; enum wil_nl_60g_cmd_type { enum wil_nl_60g_cmd_type { Loading Loading @@ -107,6 +107,26 @@ struct wil_nl_60g_debug_force_wmi { u32 enable; u32 enable; } __packed; } __packed; static int wil_num_supported_channels(struct wil6210_priv *wil) { int num_channels = ARRAY_SIZE(wil_60ghz_channels); if (!test_bit(WMI_FW_CAPABILITY_CHANNEL_4, wil->fw_capabilities)) num_channels--; return num_channels; } void update_supported_bands(struct wil6210_priv *wil) { struct wiphy *wiphy = wil_to_wiphy(wil); wil_dbg_misc(wil, "update supported bands"); wiphy->bands[NL80211_BAND_60GHZ]->n_channels = wil_num_supported_channels(wil); } /* Vendor id to be used in vendor specific command and events /* Vendor id to be used in vendor specific command and events * to user space. * to user space. * NOTE: The authoritative place for definition of QCA_NL80211_VENDOR_ID, * NOTE: The authoritative place for definition of QCA_NL80211_VENDOR_ID, Loading drivers/net/wireless/ath/wil6210/main.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1158,6 +1158,8 @@ void wil_refresh_fw_capabilities(struct wil6210_priv *wil) wil->max_agg_wsize = WIL_MAX_AGG_WSIZE; wil->max_agg_wsize = WIL_MAX_AGG_WSIZE; wil->max_ampdu_size = WIL_MAX_AMPDU_SIZE; wil->max_ampdu_size = WIL_MAX_AMPDU_SIZE; } } update_supported_bands(wil); } } void wil_mbox_ring_le2cpus(struct wil6210_mbox_ring *r) void wil_mbox_ring_le2cpus(struct wil6210_mbox_ring *r) Loading drivers/net/wireless/ath/wil6210/wil6210.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1427,4 +1427,6 @@ int wmi_addba_rx_resp_edma(struct wil6210_priv *wil, u8 mid, u8 cid, u8 tid, u8 token, u16 status, bool amsdu, u8 tid, u8 token, u16 status, bool amsdu, u16 agg_wsize, u16 timeout); u16 agg_wsize, u16 timeout); void update_supported_bands(struct wil6210_priv *wil); #endif /* __WIL6210_H__ */ #endif /* __WIL6210_H__ */ drivers/net/wireless/ath/wil6210/wmi.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -105,6 +105,7 @@ enum wmi_fw_capability { WMI_FW_CAPABILITY_AMSDU = 23, WMI_FW_CAPABILITY_AMSDU = 23, WMI_FW_CAPABILITY_RAW_MODE = 24, WMI_FW_CAPABILITY_RAW_MODE = 24, WMI_FW_CAPABILITY_TX_REQ_EXT = 25, WMI_FW_CAPABILITY_TX_REQ_EXT = 25, WMI_FW_CAPABILITY_CHANNEL_4 = 26, WMI_FW_CAPABILITY_MAX, WMI_FW_CAPABILITY_MAX, }; }; Loading Loading
drivers/net/wireless/ath/wil6210/cfg80211.c +21 −1 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ static struct ieee80211_channel wil_60ghz_channels[] = { CHAN60G(1, 0), CHAN60G(1, 0), CHAN60G(2, 0), CHAN60G(2, 0), CHAN60G(3, 0), CHAN60G(3, 0), /* channel 4 not supported yet */ CHAN60G(4, 0), }; }; enum wil_nl_60g_cmd_type { enum wil_nl_60g_cmd_type { Loading Loading @@ -107,6 +107,26 @@ struct wil_nl_60g_debug_force_wmi { u32 enable; u32 enable; } __packed; } __packed; static int wil_num_supported_channels(struct wil6210_priv *wil) { int num_channels = ARRAY_SIZE(wil_60ghz_channels); if (!test_bit(WMI_FW_CAPABILITY_CHANNEL_4, wil->fw_capabilities)) num_channels--; return num_channels; } void update_supported_bands(struct wil6210_priv *wil) { struct wiphy *wiphy = wil_to_wiphy(wil); wil_dbg_misc(wil, "update supported bands"); wiphy->bands[NL80211_BAND_60GHZ]->n_channels = wil_num_supported_channels(wil); } /* Vendor id to be used in vendor specific command and events /* Vendor id to be used in vendor specific command and events * to user space. * to user space. * NOTE: The authoritative place for definition of QCA_NL80211_VENDOR_ID, * NOTE: The authoritative place for definition of QCA_NL80211_VENDOR_ID, Loading
drivers/net/wireless/ath/wil6210/main.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1158,6 +1158,8 @@ void wil_refresh_fw_capabilities(struct wil6210_priv *wil) wil->max_agg_wsize = WIL_MAX_AGG_WSIZE; wil->max_agg_wsize = WIL_MAX_AGG_WSIZE; wil->max_ampdu_size = WIL_MAX_AMPDU_SIZE; wil->max_ampdu_size = WIL_MAX_AMPDU_SIZE; } } update_supported_bands(wil); } } void wil_mbox_ring_le2cpus(struct wil6210_mbox_ring *r) void wil_mbox_ring_le2cpus(struct wil6210_mbox_ring *r) Loading
drivers/net/wireless/ath/wil6210/wil6210.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1427,4 +1427,6 @@ int wmi_addba_rx_resp_edma(struct wil6210_priv *wil, u8 mid, u8 cid, u8 tid, u8 token, u16 status, bool amsdu, u8 tid, u8 token, u16 status, bool amsdu, u16 agg_wsize, u16 timeout); u16 agg_wsize, u16 timeout); void update_supported_bands(struct wil6210_priv *wil); #endif /* __WIL6210_H__ */ #endif /* __WIL6210_H__ */
drivers/net/wireless/ath/wil6210/wmi.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -105,6 +105,7 @@ enum wmi_fw_capability { WMI_FW_CAPABILITY_AMSDU = 23, WMI_FW_CAPABILITY_AMSDU = 23, WMI_FW_CAPABILITY_RAW_MODE = 24, WMI_FW_CAPABILITY_RAW_MODE = 24, WMI_FW_CAPABILITY_TX_REQ_EXT = 25, WMI_FW_CAPABILITY_TX_REQ_EXT = 25, WMI_FW_CAPABILITY_CHANNEL_4 = 26, WMI_FW_CAPABILITY_MAX, WMI_FW_CAPABILITY_MAX, }; }; Loading