qcacmn: Changes for MLO pdev attach
Changes for MLO pdev attach to get MLO_link_id information. Change-Id: Id9e6932138e314dfeb93417fce690329ec7d6ab8
This commit is contained in:

committed by
Madan Koyyalamudi

parent
70398a0ccd
commit
31281aab2b
@@ -253,8 +253,7 @@ cdp_pdev_attach_target(ol_txrx_soc_handle soc, uint8_t pdev_id)
|
||||
}
|
||||
|
||||
static inline QDF_STATUS cdp_pdev_attach
|
||||
(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, qdf_device_t osdev,
|
||||
uint8_t pdev_id)
|
||||
(ol_txrx_soc_handle soc, struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
if (!soc || !soc->ops) {
|
||||
dp_cdp_debug("Invalid Instance:");
|
||||
@@ -266,8 +265,7 @@ static inline QDF_STATUS cdp_pdev_attach
|
||||
!soc->ops->cmn_drv_ops->txrx_pdev_attach)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, htc_pdev, osdev,
|
||||
pdev_id);
|
||||
return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -2666,4 +2666,19 @@ struct cdp_soc_attach_params {
|
||||
uint8_t mlo_chip_id;
|
||||
uint8_t mlo_enabled;
|
||||
};
|
||||
|
||||
/*
|
||||
* cdp_pdev_attach_params
|
||||
*
|
||||
* @htc_handle: HTC handle for host-target interface
|
||||
* @qdf_osdev: QDF OS device
|
||||
* @pdev_id: PDEV ID
|
||||
* @mlo_link_id: ML link id
|
||||
*/
|
||||
struct cdp_pdev_attach_params {
|
||||
HTC_HANDLE htc_handle;
|
||||
qdf_device_t qdf_osdev;
|
||||
uint8_t pdev_id;
|
||||
uint32_t mlo_link_id;
|
||||
};
|
||||
#endif
|
||||
|
@@ -127,8 +127,8 @@ struct cdp_cmn_ops {
|
||||
void *cb_context);
|
||||
|
||||
QDF_STATUS (*txrx_pdev_attach)
|
||||
(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev,
|
||||
qdf_device_t osdev, uint8_t pdev_id);
|
||||
(ol_txrx_soc_handle soc,
|
||||
struct cdp_pdev_attach_params *params);
|
||||
|
||||
int (*txrx_pdev_post_attach)(struct cdp_soc_t *soc, uint8_t pdev_id);
|
||||
|
||||
|
@@ -481,8 +481,10 @@ fail:
|
||||
return qdf_status;
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_pdev_attach_be(struct dp_pdev *pdev)
|
||||
static QDF_STATUS dp_pdev_attach_be(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
dp_pdev_mlo_fill_params(pdev, params);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
@@ -210,12 +210,16 @@ struct dp_soc_be {
|
||||
* struct dp_pdev_be - Extended DP pdev for BE targets
|
||||
* @pdev: dp pdev structure
|
||||
* @monitor_pdev_be: BE specific monitor object
|
||||
* @mlo_link_id: MLO link id for PDEV
|
||||
*/
|
||||
struct dp_pdev_be {
|
||||
struct dp_pdev pdev;
|
||||
#if !defined(DISABLE_MON_CONFIG)
|
||||
struct dp_mon_pdev_be *monitor_pdev_be;
|
||||
#endif
|
||||
#ifdef WLAN_MLO_MULTI_CHIP
|
||||
uint8_t mlo_link_id;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -541,5 +545,11 @@ void dp_soc_mlo_fill_params(struct dp_soc *soc,
|
||||
struct cdp_soc_attach_params *params)
|
||||
{
|
||||
}
|
||||
|
||||
static inline
|
||||
void dp_pdev_mlo_fill_params(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
@@ -113,3 +113,17 @@ void dp_soc_mlo_fill_params(struct dp_soc *soc,
|
||||
be_soc->ml_ctxt = cdp_mlo_ctx_to_dp(params->ml_context);
|
||||
be_soc->mlo_enabled = 1;
|
||||
}
|
||||
|
||||
void dp_pdev_mlo_fill_params(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(pdev->soc);
|
||||
struct dp_pdev_be *be_pdev = dp_get_be_pdev_from_dp_pdev(pdev);
|
||||
|
||||
if (!be_soc->mlo_enabled) {
|
||||
dp_info("MLO not enabled on SOC");
|
||||
return;
|
||||
}
|
||||
|
||||
be_pdev->mlo_link_id = params->mlo_link_id;
|
||||
}
|
||||
|
@@ -80,4 +80,14 @@ struct dp_mlo_ctxt *cdp_mlo_ctx_to_dp(struct cdp_mlo_ctxt *mlo_ctxt)
|
||||
*/
|
||||
void dp_soc_mlo_fill_params(struct dp_soc *soc,
|
||||
struct cdp_soc_attach_params *params);
|
||||
|
||||
/**
|
||||
* dp_pdev_mlo_fill_params() - update PDEV mlo params
|
||||
* @pdev: DP PDEV
|
||||
* @params: PDEV attach params
|
||||
*
|
||||
* Return: struct dp_soc pointer
|
||||
*/
|
||||
void dp_pdev_mlo_fill_params(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params);
|
||||
#endif /* __DP_MLO_H */
|
||||
|
@@ -183,9 +183,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc);
|
||||
|
||||
static inline
|
||||
QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
||||
HTC_HANDLE htc_handle,
|
||||
qdf_device_t qdf_osdev,
|
||||
uint8_t pdev_id);
|
||||
struct cdp_pdev_attach_params *params);
|
||||
|
||||
static int dp_pdev_post_attach_wifi3(struct cdp_soc_t *psoc, uint8_t pdev_id);
|
||||
|
||||
@@ -4972,20 +4970,18 @@ static inline void dp_soc_tx_history_detach(struct dp_soc *soc)
|
||||
/*
|
||||
* dp_pdev_attach_wifi3() - attach txrx pdev
|
||||
* @txrx_soc: Datapath SOC handle
|
||||
* @htc_handle: HTC handle for host-target interface
|
||||
* @qdf_osdev: QDF OS device
|
||||
* @pdev_id: PDEV ID
|
||||
* @params: Params for PDEV attach
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
||||
HTC_HANDLE htc_handle,
|
||||
qdf_device_t qdf_osdev,
|
||||
uint8_t pdev_id)
|
||||
static inline
|
||||
QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
||||
struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
qdf_size_t pdev_context_size;
|
||||
struct dp_soc *soc = (struct dp_soc *)txrx_soc;
|
||||
struct dp_pdev *pdev = NULL;
|
||||
uint8_t pdev_id = params->pdev_id;
|
||||
struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
|
||||
int nss_cfg;
|
||||
|
||||
@@ -5045,6 +5041,8 @@ static inline QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
||||
goto fail4;
|
||||
}
|
||||
|
||||
soc->arch_ops.txrx_pdev_attach(pdev, params);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
fail4:
|
||||
dp_rx_pdev_desc_pool_free(pdev);
|
||||
|
@@ -1608,7 +1608,8 @@ struct dp_arch_ops {
|
||||
QDF_STATUS (*txrx_soc_srng_init)(struct dp_soc *soc);
|
||||
void (*txrx_soc_srng_deinit)(struct dp_soc *soc);
|
||||
void (*txrx_soc_srng_free)(struct dp_soc *soc);
|
||||
QDF_STATUS (*txrx_pdev_attach)(struct dp_pdev *pdev);
|
||||
QDF_STATUS (*txrx_pdev_attach)(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params);
|
||||
QDF_STATUS (*txrx_pdev_detach)(struct dp_pdev *pdev);
|
||||
QDF_STATUS (*txrx_vdev_attach)(struct dp_soc *soc,
|
||||
struct dp_vdev *vdev);
|
||||
|
@@ -86,7 +86,8 @@ static QDF_STATUS dp_soc_deinit_li(struct dp_soc *soc)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_pdev_attach_li(struct dp_pdev *pdev)
|
||||
static QDF_STATUS dp_pdev_attach_li(struct dp_pdev *pdev,
|
||||
struct cdp_pdev_attach_params *params)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user