prima: WLAN Driver Release 3.1.7.9
This is the initial release of the Prima WLAN Driver
diff --git a/riva/inc/wlan_qct_dev_defs.h b/riva/inc/wlan_qct_dev_defs.h
new file mode 100644
index 0000000..c0e9ddb
--- /dev/null
+++ b/riva/inc/wlan_qct_dev_defs.h
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/**
+ *
+ * @file: wlan_qct_dev_defs.h
+ *
+ * @brief: This file contains the hardware related definitions.
+ *
+ * Copyright (C) 2008, Qualcomm, Inc. All rights reserved.
+ */
+
+#ifndef __WLAN_QCT_DEV_DEFS_H
+#define __WLAN_QCT_DEV_DEFS_H
+
+
+/* --------------------------------------------------------------------
+ * HW definitions for WLAN Chip
+ * --------------------------------------------------------------------
+ */
+
+/*In prima 12 HW stations are supported including BCAST STA(staId 0)
+ and SELF STA(staId 1) so total ASSOC stations which can connect to Prima
+ SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */
+
+#define HAL_NUM_STA 12
+#define HAL_NUM_BSSID 2
+#define HAL_NUM_UMA_DESC_ENTRIES 12
+
+#define HAL_INVALID_BSSIDX HAL_NUM_BSSID
+
+#define MAX_NUM_OF_BACKOFFS 8
+#define HAL_MAX_ASSOC_ID HAL_NUM_STA
+
+#define WLANHAL_TX_BD_HEADER_SIZE 40 //FIXME_PRIMA - Revisit
+#define WLANHAL_RX_BD_HEADER_SIZE 76
+
+/*
+ * From NOVA Mac Arch document
+ * Encryp. mode The encryption mode
+ * 000: Encryption functionality is not enabled
+ * 001: Encryption is set to WEP
+ * 010: Encryption is set to WEP 104
+ * 011: Encryption is set to TKIP
+ * 100: Encryption is set to AES
+ * 101 - 111: Reserved for future
+ */
+
+#define HAL_ENC_POLICY_NULL 0
+#define HAL_ENC_POLICY_WEP40 1
+#define HAL_ENC_POLICY_WEP104 2
+#define HAL_ENC_POLICY_TKIP 3
+#define HAL_ENC_POLICY_AES_CCM 4
+
+/* --------------------------------------------------------------------- */
+/* BMU */
+/* --------------------------------------------------------------------- */
+
+/*
+ * BMU WQ assignment, as per Prima Programmer's Guide - FIXME_PRIMA: Revisit
+ *
+ */
+
+typedef enum sBmuWqId {
+
+ /* ====== In use WQs ====== */
+
+ /* BMU */
+ BMUWQ_BMU_IDLE_BD = 0,
+ BMUWQ_BMU_IDLE_PDU = 1,
+
+ /* RxP */
+ BMUWQ_RXP_UNKNWON_ADDR = 2, /* currently unhandled by HAL */
+
+ /* DPU RX */
+ BMUWQ_DPU_RX = 3,
+
+ /* DPU TX */
+ BMUWQ_DPU_TX = 6,
+
+ /* Firmware */
+ BMUWQ_FW_TRANSMIT = 12, /* DPU Tx->FW Tx */
+ BMUWQ_FW_RECV = 7, /* DPU Rx->FW Rx */
+
+ BMUWQ_FW_RPE_RECV = 16, /* RXP/RPE Rx->FW Rx */
+ FW_SCO_WQ = BMUWQ_FW_RPE_RECV,
+
+ /* DPU Error */
+ BMUWQ_DPU_ERROR_WQ = 8,
+
+ /* DXE RX */
+ BMUWQ_DXE_RX = 11,
+
+ BMUWQ_DXE_RX_HI = 4,
+
+ /* ADU/UMA */
+ BMUWQ_ADU_UMA_TX = 23,
+ BMUWQ_ADU_UMA_RX = 24,
+
+ /* BMU BTQM */
+ BMUWQ_BTQM = 25,
+
+ /* Special WQ for BMU to dropping all frames coming to this WQ ID */
+ BMUWQ_SINK = 255,
+
+ /* Total BMU WQ count in Volans */
+ BMUWQ_NUM = 27,
+
+ //Volans has excluded support for WQs 17 through 22.
+ BMUWQ_NOT_SUPPORTED_MASK = 0x7e0000,
+
+ /* Aliases */
+ BMUWQ_BTQM_TX_MGMT = BMUWQ_BTQM,
+ BMUWQ_BTQM_TX_DATA = BMUWQ_BTQM,
+ BMUWQ_BMU_WQ2 = BMUWQ_RXP_UNKNWON_ADDR,
+ BMUWQ_FW_DPU_TX = 5,
+
+ //WQ where all the frames with addr1/addr2/addr3 with value 254/255 go to.
+ BMUWQ_FW_RECV_EXCEPTION = 14, //using BMUWQ_FW_MESSAGE WQ for this purpose.
+
+ //WQ where all frames with unknown Addr2 filter exception cases frames will pushed if FW wants host to
+ //send deauth to the sender.
+ BMUWQ_HOST_RX_UNKNOWN_ADDR2_FRAMES = 15, //using BMUWQ_FW_DXECH2_0 for this purpose.
+
+ /* ====== Unused/Reserved WQ ====== */
+
+ /* ADU/UMA Error WQ */
+ BMUWQ_ADU_UMA_TX_ERROR_WQ = 13, /* Not in use by HAL */
+ BMUWQ_ADU_UMA_RX_ERROR_WQ = 10, /* Not in use by HAL */
+
+ /* DPU Error WQ2 */
+ BMUWQ_DPU_ERROR_WQ2 = 9, /* Not in use by HAL */
+
+ /* FW WQs */
+ //This WQ is being used for RXP to push in frames in exception cases ( addr1/add2/addr3 254/255)
+ //BMUWQ_FW_MESG = 14, /* DxE Tx->FW, Not in use by FW */
+ //BMUWQ_FW_DXECH2_0 = 15, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */
+ BMUWQ_FW_DXECH2_1 = 16, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */
+
+/* These WQs are not supported in Volans
+ BMUWQ_BMU_WQ17 = 17,
+ BMUWQ_BMU_WQ18 = 18,
+ BMUWQ_BMU_WQ19 = 19,
+ BMUWQ_BMU_WQ20 = 20,
+ BMUWQ_BMU_WQ21 = 21,
+ BMUWQ_BMU_WQ22 = 22
+*/
+} tBmuWqId;
+
+typedef enum
+{
+ BTQM_QID0 = 0,
+ BTQM_QID1,
+ BTQM_QID2,
+ BTQM_QID3,
+ BTQM_QID4,
+ BTQM_QID5,
+ BTQM_QID6,
+ BTQM_QID7,
+ BTQM_QID8,
+ BTQM_QID9,
+ BTQM_QID10,
+
+ BTQM_QUEUE_TX_TID_0 = BTQM_QID0,
+ BTQM_QUEUE_TX_TID_1,
+ BTQM_QUEUE_TX_TID_2,
+ BTQM_QUEUE_TX_TID_3,
+ BTQM_QUEUE_TX_TID_4,
+ BTQM_QUEUE_TX_TID_5,
+ BTQM_QUEUE_TX_TID_6,
+ BTQM_QUEUE_TX_TID_7,
+
+
+ /* Queue Id <-> BO
+ */
+ BTQM_QUEUE_TX_nQOS = BTQM_QID8,
+ BTQM_QUEUE_SELF_STA_BCAST_MGMT = BTQM_QID10,
+ BTQM_QUEUE_SELF_STA_UCAST_MGMT = BTQM_QID9,
+ BTQM_QUEUE_SELF_STA_UCAST_DATA = BTQM_QID9,
+ BTQM_QUEUE_NULL_FRAME = BTQM_QID9,
+ BTQM_QUEUE_SELF_STA_PROBE_RSP = BTQM_QID9,
+ BTQM_QUEUE_TX_AC_BE = BTQM_QUEUE_TX_TID_0,
+ BTQM_QUEUE_TX_AC_BK = BTQM_QUEUE_TX_TID_2,
+ BTQM_QUEUE_TX_AC_VI = BTQM_QUEUE_TX_TID_4,
+ BTQM_QUEUE_TX_AC_VO = BTQM_QUEUE_TX_TID_6
+}tBtqmQId;
+
+#define STACFG_MAX_TC 8
+
+/* --------------------------------------------------------------------- */
+/* BD type*/
+/* --------------------------------------------------------------------- */
+#define HWBD_TYPE_GENERIC 0 /* generic BD format */
+#define HWBD_TYPE_FRAG 1 /* fragmentation BD format*/
+
+#endif /* __WLAN_QCT_DEV_DEFS_H */