blob: a2a757112c449ccc9bf29b1243eb3f258f000b84 [file] [log] [blame]
Nachiket Kukade98f562a2017-12-15 12:18:07 +05301/*
2 * Copyright (c) 2018 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: Declare various api/struct which shall be used
20 * by disa component for wmi cmd (tx path) and
21 * event (rx) handling.
22 */
23
24#ifndef _TARGET_IF_DISA_H_
25#define _TARGET_IF_DISA_H_
26
27#include "target_if.h"
28#include <wmi_unified_api.h>
29#include <wmi_unified_priv.h>
30#include <wmi_unified_param.h>
31#include "wlan_disa_tgt_api.h"
32#include "wlan_disa_obj_mgmt_public_struct.h"
33
34/**
35 * target_if_disa_encrypt_decrypt_req() - Send encrypt/decrypt request to
36 * target.
37 * @psoc: objmgr psoc handle
38 * @req: Encrypt/decrypt request params
39 *
40 * Return: QDF status
41 */
42QDF_STATUS target_if_disa_encrypt_decrypt_req(struct wlan_objmgr_psoc *psoc,
43 struct disa_encrypt_decrypt_req_params *req);
44
45/**
46 * target_if_encrypt_decrypt_event_handler() - Collect encrypt/decrypt request
47 * event from the target and pass on the data to tgt api of DISA.
48 * @scn_handle: target handle
49 * @data: event data
50 * @data_len: data length
51 *
52 * Return: QDF status
53 */
54int target_if_encrypt_decrypt_event_handler(ol_scn_t scn_handle, uint8_t *data,
55 uint32_t data_len);
56
57/**
58 * target_if_disa_register_tx_ops() - Register DISA component TX OPS
59 * @tx_ops: DISA if transmit ops
60 *
61 * Return: None
62 */
63void target_if_disa_register_tx_ops(struct wlan_disa_tx_ops *tx_ops);
64
65/**
66 * target_if_disa_register_ev_handler() - Register disa event handlers.
67 * @psoc:objmgr psoc handle
68 *
69 * Return: QDF status
70 */
71QDF_STATUS
72target_if_disa_register_ev_handlers(struct wlan_objmgr_psoc *psoc);
73
74/**
75 * target_if_disa_register_ev_handler() - Unregister disa event handlers.
76 * @psoc:objmgr psoc handle
77 *
78 * Return: QDF status
79 */
80QDF_STATUS
81target_if_disa_unregister_ev_handlers(struct wlan_objmgr_psoc *psoc);
82#endif
83