qcacmn: Create a new API to update wdi hdr type for IPA

Create a new API to update wdi hdr type for IPA and Fix
the return type for cdp call.

CRs-Fixed: 3246990
Change-Id: Ic8adb1f46bfeda6598a01ffdda27339cfa04ee9d
This commit is contained in:
Devender Kumar
2022-07-19 11:01:55 +05:30
committed by Madan Koyyalamudi
parent f464dd0f89
commit 6e12b33067
3 changed files with 29 additions and 6 deletions

View File

@@ -67,10 +67,8 @@ struct dp_ipa_reo_remap_record {
#ifdef IPA_WDS_EASYMESH_FEATURE #ifdef IPA_WDS_EASYMESH_FEATURE
#define WLAN_IPA_META_DATA_MASK htonl(0x000000FF) #define WLAN_IPA_META_DATA_MASK htonl(0x000000FF)
#define WLAN_IPA_HDR_L2_ETHERNET IPA_HDR_L2_ETHERNET_II_AST
#else #else
#define WLAN_IPA_META_DATA_MASK htonl(0x00FF0000) #define WLAN_IPA_META_DATA_MASK htonl(0x00FF0000)
#define WLAN_IPA_HDR_L2_ETHERNET IPA_HDR_L2_ETHERNET_II
#endif #endif
#define REO_REMAP_HISTORY_SIZE 32 #define REO_REMAP_HISTORY_SIZE 32
@@ -2695,6 +2693,31 @@ void dp_ipa_set_v6_vlan_hdr(qdf_ipa_wdi_reg_intf_in_params_t *in,
{ } { }
#endif #endif
#ifdef IPA_WDS_EASYMESH_FEATURE
/**
* dp_ipa_set_wdi_hdr_type() - Set wdi hdr type for IPA
* @hdr_info: Header info
*
* Return: None
*/
static inline void
dp_ipa_set_wdi_hdr_type(qdf_ipa_wdi_hdr_info_t *hdr_info)
{
if (ucfg_ipa_is_wds_enabled())
QDF_IPA_WDI_HDR_INFO_HDR_TYPE(hdr_info) =
IPA_HDR_L2_ETHERNET_II_AST;
else
QDF_IPA_WDI_HDR_INFO_HDR_TYPE(hdr_info) =
IPA_HDR_L2_ETHERNET_II;
}
#else
static inline void
dp_ipa_set_wdi_hdr_type(qdf_ipa_wdi_hdr_info_t *hdr_info)
{
QDF_IPA_WDI_HDR_INFO_HDR_TYPE(hdr_info) = IPA_HDR_L2_ETHERNET_II;
}
#endif
/** /**
* dp_ipa_setup_iface() - Setup IPA header and register interface * dp_ipa_setup_iface() - Setup IPA header and register interface
* @ifname: Interface name * @ifname: Interface name
@@ -2733,7 +2756,7 @@ QDF_STATUS dp_ipa_setup_iface(char *ifname, uint8_t *mac_addr,
QDF_IPA_WDI_HDR_INFO_HDR(&hdr_info) = (uint8_t *)&uc_tx_hdr; QDF_IPA_WDI_HDR_INFO_HDR(&hdr_info) = (uint8_t *)&uc_tx_hdr;
QDF_IPA_WDI_HDR_INFO_HDR_LEN(&hdr_info) = DP_IPA_UC_WLAN_TX_HDR_LEN; QDF_IPA_WDI_HDR_INFO_HDR_LEN(&hdr_info) = DP_IPA_UC_WLAN_TX_HDR_LEN;
QDF_IPA_WDI_HDR_INFO_HDR_TYPE(&hdr_info) = WLAN_IPA_HDR_L2_ETHERNET; dp_ipa_set_wdi_hdr_type(&hdr_info);
QDF_IPA_WDI_HDR_INFO_DST_MAC_ADDR_OFFSET(&hdr_info) = QDF_IPA_WDI_HDR_INFO_DST_MAC_ADDR_OFFSET(&hdr_info) =
DP_IPA_UC_WLAN_HDR_DES_MAC_OFFSET; DP_IPA_UC_WLAN_HDR_DES_MAC_OFFSET;

View File

@@ -2600,7 +2600,7 @@ wlan_ipa_set_peer_id(struct wlan_ipa_priv *ipa_ctx,
struct cdp_ast_entry_info peer_ast_info = {0}; struct cdp_ast_entry_info peer_ast_info = {0};
struct cdp_soc_t *cdp_soc; struct cdp_soc_t *cdp_soc;
qdf_ipa_wlan_msg_ex_t *msg_ex; qdf_ipa_wlan_msg_ex_t *msg_ex;
QDF_STATUS status; bool status;
QDF_IPA_MSG_META_MSG_LEN(meta) = QDF_IPA_MSG_META_MSG_LEN(meta) =
(sizeof(qdf_ipa_wlan_msg_ex_t) + (sizeof(qdf_ipa_wlan_msg_ex_t) +
@@ -2630,7 +2630,7 @@ wlan_ipa_set_peer_id(struct wlan_ipa_priv *ipa_ctx,
status = cdp_peer_get_ast_info_by_soc(cdp_soc, mac_addr, status = cdp_peer_get_ast_info_by_soc(cdp_soc, mac_addr,
&peer_ast_info); &peer_ast_info);
if (QDF_IS_STATUS_ERROR(status)) { if (!status) {
qdf_mem_free(msg_ex); qdf_mem_free(msg_ex);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }

View File

@@ -730,7 +730,7 @@ void ucfg_ipa_flush_pending_vdev_events(struct wlan_objmgr_pdev *pdev,
static inline static inline
bool ucfg_ipa_is_wds_enabled(void) bool ucfg_ipa_is_wds_enabled(void)
{ {
return 0; return false;
} }
#endif /* IPA_OFFLOAD */ #endif /* IPA_OFFLOAD */
#endif /* _WLAN_IPA_UCFG_API_H_ */ #endif /* _WLAN_IPA_UCFG_API_H_ */