qcacmn: Don't set vdev packet type when vdev up

Vdev decap/encap type has been set when vdev create, don't need
set again when vdev up.

Vdev mlme mgmt.generic.rx_decap_type isn't initialized, can't be
used to set vdev decap type.

Add tgt_vdev_mgr_set_tx_rx_decap_type to set vdev tx/rx cap/decap
type by wlan_util_vdev_mlme_set_param.

Change-Id: If487a890eafd0e4e5e6cda31c22d459e342770de
CRs-Fixed: 2516997
This commit is contained in:
Jianmin Zhu
2019-09-06 16:22:31 +08:00
committed by nshrivas
parent 162d95556e
commit ce7b04766e
5 changed files with 84 additions and 8 deletions

View File

@@ -36,6 +36,7 @@
#include <wlan_vdev_mgr_utils_api.h>
#include <wlan_cmn.h>
#include <wmi_unified_vdev_api.h>
#include <cdp_txrx_ctrl.h>
static QDF_STATUS target_if_vdev_mgr_register_event_handler(
struct wlan_objmgr_psoc *psoc)
@@ -320,6 +321,34 @@ target_if_vdev_mlme_id_2_wmi(uint32_t cfg_id)
return wmi_id;
}
static
QDF_STATUS target_if_vdev_set_tx_rx_decap_type(struct wlan_objmgr_vdev *vdev,
enum wlan_mlme_cfg_id param_id,
uint32_t value)
{
ol_txrx_soc_handle soc_txrx_handle;
struct cdp_vdev *vdev_txrx_handle;
struct wlan_objmgr_psoc *psoc;
psoc = wlan_vdev_get_psoc(vdev);
soc_txrx_handle = wlan_psoc_get_dp_handle(psoc);
vdev_txrx_handle = wlan_vdev_get_dp_handle(vdev);
if (!soc_txrx_handle || !vdev_txrx_handle)
return QDF_STATUS_E_INVAL;
if (param_id == WLAN_MLME_CFG_TX_DECAP_TYPE)
cdp_set_tx_encap_type(soc_txrx_handle,
(struct cdp_vdev *)vdev_txrx_handle,
value);
else if (param_id == WLAN_MLME_CFG_RX_DECAP_TYPE)
cdp_set_vdev_rx_decap_type(soc_txrx_handle,
(struct cdp_vdev *)vdev_txrx_handle,
value);
return QDF_STATUS_SUCCESS;
}
static QDF_STATUS target_if_vdev_mgr_set_param_send(
struct wlan_objmgr_vdev *vdev,
struct vdev_set_params *param)
@@ -1071,6 +1100,8 @@ target_if_vdev_mgr_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
mlme_tx_ops->beacon_tmpl_send = target_if_vdev_mgr_beacon_tmpl_send;
mlme_tx_ops->vdev_set_param_send =
target_if_vdev_mgr_set_param_send;
mlme_tx_ops->vdev_set_tx_rx_decap_type =
target_if_vdev_set_tx_rx_decap_type;
mlme_tx_ops->vdev_sta_ps_param_send =
target_if_vdev_mgr_sta_ps_param_send;
mlme_tx_ops->vdev_mgr_rsp_timer_init =