mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
qcacmn: Add extract API for ring params from DBR
Extract ring parameters using dbr_rx_ops for functions in umac. CRs-Fixed: 2404710 Change-Id: I6fa02668b4fead35ace9e1b4886954ca4cca09c6
This commit is contained in:
parent
1eb84e39fe
commit
db3bb4b4a7
4 changed files with 61 additions and 0 deletions
|
|
@ -174,5 +174,7 @@ void target_if_direct_buf_rx_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
|
|||
target_if_direct_buf_rx_unregister_events;
|
||||
tx_ops->dbr_tx_ops.direct_buf_rx_print_ring_stat =
|
||||
target_if_direct_buf_rx_print_ring_stat;
|
||||
tx_ops->dbr_tx_ops.direct_buf_rx_get_ring_params =
|
||||
target_if_direct_buf_rx_get_ring_params;
|
||||
}
|
||||
qdf_export_symbol(target_if_direct_buf_rx_register_tx_ops);
|
||||
|
|
|
|||
|
|
@ -1134,3 +1134,31 @@ QDF_STATUS target_if_direct_buf_rx_print_ring_stat(
|
|||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
target_if_direct_buf_rx_get_ring_params(struct wlan_objmgr_pdev *pdev,
|
||||
struct module_ring_params *param,
|
||||
int mod_id)
|
||||
{
|
||||
struct direct_buf_rx_pdev_obj *dbr_pdev_obj;
|
||||
struct direct_buf_rx_module_param *dbr_mod_param;
|
||||
|
||||
if (NULL == pdev) {
|
||||
direct_buf_rx_err("pdev context passed is null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
dbr_pdev_obj = wlan_objmgr_pdev_get_comp_private_obj
|
||||
(pdev, WLAN_TARGET_IF_COMP_DIRECT_BUF_RX);
|
||||
|
||||
if (NULL == dbr_pdev_obj) {
|
||||
direct_buf_rx_err("dir buf rx object is null");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
dbr_mod_param = &dbr_pdev_obj->dbr_mod_param[mod_id];
|
||||
param->num_bufs = dbr_mod_param->dbr_ring_cfg->num_ptr;
|
||||
param->buf_size = dbr_mod_param->dbr_ring_cfg->buf_size;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,6 +130,16 @@ struct direct_buf_rx_psoc_obj {
|
|||
qdf_device_t osdev;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct module_ring_params - Direct buf ring params for module
|
||||
* @num_bufs: Number of buffers alloted to this module
|
||||
* @buf_size: size of buffers
|
||||
*/
|
||||
struct module_ring_params {
|
||||
uint32_t num_bufs;
|
||||
uint32_t buf_size;
|
||||
};
|
||||
|
||||
/**
|
||||
* target_if_direct_buf_rx_register_events() - Register WMI events to direct
|
||||
* buffer rx module
|
||||
|
|
@ -244,4 +254,17 @@ QDF_STATUS target_if_direct_buf_rx_module_register(
|
|||
*/
|
||||
QDF_STATUS target_if_direct_buf_rx_module_unregister(
|
||||
struct wlan_objmgr_pdev *pdev, uint8_t mod_id);
|
||||
|
||||
/**
|
||||
* target_if_direct_buf_rx_get_ring_params() - Function to get ring parameters
|
||||
* for module_id
|
||||
* @pdev: pointer to pdev object
|
||||
* @module_ring_params: pointer to store ring params
|
||||
* @mod_id: module idindicating module using direct buffer rx framework
|
||||
*/
|
||||
QDF_STATUS
|
||||
target_if_direct_buf_rx_get_ring_params(struct wlan_objmgr_pdev *pdev,
|
||||
struct module_ring_params *param,
|
||||
int mod_id);
|
||||
|
||||
#endif /* _TARGET_IF_DIRECT_BUF_RX_MAIN_H_ */
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ struct oem_data_rsp;
|
|||
#ifdef DIRECT_BUF_RX_ENABLE
|
||||
/* forward declarations for direct buf rx */
|
||||
struct direct_buf_rx_data;
|
||||
/* Forward declaration for module_ring_params */
|
||||
struct module_ring_params;
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
|
|
@ -577,6 +579,8 @@ struct wlan_lmac_if_wifi_pos_tx_ops {
|
|||
* @direct_buf_rx_unregister_events: Unregistraton of WMI events for direct
|
||||
* buffer rx framework
|
||||
* @direct_buf_rx_print_ring_stat: Print ring status per module per pdev
|
||||
*
|
||||
* @direct_buf_rx_get_ring_params: Get ring parameters for module_id
|
||||
*/
|
||||
struct wlan_lmac_if_direct_buf_rx_tx_ops {
|
||||
QDF_STATUS (*direct_buf_rx_module_register)(
|
||||
|
|
@ -591,6 +595,10 @@ struct wlan_lmac_if_direct_buf_rx_tx_ops {
|
|||
struct wlan_objmgr_psoc *psoc);
|
||||
QDF_STATUS (*direct_buf_rx_print_ring_stat)(
|
||||
struct wlan_objmgr_pdev *pdev);
|
||||
QDF_STATUS (*direct_buf_rx_get_ring_params)
|
||||
(struct wlan_objmgr_pdev *pdev,
|
||||
struct module_ring_params *param,
|
||||
int module_id);
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue