qcacmn: Changes to support for vlan tagged traffic in IPA offload
IPA component changes to support for vlan tagged traffic in IPA offload Change-Id: Ie28474537332d31f1ed1403ee0b774563a16a3ab CRs-Fixed: 3229801
This commit is contained in:

committed by
Madan Koyyalamudi

parent
8c61283889
commit
7c3316638a
@@ -159,6 +159,13 @@ bool ipa_config_is_enabled(void);
|
||||
*/
|
||||
bool ipa_config_is_uc_enabled(void);
|
||||
|
||||
/**
|
||||
* ipa_config_is_vlan_enabled() - Is IPA vlan config enabled?
|
||||
*
|
||||
* Return: true if IPA clan support is enabled in IPA config
|
||||
*/
|
||||
bool ipa_config_is_vlan_enabled(void);
|
||||
|
||||
/**
|
||||
* ipa_obj_setup() - IPA obj initialization and setup
|
||||
* @ipa_ctx: IPA obj context
|
||||
|
@@ -96,6 +96,14 @@ bool ipa_config_is_uc_enabled(void)
|
||||
return g_ipa_config ? wlan_ipa_uc_is_enabled(g_ipa_config) : 0;
|
||||
}
|
||||
|
||||
bool ipa_config_is_vlan_enabled(void)
|
||||
{
|
||||
if (!ipa_config_is_enabled())
|
||||
return false;
|
||||
|
||||
return g_ipa_config ? g_ipa_config->ipa_vlan_support : 0;
|
||||
}
|
||||
|
||||
QDF_STATUS ipa_obj_setup(struct wlan_ipa_priv *ipa_ctx)
|
||||
{
|
||||
return wlan_ipa_setup(ipa_ctx, g_ipa_config);
|
||||
@@ -847,6 +855,8 @@ void ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
|
||||
cfg_get(psoc, CFG_DP_IPA_ENABLE_FORCE_VOTING);
|
||||
g_ipa_config->ipa_wds =
|
||||
cfg_get(psoc, CFG_DP_IPA_WDS_STATUS);
|
||||
g_ipa_config->ipa_vlan_support =
|
||||
cfg_get(psoc, CFG_DP_IPA_ENABLE_VLAN_SUPPORT);
|
||||
}
|
||||
|
||||
void ipa_component_config_free(void)
|
||||
|
@@ -218,6 +218,25 @@
|
||||
CFG_INI_BOOL("gIPAWds", \
|
||||
false, "Ctrl to enable WDS for EasyMesh")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gIPAVlanEnable - IPA vlan support enable
|
||||
* @Default: false
|
||||
*
|
||||
* This ini specifies to enable IPA vlan support
|
||||
*
|
||||
* Related: N/A
|
||||
*
|
||||
* Supported Feature: IPA
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_DP_IPA_ENABLE_VLAN_SUPPORT \
|
||||
CFG_INI_BOOL("gIPAVlanEnable", \
|
||||
false, "Ctrl to enable vlan support with IPA Offload")
|
||||
|
||||
#define CFG_IPA \
|
||||
CFG(CFG_DP_IPA_OFFLOAD_CONFIG) \
|
||||
CFG(CFG_DP_IPA_DESC_SIZE) \
|
||||
@@ -226,5 +245,6 @@
|
||||
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
|
||||
CFG(CFG_DP_IPA_ENABLE_FORCE_VOTING) \
|
||||
CFG(CFG_DP_IPA_UC_TX_BUF_COUNT) \
|
||||
CFG(CFG_DP_IPA_WDS_STATUS)
|
||||
CFG(CFG_DP_IPA_WDS_STATUS) \
|
||||
CFG(CFG_DP_IPA_ENABLE_VLAN_SUPPORT)
|
||||
#endif /* _CFG_IPA_H_ */
|
||||
|
@@ -79,6 +79,13 @@ static inline bool wlan_ipa_config_is_enabled(void)
|
||||
*/
|
||||
qdf_ipa_wdi_hdl_t wlan_ipa_get_hdl(void *soc, uint8_t pdev_id);
|
||||
|
||||
/**
|
||||
* wlan_ipa_is_vlan enabled() - get IPA vlan support enable status
|
||||
*
|
||||
* Return: true - ipa vlan support is enabled
|
||||
* false - ipa vlan support is not enabled
|
||||
*/
|
||||
bool wlan_ipa_is_vlan_enabled(void);
|
||||
#else
|
||||
|
||||
static inline QDF_STATUS ipa_init(void)
|
||||
@@ -105,6 +112,11 @@ static inline bool wlan_ipa_config_is_enabled(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool wlan_ipa_is_vlan_enabled(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif /* IPA_OFFLOAD */
|
||||
|
||||
#endif /* _WLAN_IPA_OBJ_MGMT_H_ */
|
||||
|
@@ -41,6 +41,7 @@
|
||||
* @ipa_bw_low: IPA bandwidth low threshold
|
||||
* @ipa_force_voting: support force bw voting
|
||||
* @ipa_wds: WDS support for IPA
|
||||
* @ipa_vlan_support: support got vlan with IPA
|
||||
*/
|
||||
struct wlan_ipa_config {
|
||||
uint32_t ipa_config;
|
||||
@@ -54,6 +55,7 @@ struct wlan_ipa_config {
|
||||
uint32_t ipa_bw_low;
|
||||
bool ipa_force_voting;
|
||||
bool ipa_wds;
|
||||
bool ipa_vlan_support;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -87,6 +87,14 @@ bool ucfg_ipa_is_enabled(void);
|
||||
*/
|
||||
bool ucfg_ipa_uc_is_enabled(void);
|
||||
|
||||
/**
|
||||
* ucfg_ipa_is_vlan enabled() - get IPA vlan support enable status
|
||||
*
|
||||
* Return: true - ipa vlan support is enabled
|
||||
* false - ipa vlan support is not enabled
|
||||
*/
|
||||
bool ucfg_ipa_is_vlan_enabled(void);
|
||||
|
||||
/**
|
||||
* ucfg_ipa_set_dp_handle() - register DP handle
|
||||
* @psoc: psoc handle
|
||||
@@ -495,6 +503,11 @@ static inline bool ucfg_ipa_uc_is_enabled(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool ucfg_ipa_is_vlan_enabled(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline
|
||||
QDF_STATUS ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
|
||||
void *dp_soc)
|
||||
|
@@ -363,3 +363,10 @@ qdf_ipa_wdi_hdl_t wlan_ipa_get_hdl(void *soc, uint8_t pdev_id)
|
||||
}
|
||||
|
||||
qdf_export_symbol(wlan_ipa_get_hdl);
|
||||
|
||||
bool wlan_ipa_is_vlan_enabled(void)
|
||||
{
|
||||
return ipa_config_is_vlan_enabled();
|
||||
}
|
||||
|
||||
qdf_export_symbol(wlan_ipa_is_vlan_enabled);
|
||||
|
@@ -67,6 +67,13 @@ bool ucfg_ipa_uc_is_enabled(void)
|
||||
|
||||
qdf_export_symbol(ucfg_ipa_uc_is_enabled);
|
||||
|
||||
bool ucfg_ipa_is_vlan_enabled(void)
|
||||
{
|
||||
return ipa_config_is_vlan_enabled();
|
||||
}
|
||||
|
||||
qdf_export_symbol(ucfg_ipa_is_vlan_enabled);
|
||||
|
||||
void ucfg_ipa_set_pdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t pdev_id)
|
||||
{
|
||||
|
Reference in New Issue
Block a user