blob: a3d176513b212261541035c00fdc9fd2afb8c8ac [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
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 ------------------------------------------------------------------------- *
24
25
26 \file pttFrameGen.h
27
28 \brief Definitions for PTT frame generation
29
30 $Id$
31
32 Copyright (C) 2006 Airgo Networks, Incorporated
33
34
35 ========================================================================== */
36
37#ifndef PTTFRAMEGEN_H
38#define PTTFRAMEGEN_H
39
40
41//#define MAX_PKT_GEN_BUF_ENTRY (HAL_HIF_MAX_TX_RING_ENTRY >> 1)
42
43
44
45#define MAX_PAYLOAD_SIZE 2400
46#define MAX_TX_PAYLOAD_SIZE 4096
47
48typedef enum {
49 TEST_PAYLOAD_NONE,
50 TEST_PAYLOAD_FILL_BYTE,
51 TEST_PAYLOAD_RANDOM,
52 TEST_PAYLOAD_RAMP,
53 TEST_PAYLOAD_TEMPLATE,
54 TEST_PAYLOAD_MAX = 0X3FFFFFFF, //dummy value to set enum to 4 bytes
55} ePayloadContents;
56
57
58#define MAC_ADDR_SIZE ( 6 )
59
60typedef PACKED_PRE struct PACKED_POST {
61 tANI_U32 numTestPackets;
62 tANI_U32 interFrameSpace;
63 eHalPhyRates rate;
64 ePayloadContents payloadContents;
65 tANI_U16 payloadLength;
66 tANI_U8 payloadFillByte;
67 tANI_BOOLEAN pktAutoSeqNum; //seq num setting (hw or not) for packet gen
68
69 tANI_U8 addr1[MAC_ADDR_SIZE];
70 tANI_U8 addr2[MAC_ADDR_SIZE];
71 tANI_U8 addr3[MAC_ADDR_SIZE];
72 tANI_U8 tx_mode;
73 tANI_BOOLEAN crc; //0 = no FCS calculated = power detector works = receive won't work?,
74 //1 = crc calculated = receive works, but power detector workaround doesn't
75
76 ePhyDbgPreamble preamble;
77} sPttFrameGenParams;
78
79
80typedef PACKED_PRE struct PACKED_POST {
81 tANI_U32 legacy; //11g OFDM preamble
82 tANI_U32 gfSimo20; //greenfield preamble
Jeff Johnson295189b2012-06-20 16:38:30 -070083 tANI_U32 mmSimo20; //mixed mode preamble
Jeff Johnson43971f52012-07-17 12:26:56 -070084 tANI_U32 gfSimo40; //greenfield preamble
85 tANI_U32 mmSimo40; //mixed mode preamble
86 tANI_U32 txbShort; //11b short
87 tANI_U32 txbLong; //11b long
88 tANI_U32 acSimo204080; //11ac SIMO 20,40,80
Jeff Johnson295189b2012-06-20 16:38:30 -070089 tANI_U32 total;
90} sTxFrameCounters;
91
92#endif