qcacmn: Fix Reo qref issues
1. Since peer id is reused for reconnection in MLO case, old entries for queue desc addr is cleared. Clear the reo internal storage and reset it back on client connection. 2. Send Qref feature WMI cmd to FW to enable the feature. Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1 CRs-Fixed: 3156642
This commit is contained in:

committed by
Madan Koyyalamudi

parent
423c297cc3
commit
52181cceb1
@@ -2934,6 +2934,26 @@ hal_reo_shared_qaddr_init(hal_soc_handle_t hal_soc_hdl)
|
||||
return hal_soc->ops->hal_reo_shared_qaddr_init(hal_soc_hdl);
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_reo_shared_qaddr_cache_clear(): Set and unset 'clear_qdesc_array'
|
||||
* bit in reo reg for shared qref feature. This is done for every MLO
|
||||
* connection to clear HW reo internal storage for clearing stale entry
|
||||
* of prev peer having same peer id
|
||||
*
|
||||
* @hal_soc: Hal soc pointer
|
||||
*
|
||||
* Write MLO and Non MLO table start addr to HW reg
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void hal_reo_shared_qaddr_cache_clear(hal_soc_handle_t hal_soc_hdl)
|
||||
{
|
||||
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
|
||||
|
||||
if (hal_soc->ops->hal_reo_shared_qaddr_cache_clear)
|
||||
return hal_soc->ops->hal_reo_shared_qaddr_cache_clear(hal_soc_hdl);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void
|
||||
hal_reo_shared_qaddr_write(hal_soc_handle_t hal_soc_hdl,
|
||||
@@ -2943,6 +2963,9 @@ hal_reo_shared_qaddr_write(hal_soc_handle_t hal_soc_hdl,
|
||||
static inline void
|
||||
hal_reo_shared_qaddr_init(hal_soc_handle_t hal_soc_hdl) {}
|
||||
|
||||
static inline void
|
||||
hal_reo_shared_qaddr_cache_clear(hal_soc_handle_t hal_soc_hdl) {}
|
||||
|
||||
#endif /* REO_SHARED_QREF_TABLE_EN */
|
||||
|
||||
static inline uint8_t
|
||||
|
Reference in New Issue
Block a user