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:
Pavankumar Nandeshwar 2022-11-23 20:43:42 -08:00 committed by Madan Koyyalamudi
parent 3548804a60
commit c811b9d544
11 changed files with 133 additions and 200 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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);

View File

@ -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");

View File

@ -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

View File

@ -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;

View File

@ -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 \

View File

@ -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

View File

@ -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;
}