qcacmn: Setup DS VP on FW recovery
On FW recovery, do not allocate a new VP and use the existing profile to setup DS VP Change-Id: I330613fa104c51becc1018750edf91d8055edb01 CRs-Fixed: 3427382
This commit is contained in:

committed by
Madan Koyyalamudi

parent
f453c827cb
commit
ba18ce8164
@@ -2356,6 +2356,9 @@ struct cdp_sawf_ops {
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
struct cdp_ppeds_txrx_ops {
|
||||
QDF_STATUS
|
||||
(*ppeds_vp_setup_recovery)(struct cdp_soc_t *soc,
|
||||
uint8_t vdev_id, uint16_t profile_idx);
|
||||
QDF_STATUS
|
||||
(*ppeds_entry_attach)(struct cdp_soc_t *soc,
|
||||
uint8_t vdev_id, void *vpai,
|
||||
int32_t *ppe_vp_num,
|
||||
|
@@ -17,6 +17,33 @@
|
||||
#ifndef _CDP_TXRX_PPE_H_
|
||||
#define _CDP_TXRX_PPE_H_
|
||||
|
||||
/**
|
||||
* cdp_ppesds_vp_setup_fw_recovery() - Setup DS VP on FW recovery.
|
||||
* @soc: data path soc handle
|
||||
* @vdev_id: vdev id
|
||||
* @profile_idx: DS profile index.
|
||||
*
|
||||
* return: qdf_status where DS VP setup is done or not.
|
||||
*/
|
||||
static inline
|
||||
QDF_STATUS cdp_ppesds_vp_setup_fw_recovery(struct cdp_soc_t *soc,
|
||||
uint8_t vdev_id,
|
||||
uint16_t profile_idx)
|
||||
{
|
||||
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_NOSUPPORT;
|
||||
}
|
||||
|
||||
if (soc->ops->ppeds_ops->ppeds_vp_setup_recovery)
|
||||
return soc->ops->ppeds_ops->ppeds_vp_setup_recovery(soc,
|
||||
vdev_id,
|
||||
profile_idx);
|
||||
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
/**
|
||||
* cdp_ppesds_entry_attach() - attach the ppe vp interface.
|
||||
* @soc: data path soc handle
|
||||
|
@@ -74,6 +74,7 @@ static struct cdp_ppeds_txrx_ops dp_ops_ppeds_be = {
|
||||
.ppeds_update_int_pri2tid = dp_ppeds_update_int_pri2tid_be,
|
||||
.ppeds_entry_dump = dp_ppeds_dump_ppe_vp_tbl_be,
|
||||
.ppeds_enable_pri2tid = dp_ppeds_vdev_enable_pri2tid_be,
|
||||
.ppeds_vp_setup_recovery = dp_ppeds_vp_setup_on_fw_recovery,
|
||||
};
|
||||
|
||||
static void dp_ppeds_rings_status(struct dp_soc *soc)
|
||||
|
Reference in New Issue
Block a user