qcacmn: Update the MLO ops to include attach and detach

To handle dp_mlo_ctxt assignments from the UMAC module,
moving the callers for attach and detach to the list of
MLO operations for multi chip.

CRs-Fixed: 3355400
Change-Id: Id743ec1086cf1b3ba0a3ec42212dc21c5a9ccc6b
This commit is contained in:
Sreeramya Soratkal
2022-12-07 16:07:48 +05:30
کامیت شده توسط Madan Koyyalamudi
والد e2da240791
کامیت 27f8943f9c
3فایلهای تغییر یافته به همراه35 افزوده شده و 9 حذف شده

مشاهده پرونده

@@ -19,25 +19,40 @@
struct cdp_mlo_ctxt;
/**
* cdp_ctrl_mlo_mgr - opaque handle for mlo manager context
*/
struct cdp_ctrl_mlo_mgr;
struct
cdp_mlo_ctxt *dp_mlo_ctxt_attach_wifi3(struct cdp_ctrl_mlo_mgr *ctrl_ctxt);
void dp_mlo_ctxt_detach_wifi3(struct cdp_mlo_ctxt *ml_ctxt);
static inline
struct cdp_mlo_ctxt *cdp_mlo_ctxt_attach(struct cdp_ctrl_mlo_mgr *ctrl_ctxt)
struct cdp_mlo_ctxt *cdp_mlo_ctxt_attach(ol_txrx_soc_handle soc,
struct cdp_ctrl_mlo_mgr *ctrl_ctxt)
{
return dp_mlo_ctxt_attach_wifi3(ctrl_ctxt);
if (!soc || !soc->ops) {
QDF_BUG(0);
return NULL;
}
if (!soc->ops->mlo_ops ||
!soc->ops->mlo_ops->mlo_ctxt_attach)
return NULL;
return soc->ops->mlo_ops->mlo_ctxt_attach(ctrl_ctxt);
}
static inline
void cdp_mlo_ctxt_detach(struct cdp_mlo_ctxt *ml_ctxt)
void cdp_mlo_ctxt_detach(ol_txrx_soc_handle soc,
struct cdp_mlo_ctxt *ml_ctxt)
{
dp_mlo_ctxt_detach_wifi3(ml_ctxt);
if (!soc || !soc->ops) {
QDF_BUG(0);
return;
}
if (!soc->ops->mlo_ops ||
!soc->ops->mlo_ops->mlo_ctxt_detach)
return;
soc->ops->mlo_ops->mlo_ctxt_detach(ml_ctxt);
}
static inline void cdp_soc_mlo_soc_setup(ol_txrx_soc_handle soc,

مشاهده پرونده

@@ -48,6 +48,11 @@
#define CDP_PEER_DO_NOT_START_UNMAP_TIMER 1
struct hif_opaque_softc;
/**
* cdp_ctrl_mlo_mgr - opaque handle for mlo manager context
*/
struct cdp_ctrl_mlo_mgr;
/* same as ieee80211_nac_param */
enum cdp_nac_param_cmd {
@@ -148,6 +153,8 @@ enum cdp_peer_txq_flush_policy {
* @mlo_update_delta_tsf2: update delta tsf2 for link
* @mlo_update_delta_tqm: update delta tqm for SOC
* @mlo_update_mlo_ts_offset: update MLO timestamp offset for SOC
* @mlo_ctxt_attach: Attach DP MLO context
* @mlo_ctxt_detach: Detach DP MLO context
*/
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
struct cdp_mlo_ops {
@@ -160,6 +167,8 @@ struct cdp_mlo_ops {
int8_t *vdev_ids, uint8_t num_vdevs,
uint8_t vdev_id);
void (*mlo_setup_complete)(struct cdp_mlo_ctxt *mlo_ctxt);
struct cdp_mlo_ctxt *(*mlo_ctxt_attach)(struct cdp_ctrl_mlo_mgr *m_ctx);
void (*mlo_ctxt_detach)(struct cdp_mlo_ctxt *mlo_ctxt);
void (*mlo_update_delta_tsf2)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id,
uint64_t delta_tsf2);

مشاهده پرونده

@@ -523,6 +523,8 @@ static struct cdp_mlo_ops dp_mlo_ops = {
.mlo_update_delta_tsf2 = dp_mlo_update_delta_tsf2,
.mlo_update_delta_tqm = dp_mlo_update_delta_tqm,
.mlo_update_mlo_ts_offset = dp_mlo_update_mlo_ts_offset,
.mlo_ctxt_attach = dp_mlo_ctxt_attach_wifi3,
.mlo_ctxt_detach = dp_mlo_ctxt_detach_wifi3,
};
void dp_soc_mlo_fill_params(struct dp_soc *soc,