blob: 6e63d045e831ce6e350ca940d9e31b82e29c66e8 [file] [log] [blame]
Mukul Sharmad75a6672017-06-22 15:40:53 +05301/*
2 * Copyright (c) 2017 The Linux Foundation. All rights reserved.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18/**
19 * DOC: Target interface file for pmo component to
20 * Implement api's which shall be used by pmo component
21 * in target if internally.
22 */
23
24#include "target_if_pmo.h"
25#include "wlan_pmo_common_public_struct.h"
26
27void target_if_pmo_register_tx_ops(struct wlan_pmo_tx_ops *pmo_tx_ops)
28{
29 if (!pmo_tx_ops) {
30 target_if_err("pmo_tx_ops is null");
31 return;
32 }
33
34 pmo_tx_ops->send_arp_offload_req =
35 target_if_pmo_send_arp_offload_req;
36 pmo_tx_ops->send_conf_hw_filter_req =
37 target_if_pmo_conf_hw_filter;
38 pmo_tx_ops->send_ns_offload_req =
39 target_if_pmo_send_ns_offload_req;
40 pmo_tx_ops->send_enable_wow_wakeup_event_req =
41 target_if_pmo_enable_wow_wakeup_event;
42 pmo_tx_ops->send_disable_wow_wakeup_event_req =
43 target_if_pmo_disable_wow_wakeup_event;
44 pmo_tx_ops->send_add_wow_pattern =
45 target_if_pmo_send_wow_patterns_to_fw;
46 pmo_tx_ops->send_enhance_mc_offload_req =
47 target_if_pmo_send_enhance_mc_offload_req;
48 pmo_tx_ops->send_set_mc_filter_req =
49 target_if_pmo_set_mc_filter_req;
50 pmo_tx_ops->send_clear_mc_filter_req =
51 target_if_pmo_clear_mc_filter_req;
52 pmo_tx_ops->send_ra_filter_req =
53 target_if_pmo_send_ra_filter_req;
54 pmo_tx_ops->send_gtk_offload_req =
55 target_if_pmo_send_gtk_offload_req;
56 pmo_tx_ops->send_get_gtk_rsp_cmd =
57 target_if_pmo_send_gtk_response_req;
58 pmo_tx_ops->send_action_frame_pattern_req =
59 target_if_pmo_send_action_frame_patterns;
60 pmo_tx_ops->send_lphb_enable =
61 target_if_pmo_send_lphb_enable;
62 pmo_tx_ops->send_lphb_tcp_params =
63 target_if_pmo_send_lphb_tcp_params;
64 pmo_tx_ops->send_lphb_tcp_filter_req =
65 target_if_pmo_send_lphb_tcp_pkt_filter;
66 pmo_tx_ops->send_lphb_upd_params =
67 target_if_pmo_send_lphb_udp_params;
68 pmo_tx_ops->send_lphb_udp_filter_req =
69 target_if_pmo_send_lphb_udp_pkt_filter;
70 pmo_tx_ops->send_vdev_param_update_req =
71 target_if_pmo_send_vdev_update_param_req;
72 pmo_tx_ops->send_vdev_sta_ps_param_req =
73 target_if_pmo_send_vdev_ps_param_req;
74 pmo_tx_ops->psoc_update_wow_bus_suspend =
75 target_if_pmo_psoc_update_bus_suspend;
76 pmo_tx_ops->psoc_get_host_credits =
77 target_if_pmo_psoc_get_host_credits;
78 pmo_tx_ops->psoc_get_pending_cmnds =
79 target_if_pmo_psoc_get_pending_cmnds;
80 pmo_tx_ops->update_target_suspend_flag =
81 target_if_pmo_update_target_suspend_flag;
82 pmo_tx_ops->psoc_send_wow_enable_req =
83 target_if_pmo_psoc_send_wow_enable_req;
84 pmo_tx_ops->psoc_send_supend_req =
85 target_if_pmo_psoc_send_suspend_req;
86 pmo_tx_ops->psoc_set_runtime_pm_in_progress =
87 target_if_pmo_set_runtime_pm_in_progress;
88 pmo_tx_ops->psoc_get_runtime_pm_in_progress =
89 target_if_pmo_get_runtime_pm_in_progress;
90 pmo_tx_ops->psoc_send_host_wakeup_ind =
91 target_if_pmo_psoc_send_host_wakeup_ind;
92 pmo_tx_ops->psoc_send_target_resume_req =
93 target_if_pmo_psoc_send_target_resume_req;
94 pmo_tx_ops->send_set_pkt_filter =
95 target_if_pmo_send_pkt_filter_req;
96 pmo_tx_ops->send_clear_pkt_filter =
97 target_if_pmo_clear_pkt_filter_req;
98
99}
100