blob: f3c20be4f05bcfad500fbc52535800ed525d95ab [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28/*
29 * LMAC offload interface functions for WMI TLV Interface
30 */
31
32#include "ol_if_athvar.h"
33#include <cdf_memory.h> /* cdf_mem_malloc,free, etc. */
34#include <osdep.h>
35#include "htc_api.h"
36#include "wmi.h"
37#include "wma.h"
38
39/* QCA Main host has dynamic memory allocation and should not define NO_DYNAMIC_MEM_ALLOC */
40/* #define NO_DYNAMIC_MEM_ALLOC */
41
42/* Following macro definitions use OS or platform specific functions */
43/* Following macro definitions use QCA MAIN windows host driver(applicable for Perigrene and its future platforms,
44 Pronto and its future platforms) specific APIs */
45#define dummy_print(fmt, ...) {}
46#define wmi_tlv_print_verbose dummy_print
47#define wmi_tlv_print_error cdf_print
48#define wmi_tlv_OS_MEMCPY OS_MEMCPY
49#define wmi_tlv_OS_MEMZERO OS_MEMZERO
50#define wmi_tlv_OS_MEMMOVE OS_MEMMOVE
51
52#ifndef NO_DYNAMIC_MEM_ALLOC
53#define wmi_tlv_os_mem_alloc(scn, ptr, numBytes) \
54 { \
55 (ptr) = os_malloc(NULL, (numBytes), GFP_ATOMIC); \
56 }
57#define wmi_tlv_os_mem_free cdf_mem_free
58#endif