qcacmn: Separate global shmem generic APIs from REO
Changes to move the global shared memory arena init deinit APIs from MGMT RX REO cmponent to MLO component. CRs-Fixed: 3121467 Change-Id: Ie5ca50780ffb3343d225b6cf6acfa569463d5a3e
此提交包含在:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -78,6 +79,7 @@ struct wlan_host_mlo_glb_h_shmem_arena_ctx {
|
||||
qdf_atomic_t init_count;
|
||||
};
|
||||
|
||||
#ifdef WLAN_MLO_GLOBAL_SHMEM_SUPPORT
|
||||
/**
|
||||
* mlo_glb_h_shmem_arena_ctx_init() - Initialize MLO Global shared memory arena
|
||||
* context on Host
|
||||
@@ -96,7 +98,9 @@ QDF_STATUS mlo_glb_h_shmem_arena_ctx_init(void *arena_vaddr,
|
||||
* Return: QDF_STATUS of operation
|
||||
*/
|
||||
QDF_STATUS mlo_glb_h_shmem_arena_ctx_deinit(void);
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_MGMT_RX_REO_SUPPORT
|
||||
/**
|
||||
* mgmt_rx_reo_get_num_links() - Get number of links to be used by MGMT Rx REO
|
||||
*
|
||||
@@ -113,4 +117,5 @@ int mgmt_rx_reo_get_num_links(void);
|
||||
*/
|
||||
void *mgmt_rx_reo_get_snapshot_address(
|
||||
uint8_t link_id, enum mgmt_rx_reo_shared_snapshot_id snapshot_id);
|
||||
#endif /* WLAN_MGMT_RX_REO_SUPPORT */
|
||||
#endif
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -26,6 +27,18 @@
|
||||
#include<qdf_types.h>
|
||||
#include<wlan_lmac_if_def.h>
|
||||
|
||||
#ifdef WLAN_MLO_GLOBAL_SHMEM_SUPPORT
|
||||
/**
|
||||
* global_shmem_register_wifi3_0_ops() - Register wifi3.0 operations of
|
||||
* global shared memory access module
|
||||
* @shmem_tx_ops: Pointer to the local ops table of global shared mem module.
|
||||
*
|
||||
* Return: QDF_STATUS of operation
|
||||
*/
|
||||
QDF_STATUS global_shmem_register_wifi3_0_ops(
|
||||
struct wlan_lmac_if_global_shmem_local_ops *shmem_local_ops);
|
||||
|
||||
#ifdef WLAN_MGMT_RX_REO_SUPPORT
|
||||
/**
|
||||
* mgmt_rx_reo_register_wifi3_0_ops() - Register wifi3.0 operations of MGMT Rx
|
||||
* REO module
|
||||
@@ -38,4 +51,6 @@
|
||||
*/
|
||||
QDF_STATUS mgmt_rx_reo_register_wifi3_0_ops(
|
||||
struct wlan_lmac_if_mgmt_rx_reo_low_level_ops *reo_low_level_ops);
|
||||
#endif
|
||||
#endif /* WLAN_MGMT_RX_REO_SUPPORT */
|
||||
#endif /* WLAN_MLO_GLOBAL_SHMEM_SUPPORT */
|
||||
#endif /* _MLO_GLOBAL_H_SHMEM_ARENA_API_H_ */
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -493,6 +494,7 @@ success:
|
||||
|
||||
qdf_export_symbol(mlo_glb_h_shmem_arena_ctx_deinit);
|
||||
|
||||
#ifdef WLAN_MGMT_RX_REO_SUPPORT
|
||||
int mgmt_rx_reo_get_num_links(void)
|
||||
{
|
||||
struct wlan_host_mlo_glb_h_shmem_arena_ctx *shmem_arena_ctx;
|
||||
@@ -556,3 +558,4 @@ void *mgmt_rx_reo_get_snapshot_address(
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -21,6 +22,7 @@
|
||||
*/
|
||||
#include <mlo_global_h_shmem_arena.h>
|
||||
|
||||
#ifdef WLAN_MGMT_RX_REO_SUPPORT
|
||||
/**
|
||||
* mgmt_rx_reo_snapshot_is_valid() - Check if an MGMT Rx REO snapshot is valid
|
||||
* @snapshot_low: lower 32-bits of the snapshot
|
||||
@@ -97,10 +99,6 @@ QDF_STATUS mgmt_rx_reo_register_wifi3_0_ops(
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
reo_low_level_ops->init_shmem_arena_ctx =
|
||||
mlo_glb_h_shmem_arena_ctx_init;
|
||||
reo_low_level_ops->deinit_shmem_arena_ctx =
|
||||
mlo_glb_h_shmem_arena_ctx_deinit;
|
||||
reo_low_level_ops->get_num_links = mgmt_rx_reo_get_num_links;
|
||||
reo_low_level_ops->get_snapshot_address =
|
||||
mgmt_rx_reo_get_snapshot_address;
|
||||
@@ -119,3 +117,22 @@ QDF_STATUS mgmt_rx_reo_register_wifi3_0_ops(
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS global_shmem_register_wifi3_0_ops(
|
||||
struct wlan_lmac_if_global_shmem_local_ops *shmem_local_ops)
|
||||
{
|
||||
if (!shmem_local_ops) {
|
||||
target_if_err("Low level ops of global shmem is NULL");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
shmem_local_ops->init_shmem_arena_ctx =
|
||||
mlo_glb_h_shmem_arena_ctx_init;
|
||||
shmem_local_ops->deinit_shmem_arena_ctx =
|
||||
mlo_glb_h_shmem_arena_ctx_deinit;
|
||||
|
||||
shmem_local_ops->implemented = true;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
新增問題並參考
封鎖使用者