u32 cmd_id)
{
struct ath11k_skb_cb *skb_cb = ATH11K_SKB_CB(skb);
- struct ath11k_base *ab = wmi->wmi_sc->ab;
+ struct ath11k_base *ab = wmi->wmi_ab->ab;
struct wmi_cmd_hdr *cmd_hdr;
int ret;
u32 cmd = 0;
int ath11k_wmi_cmd_send(struct ath11k_pdev_wmi *wmi, struct sk_buff *skb,
u32 cmd_id)
{
- struct ath11k_wmi_base *wmi_sc = wmi->wmi_sc;
+ struct ath11k_wmi_base *wmi_sc = wmi->wmi_ab;
int ret = -EOPNOTSUPP;
might_sleep();
for (i = 0, j = 0; i < WMI_SERVICE_BM_SIZE && j < WMI_MAX_SERVICE; i++) {
do {
if (wmi_svc_bm[i] & BIT(j % WMI_SERVICE_BITS_IN_SIZE32))
- set_bit(j, wmi->wmi_sc->svc_map);
+ set_bit(j, wmi->wmi_ab->svc_map);
} while (++j % WMI_SERVICE_BITS_IN_SIZE32);
}
}
const void *ptr, void *data)
{
struct wmi_tlv_svc_ready_parse *svc_ready = data;
- struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_sc.wmi[0];
+ struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_ab.wmi[0];
u16 expect_len;
switch (tag) {
len = sizeof(*cmd) + sizeof(*frame_tlv) + roundup(buf_len, 4);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
len = sizeof(*cmd) + TLV_HDR_SIZE +
(WMI_NUM_SUPPORTED_BAND_MAX * sizeof(*txrx_streams));
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
len = sizeof(*cmd) + sizeof(*chan) + TLV_HDR_SIZE;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(ar->wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(ar->wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
len = sizeof(*cmd);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
len = sizeof(*cmd) + sizeof(*bcn_prb_info) + TLV_HDR_SIZE + aligned_len;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
len = sizeof(*cmd) + TLV_HDR_SIZE + key_len_aligned;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
sizeof(*mcs) + TLV_HDR_SIZE +
(sizeof(*he_mcs) * param->peer_he_mcs_count);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
roundup(params->extraie.len, sizeof(u32));
len += extraie_len_with_pad;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
len = sizeof(*cmd) + TLV_HDR_SIZE +
sizeof(*chan_info) * chan_list->nallchans;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret, ac;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
int ret, len;
len = sizeof(*cmd) + sizeof(*info) + TLV_HDR_SIZE;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
struct sk_buff *skb;
int ret;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, sizeof(*cmd));
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
if (!skb)
return -ENOMEM;
ath11k_wmi_send_twt_enable_cmd(struct ath11k *ar, u32 pdev_id)
{
struct ath11k_pdev_wmi *wmi = ar->wmi;
- struct ath11k_base *ab = wmi->wmi_sc->ab;
+ struct ath11k_base *ab = wmi->wmi_ab->ab;
struct wmi_twt_enable_params_cmd *cmd;
struct sk_buff *skb;
int ret, len;
len = sizeof(*cmd);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id)
{
struct ath11k_pdev_wmi *wmi = ar->wmi;
- struct ath11k_base *ab = wmi->wmi_sc->ab;
+ struct ath11k_base *ab = wmi->wmi_ab->ab;
struct wmi_twt_disable_params_cmd *cmd;
struct sk_buff *skb;
int ret, len;
len = sizeof(*cmd);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
struct ieee80211_he_obss_pd *he_obss_pd)
{
struct ath11k_pdev_wmi *wmi = ar->wmi;
- struct ath11k_base *ab = wmi->wmi_sc->ab;
+ struct ath11k_base *ab = wmi->wmi_ab->ab;
struct wmi_obss_spatial_reuse_params_cmd *cmd;
struct sk_buff *skb;
int ret, len;
len = sizeof(*cmd);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
static int ath11k_init_cmd_send(struct ath11k_pdev_wmi *wmi,
struct wmi_init_cmd_param *param)
{
- struct ath11k_base *ab = wmi->wmi_sc->ab;
+ struct ath11k_base *ab = wmi->wmi_ab->ab;
struct sk_buff *skb;
struct wmi_init_cmd *cmd;
struct wmi_resource_config *cfg;
len = sizeof(*cmd) + TLV_HDR_SIZE + sizeof(*cfg) + hw_mode_len +
(sizeof(*host_mem_chunks) * WMI_MAX_MEM_REQS);
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
if (!skb)
return -ENOMEM;
{
unsigned long time_left;
- time_left = wait_for_completion_timeout(&ab->wmi_sc.service_ready,
+ time_left = wait_for_completion_timeout(&ab->wmi_ab.service_ready,
WMI_SERVICE_READY_TIMEOUT_HZ);
if (!time_left)
return -ETIMEDOUT;
{
unsigned long time_left;
- time_left = wait_for_completion_timeout(&ab->wmi_sc.unified_ready,
+ time_left = wait_for_completion_timeout(&ab->wmi_ab.unified_ready,
WMI_SERVICE_READY_TIMEOUT_HZ);
if (!time_left)
return -ETIMEDOUT;
int ath11k_wmi_cmd_init(struct ath11k_base *ab)
{
- struct ath11k_wmi_base *wmi_sc = &ab->wmi_sc;
+ struct ath11k_wmi_base *wmi_sc = &ab->wmi_ab;
struct wmi_init_cmd_param init_param;
struct target_resource_config config;
while (i < svc_rdy_ext->n_hw_mode_caps) {
hw_mode_caps = &svc_rdy_ext->hw_mode_caps[i];
mode = hw_mode_caps->hw_mode_id;
- pref = soc->wmi_sc.preferred_hw_mode;
+ pref = soc->wmi_ab.preferred_hw_mode;
if (ath11k_hw_mode_pri_map[mode] < ath11k_hw_mode_pri_map[pref]) {
svc_rdy_ext->pref_hw_mode_caps = *hw_mode_caps;
- soc->wmi_sc.preferred_hw_mode = mode;
+ soc->wmi_ab.preferred_hw_mode = mode;
}
i++;
}
- if (soc->wmi_sc.preferred_hw_mode == WMI_HOST_HW_MODE_MAX)
+ if (soc->wmi_ab.preferred_hw_mode == WMI_HOST_HW_MODE_MAX)
return -EINVAL;
return 0;
static int ath11k_wmi_tlv_ext_hal_reg_caps(struct ath11k_base *soc,
u16 len, const void *ptr, void *data)
{
- struct ath11k_pdev_wmi *wmi_handle = &soc->wmi_sc.wmi[0];
+ struct ath11k_pdev_wmi *wmi_handle = &soc->wmi_ab.wmi[0];
struct wmi_tlv_svc_rdy_ext_parse *svc_rdy_ext = data;
struct ath11k_hal_reg_capabilities_ext reg_cap;
int ret;
u16 len, const void *ptr,
void *data)
{
- struct ath11k_pdev_wmi *wmi_handle = &soc->wmi_sc.wmi[0];
+ struct ath11k_pdev_wmi *wmi_handle = &soc->wmi_ab.wmi[0];
struct wmi_tlv_svc_rdy_ext_parse *svc_rdy_ext = data;
u8 hw_mode_id = svc_rdy_ext->pref_hw_mode_caps.hw_mode_id;
u32 phy_id_map;
u16 tag, u16 len,
const void *ptr, void *data)
{
- struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_sc.wmi[0];
+ struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_ab.wmi[0];
struct wmi_tlv_svc_rdy_ext_parse *svc_rdy_ext = data;
int ret;
return ret;
svc_rdy_ext->ext_hal_reg_done = true;
- complete(&ab->wmi_sc.service_ready);
+ complete(&ab->wmi_ab.service_ready);
}
break;
static void ath11k_wmi_op_ep_tx_credits(struct ath11k_base *ab)
{
/* try to send pending beacons first. they take priority */
- wake_up(&ab->wmi_sc.tx_credits_wq);
+ wake_up(&ab->wmi_ab.tx_credits_wq);
}
static void ath11k_wmi_htc_tx_complete(struct ath11k_base *ab,
return ret;
}
- complete(&ab->wmi_sc.unified_ready);
+ complete(&ab->wmi_ab.unified_ready);
return 0;
}
do {
if (ev->wmi_service_segment_bitmap[i] &
BIT(j % WMI_AVAIL_SERVICE_BITS_IN_SIZE32))
- set_bit(j, ab->wmi_sc.svc_map);
+ set_bit(j, ab->wmi_ab.svc_map);
} while (++j % WMI_AVAIL_SERVICE_BITS_IN_SIZE32);
}
return status;
}
- ab->wmi_sc.wmi_endpoint_id[pdev_idx] = conn_resp.eid;
- ab->wmi_sc.wmi[pdev_idx].eid = conn_resp.eid;
- ab->wmi_sc.max_msg_len[pdev_idx] = conn_resp.max_msg_len;
+ ab->wmi_ab.wmi_endpoint_id[pdev_idx] = conn_resp.eid;
+ ab->wmi_ab.wmi[pdev_idx].eid = conn_resp.eid;
+ ab->wmi_ab.max_msg_len[pdev_idx] = conn_resp.max_msg_len;
return 0;
}
arg_len = sizeof(u32) * ut_cmd.num_args;
buf_len = sizeof(ut_cmd) + arg_len + TLV_HDR_SIZE;
- skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, buf_len);
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, buf_len);
if (!skb)
return -ENOMEM;
if (pdev_id >= MAX_RADIOS)
return -EINVAL;
- wmi_handle = &ab->wmi_sc.wmi[pdev_id];
+ wmi_handle = &ab->wmi_ab.wmi[pdev_id];
- wmi_handle->wmi_sc = &ab->wmi_sc;
+ wmi_handle->wmi_ab = &ab->wmi_ab;
- ab->wmi_sc.ab = ab;
+ ab->wmi_ab.ab = ab;
/* TODO: Init remaining resource specific to pdev */
return 0;
if (ret)
return ret;
- ab->wmi_sc.ab = ab;
- ab->wmi_sc.preferred_hw_mode = WMI_HOST_HW_MODE_MAX;
+ ab->wmi_ab.ab = ab;
+ ab->wmi_ab.preferred_hw_mode = WMI_HOST_HW_MODE_MAX;
/* TODO: Init remaining wmi soc resources required */
- init_completion(&ab->wmi_sc.service_ready);
- init_completion(&ab->wmi_sc.unified_ready);
+ init_completion(&ab->wmi_ab.service_ready);
+ init_completion(&ab->wmi_ab.unified_ready);
return 0;
}