qcacmn: Action frame random mac addr tx support

1. Send add random mac addr rx filter WMI command
to target
2. Add/Del the active random mac addr entry
3. Clear random mac addr from target if not active

Change-Id: I9dcbdc20b76d9865da7a8db6ee013bf5e44e4407
CRs-Fixed: 2322097
diff --git a/wmi_unified_p2p_api.h b/wmi_unified_p2p_api.h
index bfca908..3a57158 100644
--- a/wmi_unified_p2p_api.h
+++ b/wmi_unified_p2p_api.h
@@ -56,6 +56,29 @@
 					void *evt_buf,
 					struct p2p_noa_info *param);
 
+/**
+ * wmi_send_set_mac_addr_rx_filter_cmd() - set mac addr rx filter cmd
+ * @wmi_hdl: wmi handle
+ * @param: Pointer to set mac filter struct
+ *
+ * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
+ */
+QDF_STATUS
+wmi_send_set_mac_addr_rx_filter_cmd(void *wmi_hdl,
+				    struct p2p_set_mac_filter *param);
+
+/**
+ * wmi_extract_mac_addr_rx_filter_evt_param() - extract mac addr rx filter evt
+ * @wmi_hdl: wmi handle
+ * @evt_buf: pointer to event buffer
+ * @param: Pointer to extracted evt info
+ *
+ * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
+ */
+QDF_STATUS
+wmi_extract_mac_addr_rx_filter_evt_param(void *wmi_hdl, void *evt_buf,
+					 struct p2p_set_mac_filter_evt *param);
+
 #ifdef FEATURE_P2P_LISTEN_OFFLOAD
 /**
  * wmi_unified_p2p_lo_start_cmd() - send p2p lo start request to fw
diff --git a/wmi_unified_param.h b/wmi_unified_param.h
index baf6399..aa49e25 100644
--- a/wmi_unified_param.h
+++ b/wmi_unified_param.h
@@ -4622,6 +4622,7 @@
 	wmi_p2p_disc_event_id,
 	wmi_p2p_noa_event_id,
 	wmi_p2p_lo_stop_event_id,
+	wmi_vdev_add_macaddr_rx_filter_event_id,
 	wmi_pdev_resume_event_id,
 	wmi_d0_wow_disable_ack_event_id,
 	wmi_wow_initial_wakeup_event_id,
diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h
index 16c07c9..ef16617 100644
--- a/wmi_unified_priv.h
+++ b/wmi_unified_priv.h
@@ -1439,6 +1439,13 @@
 
 QDF_STATUS (*extract_p2p_noa_ev_param)(wmi_unified_t wmi_handle,
 	void *evt_buf, struct p2p_noa_info *param);
+
+QDF_STATUS (*set_mac_addr_rx_filter)(wmi_unified_t wmi_handle,
+				     struct p2p_set_mac_filter *param);
+QDF_STATUS
+(*extract_mac_addr_rx_filter_evt_param)(wmi_unified_t wmi_handle,
+					void *evt_buf,
+					struct p2p_set_mac_filter_evt *param);
 #endif
 
 QDF_STATUS (*extract_peer_sta_ps_statechange_ev)(wmi_unified_t wmi_handle,