qcacmn: PPE-DS feature naming convention update
1. Change the names of parameters and functions related to direct switch feature from ppe to ppeds 2. Remove the unused ppe_release_ring Change-Id: I5a95b1273e338f354903af98158578ac65758a8a CRs-Fixed: 3345097
This commit is contained in:
parent
3548804a60
commit
c811b9d544
@ -1507,13 +1507,13 @@ void (*peer_send_wds_disconnect)(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
#endif
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
QDF_STATUS
|
||||
(*peer_set_ppe_default_routing)(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t routing_enabled);
|
||||
(*peer_set_ppeds_default_routing)(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t routing_enabled);
|
||||
#endif /* WLAN_SUPPORT_PPEDS */
|
||||
};
|
||||
|
||||
@ -2195,7 +2195,7 @@ struct cdp_sawf_ops {
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
struct cdp_ppe_txrx_ops {
|
||||
struct cdp_ppeds_txrx_ops {
|
||||
QDF_STATUS
|
||||
(*ppeds_entry_attach)(struct cdp_soc_t *soc,
|
||||
uint8_t vdev_id, void *vpai,
|
||||
@ -2264,7 +2264,7 @@ struct cdp_ops {
|
||||
struct cdp_scs_ops *scs_ops;
|
||||
#endif
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
struct cdp_ppe_txrx_ops *ppe_ops;
|
||||
struct cdp_ppeds_txrx_ops *ppeds_ops;
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
@ -30,16 +30,16 @@ static inline
|
||||
QDF_STATUS cdp_ppesds_entry_attach(struct cdp_soc_t *soc, uint8_t vdev_id,
|
||||
void *vpai, int32_t *ppe_vp_num)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_entry_attach) {
|
||||
return soc->ops->ppe_ops->ppeds_entry_attach(soc, vdev_id,
|
||||
vpai, ppe_vp_num);
|
||||
}
|
||||
if (soc->ops->ppeds_ops->ppeds_entry_attach)
|
||||
return soc->ops->ppeds_ops->ppeds_entry_attach(soc, vdev_id,
|
||||
vpai,
|
||||
ppe_vp_num);
|
||||
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
@ -54,16 +54,14 @@ QDF_STATUS cdp_ppesds_entry_attach(struct cdp_soc_t *soc, uint8_t vdev_id,
|
||||
static inline
|
||||
void cdp_ppesds_entry_detach(struct cdp_soc_t *soc, uint8_t vdev_id)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_entry_detach) {
|
||||
return soc->ops->ppe_ops->ppeds_entry_detach
|
||||
(soc, vdev_id);
|
||||
}
|
||||
if (soc->ops->ppeds_ops->ppeds_entry_detach)
|
||||
return soc->ops->ppeds_ops->ppeds_entry_detach(soc, vdev_id);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,16 +75,14 @@ static inline
|
||||
void cdp_ppesds_set_int_pri2tid(struct cdp_soc_t *soc,
|
||||
uint8_t *pri2tid)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_set_int_pri2tid) {
|
||||
return soc->ops->ppe_ops->ppeds_set_int_pri2tid
|
||||
(soc, pri2tid);
|
||||
}
|
||||
if (soc->ops->ppeds_ops->ppeds_set_int_pri2tid)
|
||||
return soc->ops->ppeds_ops->ppeds_set_int_pri2tid(soc, pri2tid);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,15 +97,14 @@ static inline
|
||||
void cdp_ppesds_update_int_pri2tid(struct cdp_soc_t *soc,
|
||||
uint8_t pri, uint8_t tid)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_update_int_pri2tid) {
|
||||
return soc->ops->ppe_ops->ppeds_update_int_pri2tid
|
||||
(soc, pri, tid);
|
||||
}
|
||||
if (soc->ops->ppeds_ops->ppeds_update_int_pri2tid)
|
||||
return soc->ops->ppeds_ops->ppeds_update_int_pri2tid(soc, pri,
|
||||
tid);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,14 +116,14 @@ void cdp_ppesds_update_int_pri2tid(struct cdp_soc_t *soc,
|
||||
static inline
|
||||
void cdp_ppesds_entry_dump(struct cdp_soc_t *soc)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_entry_dump)
|
||||
soc->ops->ppe_ops->ppeds_entry_dump(soc);
|
||||
if (soc->ops->ppeds_ops->ppeds_entry_dump)
|
||||
soc->ops->ppeds_ops->ppeds_entry_dump(soc);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -143,16 +138,15 @@ static inline
|
||||
QDF_STATUS cdp_ppesds_enable_pri2tid(struct cdp_soc_t *soc,
|
||||
uint8_t vdev_id, bool val)
|
||||
{
|
||||
if (!soc || !soc->ops || !soc->ops->ppe_ops) {
|
||||
if (!soc || !soc->ops || !soc->ops->ppeds_ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||
"%s invalid instance", __func__);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
if (soc->ops->ppe_ops->ppeds_enable_pri2tid) {
|
||||
return soc->ops->ppe_ops->ppeds_enable_pri2tid(soc,
|
||||
vdev_id, val);
|
||||
}
|
||||
if (soc->ops->ppeds_ops->ppeds_enable_pri2tid)
|
||||
return soc->ops->ppeds_ops->ppeds_enable_pri2tid(soc, vdev_id,
|
||||
val);
|
||||
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ static struct wlan_cfg_tcl_wbm_ring_num_map g_tcl_wbm_map_array[MAX_TCL_DATA_RIN
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
static struct cdp_ppe_txrx_ops dp_ops_ppe_be = {
|
||||
static struct cdp_ppeds_txrx_ops dp_ops_ppeds_be = {
|
||||
.ppeds_entry_attach = dp_ppeds_attach_vdev_be,
|
||||
.ppeds_entry_detach = dp_ppeds_detach_vdev_be,
|
||||
.ppeds_set_int_pri2tid = dp_ppeds_set_int_pri2tid_be,
|
||||
@ -82,7 +82,7 @@ static void dp_ppeds_rings_status(struct dp_soc *soc)
|
||||
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->reo2ppe_ring, REO2PPE);
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->ppe2tcl_ring, PPE2TCL);
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->ppe_wbm_release_ring,
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->ppeds_wbm_release_ring,
|
||||
WBM2SW_RELEASE);
|
||||
}
|
||||
|
||||
@ -484,7 +484,7 @@ dp_hw_cookie_conversion_deinit(struct dp_soc_be *be_soc,
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
static QDF_STATUS dp_soc_ppe_attach_be(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_attach_be(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct cdp_ops *cdp_ops = soc->cdp_soc.ops;
|
||||
@ -492,28 +492,28 @@ static QDF_STATUS dp_soc_ppe_attach_be(struct dp_soc *soc)
|
||||
/*
|
||||
* Check if PPE DS is enabled.
|
||||
*/
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc->wlan_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc->wlan_cfg_ctx))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
if (dp_ppeds_attach_soc_be(be_soc) != QDF_STATUS_SUCCESS)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
cdp_ops->ppe_ops = &dp_ops_ppe_be;
|
||||
cdp_ops->ppeds_ops = &dp_ops_ppeds_be;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_soc_ppe_detach_be(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_detach_be(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct cdp_ops *cdp_ops = soc->cdp_soc.ops;
|
||||
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc->wlan_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc->wlan_cfg_ctx))
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
dp_ppeds_detach_soc_be(be_soc);
|
||||
|
||||
cdp_ops->ppe_ops = NULL;
|
||||
cdp_ops->ppeds_ops = NULL;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@ -536,9 +536,9 @@ static QDF_STATUS dp_peer_ppeds_default_route_be(struct dp_soc *soc,
|
||||
service_code = PPE_DRV_SC_SPF_BYPASS;
|
||||
priority_valid = be_peer->priority_valid;
|
||||
|
||||
if (soc->cdp_soc.ol_ops->peer_set_ppe_default_routing) {
|
||||
if (soc->cdp_soc.ol_ops->peer_set_ppeds_default_routing) {
|
||||
status =
|
||||
soc->cdp_soc.ol_ops->peer_set_ppe_default_routing
|
||||
soc->cdp_soc.ol_ops->peer_set_ppeds_default_routing
|
||||
(soc->ctrl_psoc,
|
||||
be_peer->peer.mac_addr.raw,
|
||||
service_code, priority_valid,
|
||||
@ -637,12 +637,12 @@ static QDF_STATUS dp_ppeds_deinit_soc_be(struct dp_soc *soc)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS dp_soc_ppe_attach_be(struct dp_soc *soc)
|
||||
static inline QDF_STATUS dp_soc_ppeds_attach_be(struct dp_soc *soc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS dp_soc_ppe_detach_be(struct dp_soc *soc)
|
||||
static inline QDF_STATUS dp_soc_ppeds_detach_be(struct dp_soc *soc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@ -660,7 +660,7 @@ static QDF_STATUS dp_soc_detach_be(struct dp_soc *soc)
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
int i = 0;
|
||||
|
||||
dp_soc_ppe_detach_be(soc);
|
||||
dp_soc_ppeds_detach_be(soc);
|
||||
|
||||
for (i = 0; i < MAX_TXDESC_POOLS; i++)
|
||||
dp_hw_cookie_conversion_detach(be_soc,
|
||||
@ -785,7 +785,7 @@ static QDF_STATUS dp_soc_attach_be(struct dp_soc *soc,
|
||||
|
||||
dp_soc_mlo_fill_params(soc, params);
|
||||
|
||||
qdf_status = dp_soc_ppe_attach_be(soc);
|
||||
qdf_status = dp_soc_ppeds_attach_be(soc);
|
||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status))
|
||||
goto fail;
|
||||
|
||||
@ -968,7 +968,7 @@ static QDF_STATUS dp_peer_setup_be(struct dp_soc *soc, struct dp_peer *peer)
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if PPE routing is enabled on the associated vap.
|
||||
* Check if PPE DS routing is enabled on the associated vap.
|
||||
*/
|
||||
if (be_vdev->ppe_vp_enabled == PPE_VP_USER_TYPE_DS)
|
||||
qdf_status = dp_peer_setup_ppeds_be(soc, peer, be_vdev);
|
||||
@ -1453,23 +1453,16 @@ dp_init_near_full_arch_ops_be(struct dp_arch_ops *arch_ops)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
static void dp_soc_ppe_srng_deinit(struct dp_soc *soc)
|
||||
static void dp_soc_ppeds_srng_deinit(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
|
||||
|
||||
soc_cfg_ctx = soc->wlan_cfg_ctx;
|
||||
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc_cfg_ctx))
|
||||
return;
|
||||
|
||||
dp_srng_deinit(soc, &be_soc->ppe_release_ring, PPE_RELEASE, 0);
|
||||
wlan_minidump_remove(be_soc->ppe_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppe_release_ring.alloc_size,
|
||||
soc->ctrl_psoc,
|
||||
WLAN_MD_DP_SRNG_PPE_RELEASE,
|
||||
"ppe_release_ring");
|
||||
|
||||
dp_srng_deinit(soc, &be_soc->ppe2tcl_ring, PPE2TCL, 0);
|
||||
wlan_minidump_remove(be_soc->ppe2tcl_ring.base_vaddr_unaligned,
|
||||
be_soc->ppe2tcl_ring.alloc_size,
|
||||
@ -1484,36 +1477,34 @@ static void dp_soc_ppe_srng_deinit(struct dp_soc *soc)
|
||||
WLAN_MD_DP_SRNG_REO2PPE,
|
||||
"reo2ppe_ring");
|
||||
|
||||
dp_srng_deinit(soc, &be_soc->ppe_wbm_release_ring, WBM2SW_RELEASE,
|
||||
dp_srng_deinit(soc, &be_soc->ppeds_wbm_release_ring, WBM2SW_RELEASE,
|
||||
WBM2_SW_PPE_REL_RING_ID);
|
||||
wlan_minidump_remove(be_soc->ppe_wbm_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppe_wbm_release_ring.alloc_size,
|
||||
wlan_minidump_remove(be_soc->ppeds_wbm_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppeds_wbm_release_ring.alloc_size,
|
||||
soc->ctrl_psoc,
|
||||
WLAN_MD_DP_SRNG_PPE_WBM2SW_RELEASE,
|
||||
"ppe_wbm_release_ring");
|
||||
"ppeds_wbm_release_ring");
|
||||
|
||||
}
|
||||
|
||||
static void dp_soc_ppe_srng_free(struct dp_soc *soc)
|
||||
static void dp_soc_ppeds_srng_free(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
|
||||
|
||||
soc_cfg_ctx = soc->wlan_cfg_ctx;
|
||||
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc_cfg_ctx))
|
||||
return;
|
||||
|
||||
dp_srng_free(soc, &be_soc->ppe_release_ring);
|
||||
|
||||
dp_srng_free(soc, &be_soc->ppe_wbm_release_ring);
|
||||
dp_srng_free(soc, &be_soc->ppeds_wbm_release_ring);
|
||||
|
||||
dp_srng_free(soc, &be_soc->ppe2tcl_ring);
|
||||
|
||||
dp_srng_free(soc, &be_soc->reo2ppe_ring);
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_soc_ppe_srng_alloc(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_srng_alloc(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
uint32_t entries;
|
||||
@ -1521,7 +1512,7 @@ static QDF_STATUS dp_soc_ppe_srng_alloc(struct dp_soc *soc)
|
||||
|
||||
soc_cfg_ctx = soc->wlan_cfg_ctx;
|
||||
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc_cfg_ctx))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
entries = wlan_cfg_get_dp_soc_reo2ppe_ring_size(soc_cfg_ctx);
|
||||
@ -1539,27 +1530,21 @@ static QDF_STATUS dp_soc_ppe_srng_alloc(struct dp_soc *soc)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
entries = wlan_cfg_get_dp_soc_ppe_release_ring_size(soc_cfg_ctx);
|
||||
if (dp_srng_alloc(soc, &be_soc->ppe_release_ring, PPE_RELEASE,
|
||||
entries, 0)) {
|
||||
dp_err("%pK: dp_srng_alloc failed for ppe_release_ring", soc);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
entries = wlan_cfg_tx_comp_ring_size(soc_cfg_ctx);
|
||||
if (dp_srng_alloc(soc, &be_soc->ppe_wbm_release_ring, WBM2SW_RELEASE,
|
||||
if (dp_srng_alloc(soc, &be_soc->ppeds_wbm_release_ring, WBM2SW_RELEASE,
|
||||
entries, 1)) {
|
||||
dp_err("%pK: dp_srng_alloc failed for ppe_release_ring", soc);
|
||||
dp_err("%pK: dp_srng_alloc failed for ppeds_wbm_release_ring",
|
||||
soc);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
fail:
|
||||
dp_soc_ppe_srng_free(soc);
|
||||
dp_soc_ppeds_srng_free(soc);
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_soc_ppe_srng_init(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_srng_init(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
|
||||
@ -1569,7 +1554,7 @@ static QDF_STATUS dp_soc_ppe_srng_init(struct dp_soc *soc)
|
||||
|
||||
soc_cfg_ctx = soc->wlan_cfg_ctx;
|
||||
|
||||
if (!wlan_cfg_get_dp_soc_is_ppe_enabled(soc_cfg_ctx))
|
||||
if (!wlan_cfg_get_dp_soc_is_ppeds_enabled(soc_cfg_ctx))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
if (dp_ppeds_register_soc_be(be_soc, &idx)) {
|
||||
@ -1607,49 +1592,39 @@ static QDF_STATUS dp_soc_ppe_srng_init(struct dp_soc *soc)
|
||||
be_soc->ppe2tcl_ring.hal_srng,
|
||||
WBM2_SW_PPE_REL_MAP_ID);
|
||||
|
||||
if (dp_srng_init(soc, &be_soc->ppe_release_ring, PPE_RELEASE, 0, 0)) {
|
||||
dp_err("%pK: dp_srng_init failed for ppe_release_ring", soc);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
wlan_minidump_log(be_soc->ppe_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppe_release_ring.alloc_size,
|
||||
soc->ctrl_psoc,
|
||||
WLAN_MD_DP_SRNG_PPE_RELEASE,
|
||||
"ppe_release_ring");
|
||||
|
||||
if (dp_srng_init(soc, &be_soc->ppe_wbm_release_ring, WBM2SW_RELEASE,
|
||||
if (dp_srng_init(soc, &be_soc->ppeds_wbm_release_ring, WBM2SW_RELEASE,
|
||||
WBM2_SW_PPE_REL_RING_ID, 0)) {
|
||||
dp_err("%pK: dp_srng_init failed for ppe_release_ring", soc);
|
||||
dp_err("%pK: dp_srng_init failed for ppeds_wbm_release_ring",
|
||||
soc);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
wlan_minidump_remove(be_soc->ppe_wbm_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppe_wbm_release_ring.alloc_size,
|
||||
wlan_minidump_remove(be_soc->ppeds_wbm_release_ring.base_vaddr_unaligned,
|
||||
be_soc->ppeds_wbm_release_ring.alloc_size,
|
||||
soc->ctrl_psoc,
|
||||
WLAN_MD_DP_SRNG_PPE_WBM2SW_RELEASE,
|
||||
"ppe_wbm_release_ring");
|
||||
"ppeds_wbm_release_ring");
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
fail:
|
||||
dp_soc_ppe_srng_deinit(soc);
|
||||
dp_soc_ppeds_srng_deinit(soc);
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
#else
|
||||
static void dp_soc_ppe_srng_deinit(struct dp_soc *soc)
|
||||
static void dp_soc_ppeds_srng_deinit(struct dp_soc *soc)
|
||||
{
|
||||
}
|
||||
|
||||
static void dp_soc_ppe_srng_free(struct dp_soc *soc)
|
||||
static void dp_soc_ppeds_srng_free(struct dp_soc *soc)
|
||||
{
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_soc_ppe_srng_alloc(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_srng_alloc(struct dp_soc *soc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_soc_ppe_srng_init(struct dp_soc *soc)
|
||||
static QDF_STATUS dp_soc_ppeds_srng_init(struct dp_soc *soc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@ -1659,7 +1634,7 @@ static void dp_soc_srng_deinit_be(struct dp_soc *soc)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
dp_soc_ppe_srng_deinit(soc);
|
||||
dp_soc_ppeds_srng_deinit(soc);
|
||||
|
||||
if (soc->features.dmac_cmn_src_rxbuf_ring_enabled) {
|
||||
for (i = 0; i < soc->num_rx_refill_buf_rings; i++) {
|
||||
@ -1673,7 +1648,7 @@ static void dp_soc_srng_free_be(struct dp_soc *soc)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
dp_soc_ppe_srng_free(soc);
|
||||
dp_soc_ppeds_srng_free(soc);
|
||||
|
||||
if (soc->features.dmac_cmn_src_rxbuf_ring_enabled) {
|
||||
for (i = 0; i < soc->num_rx_refill_buf_rings; i++)
|
||||
@ -1701,7 +1676,7 @@ static QDF_STATUS dp_soc_srng_alloc_be(struct dp_soc *soc)
|
||||
}
|
||||
}
|
||||
|
||||
if (dp_soc_ppe_srng_alloc(soc)) {
|
||||
if (dp_soc_ppeds_srng_alloc(soc)) {
|
||||
dp_err("%pK: ppe rings alloc failed",
|
||||
soc);
|
||||
goto fail;
|
||||
@ -1728,8 +1703,8 @@ static QDF_STATUS dp_soc_srng_init_be(struct dp_soc *soc)
|
||||
}
|
||||
}
|
||||
|
||||
if (dp_soc_ppe_srng_init(soc)) {
|
||||
dp_err("%pK: ppe rings init failed",
|
||||
if (dp_soc_ppeds_srng_init(soc)) {
|
||||
dp_err("%pK: ppe ds rings init failed",
|
||||
soc);
|
||||
goto fail;
|
||||
}
|
||||
|
@ -236,7 +236,7 @@ struct dp_ppe_vp_profile {
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dp_ppe_tx_desc_pool_s - PPEDS Tx Descriptor Pool
|
||||
* struct dp_ppeds_tx_desc_pool_s - PPEDS Tx Descriptor Pool
|
||||
* @elem_size: Size of each descriptor
|
||||
* @num_allocated: Number of used descriptors
|
||||
* @freelist: Chain of free descriptors
|
||||
@ -245,7 +245,7 @@ struct dp_ppe_vp_profile {
|
||||
* @num_free: Number of free descriptors
|
||||
* @lock- Lock for descriptor allocation/free from/to the pool
|
||||
*/
|
||||
struct dp_ppe_tx_desc_pool_s {
|
||||
struct dp_ppeds_tx_desc_pool_s {
|
||||
uint16_t elem_size;
|
||||
uint32_t num_allocated;
|
||||
struct dp_tx_desc_s *freelist;
|
||||
@ -286,7 +286,6 @@ struct dp_ppeds_napi {
|
||||
* @ppe_ds_int_mode_enabled: PPE DS interrupt mode enabled
|
||||
* @reo2ppe_ring: REO2PPE ring
|
||||
* @ppe2tcl_ring: PPE2TCL ring
|
||||
* @ppe_release_ring: PPE release ring
|
||||
* @ppe_vp_tbl: PPE VP table
|
||||
* @ppe_vp_tbl_lock: PPE VP table lock
|
||||
* @num_ppe_vp_entries : Number of PPE VP entries
|
||||
@ -313,11 +312,10 @@ struct dp_soc_be {
|
||||
ppeds_stopped:1;
|
||||
struct dp_srng reo2ppe_ring;
|
||||
struct dp_srng ppe2tcl_ring;
|
||||
struct dp_srng ppe_release_ring;
|
||||
struct dp_srng ppe_wbm_release_ring;
|
||||
struct dp_srng ppeds_wbm_release_ring;
|
||||
struct dp_ppe_vp_tbl_entry *ppe_vp_tbl;
|
||||
struct dp_hw_cookie_conversion_t ppeds_tx_cc_ctx;
|
||||
struct dp_ppe_tx_desc_pool_s ppeds_tx_desc;
|
||||
struct dp_ppeds_tx_desc_pool_s ppeds_tx_desc;
|
||||
struct dp_ppeds_napi ppeds_napi_ctxt;
|
||||
void *ppeds_handle;
|
||||
qdf_mutex_t ppe_vp_tbl_lock;
|
||||
|
@ -858,7 +858,8 @@ int dp_ppeds_tx_comp_handler(struct dp_soc_be *be_soc, uint32_t quota)
|
||||
void *last_prefetch_hw_desc = NULL;
|
||||
struct dp_tx_desc_s *last_prefetch_sw_desc = NULL;
|
||||
hal_soc_handle_t hal_soc = soc->hal_soc;
|
||||
hal_ring_handle_t hal_ring_hdl = be_soc->ppe_wbm_release_ring.hal_srng;
|
||||
hal_ring_handle_t hal_ring_hdl =
|
||||
be_soc->ppeds_wbm_release_ring.hal_srng;
|
||||
|
||||
if (qdf_unlikely(dp_srng_access_start(NULL, soc, hal_ring_hdl))) {
|
||||
dp_err("HAL RING Access Failed -- %pK", hal_ring_hdl);
|
||||
|
@ -11166,7 +11166,7 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
|
||||
break;
|
||||
case CDP_PPEDS_ENABLE:
|
||||
val->cdp_psoc_param_ppeds_enabled =
|
||||
wlan_cfg_get_dp_soc_is_ppe_enabled(soc->wlan_cfg_ctx);
|
||||
wlan_cfg_get_dp_soc_is_ppeds_enabled(soc->wlan_cfg_ctx);
|
||||
break;
|
||||
default:
|
||||
dp_warn("Invalid param");
|
||||
|
@ -139,7 +139,7 @@ target_if_lro_hash_config(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t pdev_id,
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
/**
|
||||
* target_if_peer_set_ppe_default_routing() - Set PPE routing API
|
||||
* target_if_peer_set_ppeds_default_routing() - Set PPE DS routing API
|
||||
* @soc: psoc handle pointer
|
||||
* @peer_macaddr: Peer MAC address
|
||||
* @service_code: Service code
|
||||
@ -154,13 +154,13 @@ target_if_lro_hash_config(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t pdev_id,
|
||||
* return: QDF_STATUS_SUCCESS for success or error code
|
||||
*/
|
||||
QDF_STATUS
|
||||
target_if_peer_set_ppe_default_routing(struct cdp_ctrl_objmgr_psoc *soc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t ppe_routing_enabled);
|
||||
target_if_peer_set_ppeds_default_routing(struct cdp_ctrl_objmgr_psoc *soc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t ppe_routing_enabled);
|
||||
#endif
|
||||
|
||||
#ifdef WDS_CONV_TARGET_IF_OPS_ENABLE
|
||||
|
@ -320,13 +320,13 @@ target_if_lro_hash_config(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t pdev_id,
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
QDF_STATUS
|
||||
target_if_peer_set_ppe_default_routing(struct cdp_ctrl_objmgr_psoc *soc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t ppe_routing_enabled)
|
||||
target_if_peer_set_ppeds_default_routing(struct cdp_ctrl_objmgr_psoc *soc,
|
||||
uint8_t *peer_macaddr,
|
||||
uint16_t service_code,
|
||||
uint8_t priority_valid,
|
||||
uint16_t src_info,
|
||||
uint8_t vdev_id, uint8_t use_ppe,
|
||||
uint8_t ppe_routing_enabled)
|
||||
{
|
||||
struct wmi_unified *pdev_wmi_handle;
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
@ -1669,7 +1669,7 @@
|
||||
WLAN_CFG_NUM_PPEDS_TX_CMP_NAPI, \
|
||||
CFG_VALUE_OR_DEFAULT, "DP PPEDS Tx Comp handler napi budget")
|
||||
|
||||
#define CFG_DP_PPE_ENABLE \
|
||||
#define CFG_DP_PPEDS_ENABLE \
|
||||
CFG_INI_BOOL("ppe_ds_enable", true, \
|
||||
"DP ppe enable flag")
|
||||
|
||||
@ -1687,22 +1687,14 @@
|
||||
WLAN_CFG_PPE2TCL_RING_SIZE, \
|
||||
CFG_VALUE_OR_DEFAULT, "DP PPE2TCL rings")
|
||||
|
||||
#define CFG_DP_PPE_RELEASE_RING \
|
||||
CFG_INI_UINT("dp_ppe_release_ring", \
|
||||
WLAN_CFG_PPE_RELEASE_RING_SIZE_MIN, \
|
||||
WLAN_CFG_PPE_RELEASE_RING_SIZE_MAX, \
|
||||
WLAN_CFG_PPE_RELEASE_RING_SIZE, \
|
||||
CFG_VALUE_OR_DEFAULT, "DP PPE Release Ring")
|
||||
|
||||
#define CFG_DP_PPE_CONFIG \
|
||||
#define CFG_DP_PPEDS_CONFIG \
|
||||
CFG(CFG_DP_PPEDS_TX_CMP_NAPI_BUDGET) \
|
||||
CFG(CFG_DP_PPEDS_TX_DESC) \
|
||||
CFG(CFG_DP_PPE_ENABLE) \
|
||||
CFG(CFG_DP_PPEDS_ENABLE) \
|
||||
CFG(CFG_DP_REO2PPE_RING) \
|
||||
CFG(CFG_DP_PPE2TCL_RING) \
|
||||
CFG(CFG_DP_PPE_RELEASE_RING)
|
||||
CFG(CFG_DP_PPE2TCL_RING)
|
||||
#else
|
||||
#define CFG_DP_PPE_CONFIG
|
||||
#define CFG_DP_PPEDS_CONFIG
|
||||
#define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0
|
||||
#endif
|
||||
|
||||
@ -1908,7 +1900,7 @@
|
||||
CFG(CFG_DP_MPDU_RETRY_THRESHOLD_1) \
|
||||
CFG(CFG_DP_MPDU_RETRY_THRESHOLD_2) \
|
||||
CFG_DP_IPA_TX_RING_CFG \
|
||||
CFG_DP_PPE_CONFIG \
|
||||
CFG_DP_PPEDS_CONFIG \
|
||||
CFG_DP_IPA_TX_ALT_RING_CFG \
|
||||
CFG_DP_MLO_CONFIG \
|
||||
CFG_DP_INI_SECTION_PARAMS \
|
||||
|
@ -2658,13 +2658,11 @@ static void
|
||||
wlan_soc_ppe_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
|
||||
{
|
||||
wlan_cfg_ctx->ppe_enable = cfg_get(psoc, CFG_DP_PPE_ENABLE);
|
||||
wlan_cfg_ctx->ppeds_enable = cfg_get(psoc, CFG_DP_PPEDS_ENABLE);
|
||||
wlan_cfg_ctx->reo2ppe_ring = cfg_get(psoc, CFG_DP_REO2PPE_RING);
|
||||
wlan_cfg_ctx->ppe2tcl_ring = cfg_get(psoc, CFG_DP_PPE2TCL_RING);
|
||||
wlan_cfg_ctx->ppe_release_ring = cfg_get(psoc,
|
||||
CFG_DP_PPE_RELEASE_RING);
|
||||
wlan_cfg_ctx->ppe_num_tx_desc = cfg_get(psoc, CFG_DP_PPEDS_TX_DESC);
|
||||
wlan_cfg_ctx->ppe_tx_comp_napi_budget =
|
||||
wlan_cfg_ctx->ppeds_num_tx_desc = cfg_get(psoc, CFG_DP_PPEDS_TX_DESC);
|
||||
wlan_cfg_ctx->ppeds_tx_comp_napi_budget =
|
||||
cfg_get(psoc, CFG_DP_PPEDS_TX_CMP_NAPI_BUDGET);
|
||||
}
|
||||
#else
|
||||
@ -4145,9 +4143,9 @@ int wlan_cfg_ipa_tx_alt_comp_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
bool
|
||||
wlan_cfg_get_dp_soc_is_ppe_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_is_ppeds_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->ppe_enable;
|
||||
return cfg->ppeds_enable;
|
||||
}
|
||||
|
||||
int
|
||||
@ -4163,21 +4161,15 @@ wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
}
|
||||
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_ppeds_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->ppe_release_ring;
|
||||
return cfg->ppeds_num_tx_desc;
|
||||
}
|
||||
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->ppe_num_tx_desc;
|
||||
}
|
||||
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->ppe_tx_comp_napi_budget;
|
||||
return cfg->ppeds_tx_comp_napi_budget;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -298,13 +298,11 @@ struct wlan_srng_cfg {
|
||||
* @ipa_tx_alt_comp_ring_size: IPA tx alt completion ring size
|
||||
* @hw_cc_enabled: cookie conversion enabled
|
||||
* @tcl_wbm_map_array: TCL-WBM map array
|
||||
* @ppe_enable:
|
||||
* @reo2ppe_ring:
|
||||
* @ppe2tcl_ring:
|
||||
* @ppe_release_ring:
|
||||
* @ppe_wbm_release_ring:
|
||||
* @ppe_num_tx_desc:
|
||||
* @ppe_tx_comp_napi_budget:
|
||||
* @ppeds_enable: Enable PPE Direct Switch feature
|
||||
* @reo2ppe_ring: REO2PPE ring size
|
||||
* @ppe2tcl_ring: PPE2TCL ring size
|
||||
* @ppeds_num_tx_desc: Number of tx descs for PPE DS
|
||||
* @ppeds_tx_comp_napi_budget: Napi budget for tx completions
|
||||
* @pkt_capture_mode: Packet capture mode config
|
||||
* @rx_mon_buf_ring_size: Rx monitor buf ring size
|
||||
* @tx_mon_buf_ring_size: Tx monitor buf ring size
|
||||
@ -476,13 +474,11 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
bool hw_cc_enabled;
|
||||
struct wlan_cfg_tcl_wbm_ring_num_map *tcl_wbm_map_array;
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
bool ppe_enable;
|
||||
bool ppeds_enable;
|
||||
int reo2ppe_ring;
|
||||
int ppe2tcl_ring;
|
||||
int ppe_release_ring;
|
||||
int ppe_wbm_release_ring;
|
||||
int ppe_num_tx_desc;
|
||||
int ppe_tx_comp_napi_budget;
|
||||
int ppeds_num_tx_desc;
|
||||
int ppeds_tx_comp_napi_budget;
|
||||
#endif
|
||||
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
|
||||
uint32_t pkt_capture_mode;
|
||||
@ -2056,13 +2052,13 @@ void wlan_cfg_dp_soc_ctx_dump(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
/**
|
||||
* wlan_cfg_get_dp_soc_is_ppe_enabled() - API to get ppe enable flag
|
||||
* wlan_cfg_get_dp_soc_is_ppeds_enabled() - API to get ppe enable flag
|
||||
* @cfg: Configuration Handle
|
||||
*
|
||||
* Return: true if ppe is enabled else return false
|
||||
*/
|
||||
bool
|
||||
wlan_cfg_get_dp_soc_is_ppe_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
wlan_cfg_get_dp_soc_is_ppeds_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_dp_soc_reo2ppe_ring_size() - get ppe rx ring size
|
||||
@ -2083,34 +2079,25 @@ int
|
||||
wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_dp_soc_ppe_release_ring_size() - get ppe tx comp ring size
|
||||
* @cfg: Configuration Handle
|
||||
*
|
||||
* Return: size of ppe release ring
|
||||
*/
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_dp_soc_ppe_num_tx_desc() - Number of ppeds tx Descriptors
|
||||
* wlan_cfg_get_dp_soc_ppeds_num_tx_desc() - Number of ppeds tx Descriptors
|
||||
* @cfg: Configuration Handle
|
||||
*
|
||||
* Return: num_tx_desc
|
||||
*/
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
wlan_cfg_get_dp_soc_ppeds_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_dp_soc_ppe_tx_comp_napi_budget() - ppeds Tx comp napi budget
|
||||
* wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget() - ppeds Tx comp napi budget
|
||||
* @cfg: Configuration Handle
|
||||
*
|
||||
* Return: napi budget
|
||||
*/
|
||||
int
|
||||
wlan_cfg_get_dp_soc_ppe_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
#else
|
||||
static inline bool
|
||||
wlan_cfg_get_dp_soc_is_ppe_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_is_ppeds_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2128,19 +2115,13 @@ wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
}
|
||||
|
||||
static inline int
|
||||
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_ppeds_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
wlan_cfg_get_dp_soc_ppe_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
wlan_cfg_get_dp_soc_ppe_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user