qcacmn: Add umac callback to get MLO chip ID

Add new MLO mgr callback to return MLO chip ID

Change-Id: I214b600830991f846ded208b16ed2fb1407a5a28
CRs-Fixed: 3432589
This commit is contained in:
Chaithanya Garrepalli
2023-03-14 18:35:35 +05:30
committed by Madan Koyyalamudi
부모 4333d62894
커밋 b57fbc13f4
3개의 변경된 파일33개의 추가작업 그리고 3개의 파일을 삭제

파일 보기

@@ -486,9 +486,10 @@ enum wlan_mlme_cfg_id;
* @vdev_mgr_rsp_timer_stop: * @vdev_mgr_rsp_timer_stop:
* @get_hw_link_id: Get hw_link_id for pdev * @get_hw_link_id: Get hw_link_id for pdev
* @get_psoc_mlo_group_id: Get MLO Group ID for the psoc * @get_psoc_mlo_group_id: Get MLO Group ID for the psoc
* @target_if_mlo_setup_req: * @get_psoc_mlo_chip_id: Get MLO chip ID for the psoc
* @target_if_mlo_ready: * @target_if_mlo_setup_req: MLO setup request
* @target_if_mlo_teardown_req: * @target_if_mlo_ready: MLO ready event
* @target_if_mlo_teardown_req: MLO teardown
* @vdev_send_set_mac_addr: API to send set MAC address request to FW * @vdev_send_set_mac_addr: API to send set MAC address request to FW
* @vdev_peer_set_param_send: API to send peer param to FW * @vdev_peer_set_param_send: API to send peer param to FW
*/ */
@@ -576,6 +577,7 @@ struct wlan_lmac_if_mlme_tx_ops {
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
uint16_t (*get_hw_link_id)(struct wlan_objmgr_pdev *pdev); uint16_t (*get_hw_link_id)(struct wlan_objmgr_pdev *pdev);
uint8_t (*get_psoc_mlo_group_id)(struct wlan_objmgr_psoc *psoc); uint8_t (*get_psoc_mlo_group_id)(struct wlan_objmgr_psoc *psoc);
uint8_t (*get_psoc_mlo_chip_id)(struct wlan_objmgr_psoc *psoc);
QDF_STATUS (*target_if_mlo_setup_req)(struct wlan_objmgr_pdev **pdev, QDF_STATUS (*target_if_mlo_setup_req)(struct wlan_objmgr_pdev **pdev,
uint8_t num_pdevs, uint8_t num_pdevs,
uint8_t grp_id); uint8_t grp_id);

파일 보기

@@ -316,6 +316,7 @@ void mlo_mlme_handle_sta_csa_param(struct wlan_objmgr_vdev *vdev,
#define WLAN_MLO_INVALID_NUM_LINKS (-1) #define WLAN_MLO_INVALID_NUM_LINKS (-1)
#ifdef WLAN_MLO_MULTI_CHIP #ifdef WLAN_MLO_MULTI_CHIP
#define WLAN_MLO_GROUP_INVALID (-1) #define WLAN_MLO_GROUP_INVALID (-1)
#define WLAN_MLO_CHIP_ID_INVALID (-1)
/** /**
* wlan_mlo_get_max_num_links() - Get the maximum number of MLO links * wlan_mlo_get_max_num_links() - Get the maximum number of MLO links
* possible in the system * possible in the system
@@ -360,6 +361,14 @@ uint16_t wlan_mlo_get_pdev_hw_link_id(struct wlan_objmgr_pdev *pdev);
*/ */
uint8_t wlan_mlo_get_psoc_group_id(struct wlan_objmgr_psoc *psoc); uint8_t wlan_mlo_get_psoc_group_id(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlo_get_psoc_mlo_chip_id() - Get MLO chip id of psoc
* @psoc: psoc object
*
* Return: MLO group id of the psoc
*/
uint8_t wlan_mlo_get_psoc_mlo_chip_id(struct wlan_objmgr_psoc *psoc);
/** /**
* wlan_mlo_get_psoc_capable() - Get if MLO capable psoc * wlan_mlo_get_psoc_capable() - Get if MLO capable psoc
* @psoc: Pointer to psoc object * @psoc: Pointer to psoc object

파일 보기

@@ -369,6 +369,25 @@ uint16_t wlan_mlo_get_valid_link_bitmap(uint8_t grp_id)
return mlo_ctx->setup_info[grp_id].valid_link_bitmap; return mlo_ctx->setup_info[grp_id].valid_link_bitmap;
} }
uint8_t wlan_mlo_get_psoc_mlo_chip_id(struct wlan_objmgr_psoc *psoc)
{
struct wlan_lmac_if_tx_ops *tx_ops;
uint8_t mlo_chip_id = WLAN_MLO_CHIP_ID_INVALID;
if (!psoc) {
qdf_err("PSOC is NULL");
return mlo_chip_id;
}
tx_ops = wlan_psoc_get_lmac_if_txops(psoc);
if (tx_ops && tx_ops->mops.get_psoc_mlo_chip_id)
mlo_chip_id = tx_ops->mops.get_psoc_mlo_chip_id(psoc);
return mlo_chip_id;
}
qdf_export_symbol(wlan_mlo_get_psoc_mlo_chip_id);
uint8_t wlan_mlo_get_psoc_group_id(struct wlan_objmgr_psoc *psoc) uint8_t wlan_mlo_get_psoc_group_id(struct wlan_objmgr_psoc *psoc)
{ {
struct wlan_lmac_if_tx_ops *tx_ops; struct wlan_lmac_if_tx_ops *tx_ops;