qcacld-3.0: Support roam invoke request in connection manager
Add change to support roam invoke request in connection manager Change-Id: I87bd39263c7c210fa87250aca59ef5f2f89d4c67 CRs-Fixed: 2869211
This commit is contained in:

committed by
snandini

parent
c478f447ff
commit
e4df806aa6
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -169,7 +169,6 @@ QDF_STATUS wmi_unified_roam_synch_complete_cmd(wmi_unified_t wmi_handle,
|
||||
* wmi_unified__roam_invoke_cmd() - send roam invoke command to fw.
|
||||
* @wmi_handle: wmi handle
|
||||
* @roaminvoke: roam invoke command
|
||||
* @ch_hz: channel
|
||||
*
|
||||
* Send roam invoke command to fw for fastreassoc.
|
||||
*
|
||||
@@ -177,8 +176,7 @@ QDF_STATUS wmi_unified_roam_synch_complete_cmd(wmi_unified_t wmi_handle,
|
||||
*/
|
||||
QDF_STATUS
|
||||
wmi_unified_roam_invoke_cmd(wmi_unified_t wmi_handle,
|
||||
struct wmi_roam_invoke_cmd *roaminvoke,
|
||||
uint32_t ch_hz);
|
||||
struct roam_invoke_req *roaminvoke);
|
||||
|
||||
/**
|
||||
* wmi_unified_set_roam_triggers() - send roam trigger bitmap
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -107,26 +107,6 @@ struct plm_req_params {
|
||||
bool enable;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wmi_roam_invoke_cmd - roam invoke command
|
||||
* @vdev_id: vdev id
|
||||
* @bssid: mac address
|
||||
* @channel: channel
|
||||
* @frame_len: frame length, includs mac header, fixed params and ies
|
||||
* @frame_buf: buffer contaning probe response or beacon
|
||||
* @is_same_bssid: flag to indicate if roaming is requested for same bssid
|
||||
* @forced_roaming: Roam to any bssid in any ch (here bssid & ch is not given)
|
||||
*/
|
||||
struct wmi_roam_invoke_cmd {
|
||||
uint32_t vdev_id;
|
||||
uint8_t bssid[QDF_MAC_ADDR_SIZE];
|
||||
uint32_t channel;
|
||||
uint32_t frame_len;
|
||||
uint8_t *frame_buf;
|
||||
uint8_t is_same_bssid;
|
||||
bool forced_roaming;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wmi_limit_off_chan_param - limit off channel parameters
|
||||
* @vdev_id: vdev id
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -133,13 +133,11 @@ QDF_STATUS wmi_unified_roam_synch_complete_cmd(wmi_unified_t wmi_handle,
|
||||
}
|
||||
|
||||
QDF_STATUS wmi_unified_roam_invoke_cmd(wmi_unified_t wmi_handle,
|
||||
struct wmi_roam_invoke_cmd *roaminvoke,
|
||||
uint32_t ch_hz)
|
||||
struct roam_invoke_req *roaminvoke)
|
||||
{
|
||||
if (wmi_handle->ops->send_roam_invoke_cmd)
|
||||
return wmi_handle->ops->send_roam_invoke_cmd(wmi_handle,
|
||||
roaminvoke,
|
||||
ch_hz);
|
||||
roaminvoke);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
@@ -912,8 +912,7 @@ send_process_roam_synch_complete_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
* Return: CDF STATUS
|
||||
*/
|
||||
static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
struct wmi_roam_invoke_cmd *roaminvoke,
|
||||
uint32_t ch_hz)
|
||||
struct roam_invoke_req *roaminvoke)
|
||||
{
|
||||
wmi_roam_invoke_cmd_fixed_param *cmd;
|
||||
wmi_buf_t wmi_buf;
|
||||
@@ -970,12 +969,12 @@ static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_UINT32,
|
||||
(sizeof(u_int32_t)));
|
||||
channel_list = (uint32_t *)(buf_ptr + WMI_TLV_HDR_SIZE);
|
||||
*channel_list = ch_hz;
|
||||
*channel_list = roaminvoke->ch_freq;
|
||||
buf_ptr += sizeof(uint32_t) + WMI_TLV_HDR_SIZE;
|
||||
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_FIXED_STRUC,
|
||||
(sizeof(wmi_mac_addr)));
|
||||
bssid_list = (wmi_mac_addr *)(buf_ptr + WMI_TLV_HDR_SIZE);
|
||||
WMI_CHAR_ARRAY_TO_MAC_ADDR(roaminvoke->bssid, bssid_list);
|
||||
WMI_CHAR_ARRAY_TO_MAC_ADDR(roaminvoke->target_bssid.bytes, bssid_list);
|
||||
|
||||
/* move to next tlv i.e. bcn_prb_buf_list */
|
||||
buf_ptr += WMI_TLV_HDR_SIZE + sizeof(wmi_mac_addr);
|
||||
@@ -999,10 +998,10 @@ static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
roaminvoke->frame_buf,
|
||||
roaminvoke->frame_len);
|
||||
|
||||
wmi_debug("flag:%d, MODE:%d, ap:%d, dly:%d, n_ch:%d, n_bssid:%d, ch:%d, is_same_bss:%d",
|
||||
wmi_debug("flag:%d, MODE:%d, ap:%d, dly:%d, n_ch:%d, n_bssid:%d, ch_freq:%d, is_same_bss:%d",
|
||||
cmd->flags, cmd->roam_scan_mode,
|
||||
cmd->roam_ap_sel_mode, cmd->roam_delay,
|
||||
cmd->num_chan, cmd->num_bssid, ch_hz,
|
||||
cmd->num_chan, cmd->num_bssid, roaminvoke->ch_freq,
|
||||
roaminvoke->is_same_bssid);
|
||||
|
||||
wmi_mtrace(WMI_ROAM_INVOKE_CMDID, cmd->vdev_id, 0);
|
||||
|
Reference in New Issue
Block a user