qcacmn: REO queue ref enhancement for Waikiki

In WIN BE chipsets, replace the REO tid
queue programming in FW via WMI with writing to a
Host managed table shared by HW and SW. REO HW will
pick the tid queue address from the table indexed by
peer id and tid number.

Change-Id: I8107ca5116425538329b11ae3519f02b32573bac
This commit is contained in:
Sumedh Baikady
2021-11-01 16:39:34 -07:00
کامیت شده توسط Madan Koyyalamudi
والد e54c2ef953
کامیت e4d9b0c2d7
17فایلهای تغییر یافته به همراه623 افزوده شده و 112 حذف شده

مشاهده پرونده

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-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
@@ -716,4 +717,50 @@ hal_get_tlv_hdr_size(hal_soc_handle_t hal_soc_hdl)
*/
void hal_reo_init_cmd_ring(hal_soc_handle_t hal_soc_hdl,
hal_ring_handle_t hal_ring_hdl);
#ifdef REO_SHARED_QREF_TABLE_EN
/**
* hal_reo_shared_qaddr_setup(): Setup reo qref LUT
* @hal_soc: Hal soc pointer
*
* Allocate MLO and Non MLO table for storing REO queue
* reference pointers
*
* Return: void
*/
static inline void
hal_reo_shared_qaddr_setup(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_setup)
return hal_soc->ops->hal_reo_shared_qaddr_setup(hal_soc_hdl);
}
/**
* hal_reo_shared_qaddr_detach(): Detach reo qref LUT
* @hal_soc: Hal soc pointer
*
* Detach MLO and Non MLO table start addr to HW reg
*
* Return: void
*/
static inline void
hal_reo_shared_qaddr_detach(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_detach)
return hal_soc->ops->hal_reo_shared_qaddr_detach(hal_soc_hdl);
}
#else
static inline void
hal_reo_shared_qaddr_setup(hal_soc_handle_t hal_soc_hdl)
{
}
static inline void
hal_reo_shared_qaddr_detach(hal_soc_handle_t hal_soc_hdl) {}
#endif /* REO_SHARED_QREF_TABLE_EN */
#endif /* _HAL_REO_H */