Sfoglia il codice sorgente

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
Sravan Kumar Kairam 6 anni fa
parent
commit
b8bdf522fc
4 ha cambiato i file con 18 aggiunte e 76 eliminazioni
  1. 5 2
      Kbuild
  2. 13 4
      core/cds/src/cds_api.c
  3. 0 7
      core/wma/inc/wma.h
  4. 0 63
      core/wma/src/wma_main.c

+ 5 - 2
Kbuild

@@ -941,8 +941,10 @@ endif
 
 ifeq ($(CONFIG_LITHIUM), y)
 ############ DP 3.0 ############
+DP_TARGET_INC_DIR := $(WLAN_COMMON_ROOT)/target_if/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_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_status.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)
 DP_OBJS += $(DP_SRC)/dp_tx_flow_control.o
 endif

+ 13 - 4
core/cds/src/cds_api.c

@@ -64,6 +64,11 @@
 #include <asm/dma-iommu.h>
 #include <linux/iommu.h>
 #endif
+
+#ifdef QCA_WIFI_QCA8074
+#include <target_if_dp.h>
+#endif
+
 /* 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;
 
+#ifdef QCA_WIFI_QCA8074
 static struct ol_if_ops  dp_ol_if_ops = {
-	.peer_set_default_routing = wma_peer_set_default_routing,
-	.peer_rx_reorder_queue_setup = wma_peer_rx_reorder_queue_setup,
-	.peer_rx_reorder_queue_remove = wma_peer_rx_reorder_queue_remove,
+	.peer_set_default_routing = target_if_peer_set_default_routing,
+	.peer_rx_reorder_queue_setup = target_if_peer_rx_reorder_queue_setup,
+	.peer_rx_reorder_queue_remove = target_if_peer_rx_reorder_queue_remove,
 	.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
     /* 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);
 

+ 0 - 7
core/wma/inc/wma.h

@@ -2290,13 +2290,6 @@ void wma_register_packetdump_callback(
 void wma_deregister_packetdump_callback(void);
 void wma_update_sta_inactivity_timeout(tp_wma_handle wma,
 		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

+ 0 - 63
core/wma/src/wma_main.c

@@ -8840,69 +8840,6 @@ int wma_lro_init(struct cdp_lro_hash_config *lro_config)
 }
 #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, &param);
-}
-
-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,
-		&param);
-}
-
-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,
-		&param);
-}
-
 QDF_STATUS wma_configure_smps_params(uint32_t vdev_id, uint32_t param_id,
 							uint32_t param_val)
 {