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);
|
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_obj_setup() - IPA obj initialization and setup
|
||||||
* @ipa_ctx: IPA obj context
|
* @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;
|
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)
|
QDF_STATUS ipa_obj_setup(struct wlan_ipa_priv *ipa_ctx)
|
||||||
{
|
{
|
||||||
return wlan_ipa_setup(ipa_ctx, g_ipa_config);
|
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);
|
cfg_get(psoc, CFG_DP_IPA_ENABLE_FORCE_VOTING);
|
||||||
g_ipa_config->ipa_wds =
|
g_ipa_config->ipa_wds =
|
||||||
cfg_get(psoc, CFG_DP_IPA_WDS_STATUS);
|
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)
|
void ipa_component_config_free(void)
|
||||||
|
@@ -218,6 +218,25 @@
|
|||||||
CFG_INI_BOOL("gIPAWds", \
|
CFG_INI_BOOL("gIPAWds", \
|
||||||
false, "Ctrl to enable WDS for EasyMesh")
|
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 \
|
#define CFG_IPA \
|
||||||
CFG(CFG_DP_IPA_OFFLOAD_CONFIG) \
|
CFG(CFG_DP_IPA_OFFLOAD_CONFIG) \
|
||||||
CFG(CFG_DP_IPA_DESC_SIZE) \
|
CFG(CFG_DP_IPA_DESC_SIZE) \
|
||||||
@@ -226,5 +245,6 @@
|
|||||||
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
|
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
|
||||||
CFG(CFG_DP_IPA_ENABLE_FORCE_VOTING) \
|
CFG(CFG_DP_IPA_ENABLE_FORCE_VOTING) \
|
||||||
CFG(CFG_DP_IPA_UC_TX_BUF_COUNT) \
|
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_ */
|
#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);
|
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
|
#else
|
||||||
|
|
||||||
static inline QDF_STATUS ipa_init(void)
|
static inline QDF_STATUS ipa_init(void)
|
||||||
@@ -105,6 +112,11 @@ static inline bool wlan_ipa_config_is_enabled(void)
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool wlan_ipa_is_vlan_enabled(void)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif /* IPA_OFFLOAD */
|
#endif /* IPA_OFFLOAD */
|
||||||
|
|
||||||
#endif /* _WLAN_IPA_OBJ_MGMT_H_ */
|
#endif /* _WLAN_IPA_OBJ_MGMT_H_ */
|
||||||
|
@@ -41,6 +41,7 @@
|
|||||||
* @ipa_bw_low: IPA bandwidth low threshold
|
* @ipa_bw_low: IPA bandwidth low threshold
|
||||||
* @ipa_force_voting: support force bw voting
|
* @ipa_force_voting: support force bw voting
|
||||||
* @ipa_wds: WDS support for IPA
|
* @ipa_wds: WDS support for IPA
|
||||||
|
* @ipa_vlan_support: support got vlan with IPA
|
||||||
*/
|
*/
|
||||||
struct wlan_ipa_config {
|
struct wlan_ipa_config {
|
||||||
uint32_t ipa_config;
|
uint32_t ipa_config;
|
||||||
@@ -54,6 +55,7 @@ struct wlan_ipa_config {
|
|||||||
uint32_t ipa_bw_low;
|
uint32_t ipa_bw_low;
|
||||||
bool ipa_force_voting;
|
bool ipa_force_voting;
|
||||||
bool ipa_wds;
|
bool ipa_wds;
|
||||||
|
bool ipa_vlan_support;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -87,6 +87,14 @@ bool ucfg_ipa_is_enabled(void);
|
|||||||
*/
|
*/
|
||||||
bool ucfg_ipa_uc_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
|
* ucfg_ipa_set_dp_handle() - register DP handle
|
||||||
* @psoc: psoc handle
|
* @psoc: psoc handle
|
||||||
@@ -495,6 +503,11 @@ static inline bool ucfg_ipa_uc_is_enabled(void)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool ucfg_ipa_is_vlan_enabled(void)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
QDF_STATUS ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
|
QDF_STATUS ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
|
||||||
void *dp_soc)
|
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);
|
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);
|
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,
|
void ucfg_ipa_set_pdev_id(struct wlan_objmgr_psoc *psoc,
|
||||||
uint8_t pdev_id)
|
uint8_t pdev_id)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user