qcacld-3.0: Register target if ops for DP control ops
As part of DP-CP interaction convergence register common converged target if ops for DP control ops. Change-Id: Ifbe5d20e32262782016c3b0c20a7d2e149a071c3 CRs-fixed: 2273037
This commit is contained in:

committed by
nshrivas

szülő
a1ea7c5d2b
commit
b8bdf522fc
7
Kbuild
7
Kbuild
@@ -941,8 +941,10 @@ endif
|
|||||||
|
|
||||||
ifeq ($(CONFIG_LITHIUM), y)
|
ifeq ($(CONFIG_LITHIUM), y)
|
||||||
############ DP 3.0 ############
|
############ DP 3.0 ############
|
||||||
|
DP_TARGET_INC_DIR := $(WLAN_COMMON_ROOT)/target_if/dp/inc
|
||||||
DP_INC := -I$(WLAN_COMMON_ROOT)/dp/inc \
|
DP_INC := -I$(WLAN_COMMON_ROOT)/dp/inc \
|
||||||
-I$(WLAN_COMMON_ROOT)/dp/wifi3.0
|
-I$(WLAN_COMMON_ROOT)/dp/wifi3.0 \
|
||||||
|
-I$(WLAN_ROOT)/$(DP_TARGET_INC_DIR)
|
||||||
|
|
||||||
DP_SRC := $(WLAN_COMMON_ROOT)/dp/wifi3.0
|
DP_SRC := $(WLAN_COMMON_ROOT)/dp/wifi3.0
|
||||||
DP_OBJS := $(DP_SRC)/dp_main.o \
|
DP_OBJS := $(DP_SRC)/dp_main.o \
|
||||||
@@ -957,7 +959,8 @@ DP_OBJS := $(DP_SRC)/dp_main.o \
|
|||||||
$(DP_SRC)/dp_rx_mon_dest.o \
|
$(DP_SRC)/dp_rx_mon_dest.o \
|
||||||
$(DP_SRC)/dp_rx_mon_status.o \
|
$(DP_SRC)/dp_rx_mon_status.o \
|
||||||
$(DP_SRC)/dp_rx_defrag.o \
|
$(DP_SRC)/dp_rx_defrag.o \
|
||||||
$(DP_SRC)/dp_stats.o
|
$(DP_SRC)/dp_stats.o \
|
||||||
|
$(WLAN_COMMON_ROOT)/target_if/dp/src/target_if_dp.o
|
||||||
ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
|
ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
|
||||||
DP_OBJS += $(DP_SRC)/dp_tx_flow_control.o
|
DP_OBJS += $(DP_SRC)/dp_tx_flow_control.o
|
||||||
endif
|
endif
|
||||||
|
@@ -64,6 +64,11 @@
|
|||||||
#include <asm/dma-iommu.h>
|
#include <asm/dma-iommu.h>
|
||||||
#include <linux/iommu.h>
|
#include <linux/iommu.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef QCA_WIFI_QCA8074
|
||||||
|
#include <target_if_dp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Preprocessor Definitions and Constants */
|
/* Preprocessor Definitions and Constants */
|
||||||
|
|
||||||
/* Preprocessor Definitions and Constants */
|
/* Preprocessor Definitions and Constants */
|
||||||
@@ -75,15 +80,19 @@ static struct __qdf_device g_qdf_ctx;
|
|||||||
|
|
||||||
static uint8_t cds_multicast_logging;
|
static uint8_t cds_multicast_logging;
|
||||||
|
|
||||||
|
#ifdef QCA_WIFI_QCA8074
|
||||||
static struct ol_if_ops dp_ol_if_ops = {
|
static struct ol_if_ops dp_ol_if_ops = {
|
||||||
.peer_set_default_routing = wma_peer_set_default_routing,
|
.peer_set_default_routing = target_if_peer_set_default_routing,
|
||||||
.peer_rx_reorder_queue_setup = wma_peer_rx_reorder_queue_setup,
|
.peer_rx_reorder_queue_setup = target_if_peer_rx_reorder_queue_setup,
|
||||||
.peer_rx_reorder_queue_remove = wma_peer_rx_reorder_queue_remove,
|
.peer_rx_reorder_queue_remove = target_if_peer_rx_reorder_queue_remove,
|
||||||
.is_hw_dbs_2x2_capable = policy_mgr_is_hw_dbs_2x2_capable,
|
.is_hw_dbs_2x2_capable = policy_mgr_is_hw_dbs_2x2_capable,
|
||||||
.lro_hash_config = wma_lro_config_cmd,
|
.lro_hash_config = target_if_lro_hash_config,
|
||||||
.rx_mic_error = wma_rx_mic_error_ind
|
.rx_mic_error = wma_rx_mic_error_ind
|
||||||
/* TODO: Add any other control path calls required to OL_IF/WMA layer */
|
/* TODO: Add any other control path calls required to OL_IF/WMA layer */
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
static struct ol_if_ops dp_ol_if_ops;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void cds_trigger_recovery_work(void *param);
|
static void cds_trigger_recovery_work(void *param);
|
||||||
|
|
||||||
|
@@ -2290,13 +2290,6 @@ void wma_register_packetdump_callback(
|
|||||||
void wma_deregister_packetdump_callback(void);
|
void wma_deregister_packetdump_callback(void);
|
||||||
void wma_update_sta_inactivity_timeout(tp_wma_handle wma,
|
void wma_update_sta_inactivity_timeout(tp_wma_handle wma,
|
||||||
struct sme_sta_inactivity_timeout *sta_inactivity_timer);
|
struct sme_sta_inactivity_timeout *sta_inactivity_timer);
|
||||||
void wma_peer_set_default_routing(void *scn_handle, uint8_t *peer_macaddr,
|
|
||||||
uint8_t vdev_id, bool hash_based, uint8_t ring_num);
|
|
||||||
int wma_peer_rx_reorder_queue_setup(void *scn_handle,
|
|
||||||
uint8_t vdev_id, uint8_t *peer_macaddr, qdf_dma_addr_t hw_qdesc,
|
|
||||||
int tid, uint16_t queue_no);
|
|
||||||
int wma_peer_rx_reorder_queue_remove(void *scn_handle,
|
|
||||||
uint8_t vdev_id, uint8_t *peer_macaddr, uint32_t peer_tid_bitmap);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wma_form_rx_packet() - form rx cds packet
|
* wma_form_rx_packet() - form rx cds packet
|
||||||
|
@@ -8840,69 +8840,6 @@ int wma_lro_init(struct cdp_lro_hash_config *lro_config)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void wma_peer_set_default_routing(void *scn_handle, uint8_t *peer_macaddr,
|
|
||||||
uint8_t vdev_id, bool hash_based, uint8_t ring_num)
|
|
||||||
{
|
|
||||||
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
|
|
||||||
struct peer_set_params param;
|
|
||||||
|
|
||||||
if (!wma) {
|
|
||||||
WMA_LOGE("%s:wma_handle is NULL", __func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TODO: Need bit definitions for ring number and hash based routing
|
|
||||||
* fields in common wmi header file
|
|
||||||
*/
|
|
||||||
param.param_id = WMI_HOST_PEER_SET_DEFAULT_ROUTING;
|
|
||||||
param.vdev_id = vdev_id;
|
|
||||||
param.param_value = ((hash_based) ? 1 : 0) | (ring_num << 1);
|
|
||||||
WMA_LOGD("%s: param_value 0x%x", __func__, param.param_value);
|
|
||||||
wmi_set_peer_param_send(wma->wmi_handle, peer_macaddr, ¶m);
|
|
||||||
}
|
|
||||||
|
|
||||||
int wma_peer_rx_reorder_queue_setup(void *scn_handle,
|
|
||||||
uint8_t vdev_id, uint8_t *peer_macaddr, qdf_dma_addr_t hw_qdesc,
|
|
||||||
int tid, uint16_t queue_no)
|
|
||||||
{
|
|
||||||
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
|
|
||||||
struct rx_reorder_queue_setup_params param;
|
|
||||||
|
|
||||||
if (!wma) {
|
|
||||||
WMA_LOGE("%s:wma_handle is NULL", __func__);
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
param.tid = tid;
|
|
||||||
param.vdev_id = vdev_id;
|
|
||||||
param.peer_macaddr = peer_macaddr;
|
|
||||||
param.hw_qdesc_paddr_lo = hw_qdesc & 0xffffffff;
|
|
||||||
param.hw_qdesc_paddr_hi = (uint64_t)hw_qdesc >> 32;
|
|
||||||
param.queue_no = queue_no;
|
|
||||||
|
|
||||||
return wmi_unified_peer_rx_reorder_queue_setup_send(wma->wmi_handle,
|
|
||||||
¶m);
|
|
||||||
}
|
|
||||||
|
|
||||||
int wma_peer_rx_reorder_queue_remove(void *scn_handle,
|
|
||||||
uint8_t vdev_id, uint8_t *peer_macaddr, uint32_t peer_tid_bitmap)
|
|
||||||
{
|
|
||||||
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
|
|
||||||
struct rx_reorder_queue_remove_params param;
|
|
||||||
|
|
||||||
if (!wma) {
|
|
||||||
WMA_LOGE("%s:wma_handle is NULL", __func__);
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
param.vdev_id = vdev_id;
|
|
||||||
param.peer_macaddr = peer_macaddr;
|
|
||||||
param.peer_tid_bitmap = peer_tid_bitmap;
|
|
||||||
|
|
||||||
return wmi_unified_peer_rx_reorder_queue_remove_send(wma->wmi_handle,
|
|
||||||
¶m);
|
|
||||||
}
|
|
||||||
|
|
||||||
QDF_STATUS wma_configure_smps_params(uint32_t vdev_id, uint32_t param_id,
|
QDF_STATUS wma_configure_smps_params(uint32_t vdev_id, uint32_t param_id,
|
||||||
uint32_t param_val)
|
uint32_t param_val)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user