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
このコミットが含まれているのは:
@@ -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;
|
target_if_direct_buf_rx_unregister_events;
|
||||||
tx_ops->dbr_tx_ops.direct_buf_rx_print_ring_stat =
|
tx_ops->dbr_tx_ops.direct_buf_rx_print_ring_stat =
|
||||||
target_if_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);
|
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;
|
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;
|
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
|
* target_if_direct_buf_rx_register_events() - Register WMI events to direct
|
||||||
* buffer rx module
|
* 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(
|
QDF_STATUS target_if_direct_buf_rx_module_unregister(
|
||||||
struct wlan_objmgr_pdev *pdev, uint8_t mod_id);
|
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_ */
|
#endif /* _TARGET_IF_DIRECT_BUF_RX_MAIN_H_ */
|
||||||
|
@@ -66,6 +66,8 @@ struct oem_data_rsp;
|
|||||||
#ifdef DIRECT_BUF_RX_ENABLE
|
#ifdef DIRECT_BUF_RX_ENABLE
|
||||||
/* forward declarations for direct buf rx */
|
/* forward declarations for direct buf rx */
|
||||||
struct direct_buf_rx_data;
|
struct direct_buf_rx_data;
|
||||||
|
/* Forward declaration for module_ring_params */
|
||||||
|
struct module_ring_params;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_TDLS
|
#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
|
* @direct_buf_rx_unregister_events: Unregistraton of WMI events for direct
|
||||||
* buffer rx framework
|
* buffer rx framework
|
||||||
* @direct_buf_rx_print_ring_stat: Print ring status per module per pdev
|
* @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 {
|
struct wlan_lmac_if_direct_buf_rx_tx_ops {
|
||||||
QDF_STATUS (*direct_buf_rx_module_register)(
|
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);
|
struct wlan_objmgr_psoc *psoc);
|
||||||
QDF_STATUS (*direct_buf_rx_print_ring_stat)(
|
QDF_STATUS (*direct_buf_rx_print_ring_stat)(
|
||||||
struct wlan_objmgr_pdev *pdev);
|
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
|
#endif
|
||||||
|
|
||||||
|
新しいイシューから参照
ユーザーをブロックする