瀏覽代碼

qcacmn: Cache ARP/NS offload request at wma layer

qcacld-2.0 to qcacmn propagation

As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).

Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1067683
Mukul Sharma 8 年之前
父節點
當前提交
ac755cd673
共有 3 個文件被更改,包括 18 次插入3 次删除
  1. 3 1
      wmi_unified_api.h
  2. 3 1
      wmi_unified_priv.h
  3. 12 1
      wmi_unified_tlv.h

+ 3 - 1
wmi_unified_api.h

@@ -796,7 +796,9 @@ QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd(void *wmi_hdl,
 		struct wmi_dual_mac_config *msg);
 
 QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd(void *wmi_hdl,
-			   struct host_offload_req_param *param, bool arp_only,
+			   struct host_offload_req_param *arp_offload_req,
+			   struct host_offload_req_param *ns_offload_req,
+			   bool arp_only,
 			   uint8_t vdev_id);
 
 QDF_STATUS wmi_unified_set_led_flashing_cmd(void *wmi_hdl,

+ 3 - 1
wmi_unified_priv.h

@@ -660,7 +660,9 @@ QDF_STATUS (*send_pdev_set_dual_mac_config_cmd)(wmi_unified_t wmi_handle,
 		struct wmi_dual_mac_config *msg);
 
 QDF_STATUS (*send_enable_arp_ns_offload_cmd)(wmi_unified_t wmi_handle,
-			   struct host_offload_req_param *param, bool arp_only,
+			   struct host_offload_req_param *arp_offload_req,
+			   struct host_offload_req_param *ns_offload_req,
+			   bool arp_only,
 			   uint8_t vdev_id);
 
 QDF_STATUS (*send_set_led_flashing_cmd)(wmi_unified_t wmi_handle,

+ 12 - 1
wmi_unified_tlv.h

@@ -511,8 +511,19 @@ QDF_STATUS send_pdev_set_hw_mode_cmd_tlv(wmi_unified_t wmi_handle,
 QDF_STATUS send_soc_set_dual_mac_config_cmd_tlv(wmi_unified_t wmi_handle,
 		struct wmi_dual_mac_config *msg);
 
+static void fill_arp_offload_params_tlv(wmi_unified_t wmi_handle,
+		struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
+static void fill_ns_offload_params_tlv(wmi_unified_t wmi_handle,
+		struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
+static void fill_nsoffload_ext_tlv(wmi_unified_t wmi_handle,
+		struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
 QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
-			   struct host_offload_req_param *param, bool arp_only,
+			   struct host_offload_req_param *arp_offload_req,
+			   struct host_offload_req_param *ns_offload_req,
+			   bool arp_only,
 			   uint8_t vdev_id);
 
 QDF_STATUS send_set_led_flashing_cmd_tlv(wmi_unified_t wmi_handle,